tottel at June 8th, 2012 07:02 — #1
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.
vilem_otte at June 8th, 2012 07:58 — #2
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 .
tottel at June 8th, 2012 08:00 — #3
Thanks, How exactly do you stream out back to the vertex buffer?
reedbeta at June 8th, 2012 12:25 — #4
Tottel, see the MSDN docs for the details of how to set it up.