I'm trying to subdivide a quad (2 triangles) multiple times.
I send it to the geometry as triangleadj and ouput 8 triangles from that.
However, I want to subdivide multiple times and someone told me I can send the geometry output back to the vertex shader and run the geometry shader again on that new geometry. He couldn't tell me how though.
Does anyone have any experience, or tips about this? I'm using DirectX10, so I cannot use tesselation instead.
You can stream out geometry shader output to vertex buffer. Then you can re-render it using same shader (and again stream out the result), etc. unless u have enough tessellated geometry.
The other way is to write multiple-times tessellation directly in geometry shader (also possible! though it's still a lot slower than using DirectX 11 tessellation or GL_ARB_tessellation_shader in OpenGL 4 and higher.
Note, that second way might be faster than first one .
Thanks, How exactly do you stream out back to the vertex buffer?
Tottel, see the MSDN docs for the details of how to set it up.