Skip to content

Commit 5330f46

Browse files
[Misc] Misc changes;
1 parent 318d028 commit 5330f46

File tree

3 files changed

+17
-4
lines changed

3 files changed

+17
-4
lines changed

Engine/Staple.Core/Entities/ComponentVersionTracker.cs

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -41,4 +41,9 @@ public bool ShouldUpdateComponent(Entity entity, in T component)
4141

4242
return false;
4343
}
44+
45+
public void Clear()
46+
{
47+
Array.Clear(versions);
48+
}
4449
}

Engine/Staple.Core/Rendering/Camera/Camera.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -80,7 +80,7 @@ public sealed class Camera : IComponent
8080
/// <summary>
8181
/// The frustum culler for this camera
8282
/// </summary>
83-
private readonly FrustumCuller frustumCuller = new();
83+
internal readonly FrustumCuller frustumCuller = new();
8484

8585
/// <summary>
8686
/// Gets the camera's frustum corners

Engine/Staple.Core/Rendering/RenderSystem/RenderSystem.cs

Lines changed: 11 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -152,7 +152,7 @@ public static void Render(RenderTarget target, CameraClearMode clearMode, Color
152152
/// <param name="cameraTransform">The camera's transform</param>
153153
/// <param name="queue">The render queue for this camera</param>
154154
/// <param name="cull">Whether to cull invisible elements</param>
155-
public static void RenderStandard(Entity cameraEntity, Camera camera, Transform cameraTransform,
155+
public void RenderStandard(Entity cameraEntity, Camera camera, Transform cameraTransform,
156156
List<(RenderSystemInfo, List<RenderEntry>)> queue, bool cull)
157157
{
158158
CurrentCamera = (camera, cameraTransform);
@@ -258,6 +258,16 @@ public void RenderEntity(Entity cameraEntity, Camera camera, Transform cameraTra
258258

259259
void Handle(Entity e, Transform t)
260260
{
261+
if(!camera.cullingLayers.HasLayer(e.Layer))
262+
{
263+
foreach (var child in t.Children)
264+
{
265+
Handle(child.Entity, child);
266+
}
267+
268+
return;
269+
}
270+
261271
foreach (var systemInfo in systems)
262272
{
263273
if (systemInfo.system.UsesOwnRenderProcess)
@@ -308,8 +318,6 @@ void Handle(Entity e, Transform t)
308318

309319
Handle(entity, entityTransform);
310320

311-
PrepareCamera(cameraEntity, camera, cameraTransform);
312-
313321
foreach (var pair in systemQueues)
314322
{
315323
pair.Key.system.Process(CollectionsMarshal.AsSpan(pair.Value), camera, cameraTransform);

0 commit comments

Comments
 (0)