In the discussion Here there was said, that discarding faces during Tessellation stage should be avoided. What are the reasons for that?
Right now, I am rendering a 3D geometry using Vertex, Tessellation and Fragment shader. Some of the faces should be and some should not be rendered, changing from frame to frame.
My Tessellation Evaluation shader is quite complex and a big performance drop when all faces are calculated. So my idea was to discard faces before executing the Tessellation Evaluation stage by setting gl_TessLevelOuter
and gl_TessLevelInner
values to zero. This works very well and my performance seems to be good.
Sure, it is easy to discard fragments during Fragment shader stage but then, the performance dropping calculations are done.