I’m working on porting my GPU particle systems from FBOs to transform feedback.
The “Transform Feedback Fractal” here seems to work correctly. I’m trying to get my code working with EXT_transform_feedback instead of NV_transform_feedback, and with GLee instead of GLew.
I found this thread, which seems to use GLew and EXT_transform_feedback. I tried porting it to use GLee. One of the differences, it seems, is that glTransformFeedbackVaryingsEXT takes a GLint* of locations instead of a GLchar** of names to variables. My rendition: http://pastebin.com/KTQyV2pZ. The output:
Beginning to test EXT_TRANSFORM_FEEDBACK Initialization complete (current error: 0) Loading shader Compile vertex: "" Link result: "" Shader loaded (current error: 0) Trying to get location of "gl_Position" Got location 0 (current error: 0) Preparing buffer Buffer prepared (current error: 0) Feedback assigned (current error: 0) Beginning drawing In data: 0.1 0.2 0.3 0.4 Drawing completed (current error: 0) Reading (hopefully transformed) data Out data: -0.0 -0.0 -0.0 -0.0 Readback complete (current error: 0)
It seems that if I specify the location of init (as in the GLew example), instead of NULL, then the out data is just init again. This tells me that transform feedback isn’t changing anything in the VBO!