diff --git a/src/graphics/render.nim b/src/graphics/render.nim
index bbc7110..10137e6 100644
--- a/src/graphics/render.nim
+++ b/src/graphics/render.nim
@@ -84,17 +84,7 @@ func newRenderCameraData*(world_matrix, proj_matrix: Mat4, cull_planes: array[6,
     result.viewport_size_inv = 1'f32/viewport_size
 
 func updateCullPlanes*(self: var RenderCameraData, cull_planes: array[6, Vec4]) =
-    # TODO: check if this works just by multiplying the planes w matrix
-    var p4 = vec4()
-    var n4 = vec4()
-    for i, plane in cull_planes:
-        n4 = plane
-        n4.w = 0
-        p4 = n4 * -plane.w
-        p4.w = 1
-        p4 = self.cam2world * p4
-        n4 = self.cam2world * n4
-        self.cull_planes[i] = plane_from_norm_point(n4.xyz, p4.xyz)
+    self.cull_planes = (self.projection_matrix * self.world2cam).get_culling_planes()
 
 proc newRenderManager*(engine: MyouEngine): RenderManager =
     result = new RenderManager