Face Culling considerations on renderer.info.render.faces

Hello everyone,

I was wondering, if face culling avoids the rendering of faces that are facing backside of a mesh (or occluded by by some faces near to the camera).

If this case is true, it will be highly desirable to see how many faces have been actually rendered form any given camera position through renderer.info.render.faces. This can be very handy for optimization.

I keep looking at renderer.info.render.faces to see if the changes are being updated, but it never updates.

Is it a write question to ask? Any suggestion or help will be highly appreciable.

Yes, the default in three.js is back-face culling. So the GPU will not need to rasterize back-facing triangles. You can influence which side of faces is rendered with the material property side.

The renderer.info object provides statistical information about how many data were processed during a render call on the CPU side.

AFAIK, it’s not possible to provide any information about rendering details on the GPU side. So how many faces are effectively culled each draw call is something that you can’t query from WebGL.

It updates if you change the amount or complexity of geometries in your scene.


Hi @Mugen87,

Thanks for the clarification. It was really helpful.
Still I would prefer to find out how much face culling I would achieve from all possible angle to optimize my scene. If I try to manually calculate the total number for back face before each render, will it be considered as proper approach? I certainly don’t want to press much thrust for each draw call.

The good thing is my scene is static. I don’t have to worry about update.

TBH, I’ve never seen that somebody is actually doing this :innocent: