as the question suggests I have to identify all the faces that are visible from the camera's view and do some processing with them. I have a single mesh.

I am thinking of giving individual faces a different colour and do a blind render. This will enable me to read the FBO. Then I have to traverse all the pixel and find the unique faces by their colour.

Are there any faster way?

  • $\begingroup$ for simple convex objects the normal vector can be used to determine visibility, just dot it with the forward vector from the view matrix $\endgroup$
    – pmw1234
    May 29, 2021 at 20:43
  • $\begingroup$ actually the above trick will give you every triangle facing the camera but triangles that are completely occluded by other triangles will also be in the list. $\endgroup$
    – pmw1234
    May 31, 2021 at 10:51
  • $\begingroup$ I am dealing with non convex objects $\endgroup$ May 31, 2021 at 16:07
  • $\begingroup$ This works with any object convex or not, what it won't do is give you occlusion information, so if 1 triangle completely occludes another, both will still be in the list. I should not have put convex in there. It would even work with scenes. $\endgroup$
    – pmw1234
    May 31, 2021 at 16:12
  • $\begingroup$ Oh right! I need to exclude the triangles that are occluded by other triangles. $\endgroup$ May 31, 2021 at 16:21


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Browse other questions tagged or ask your own question.