Thanks a lot, ill look into this. I draw the same way, just using drawElements. Im not enough of a GL 3D guru to know if there is a huge difference perf wise. If I want to draw with glDrawArrays, can I have a texture array in a VBO that is smaller than the number of verts I need?
If you draw using indexes as VBOs as well, you can have smaller arrays (the index arrays all need to be the same length, but the actual vertex/normal/texture data can be smaller) - I've seen demos of this, but never actually used it myself. If you're not using indexes, they all still need to be the same length (kineme3d does this). Performance-wise, I think drawElements is faster, with indexed vbos being next (and drawArrays without indexes coming in last), but I've not profiled it to know for sure. Each comes with its own pros and cons.
I may be forcing a disable of client state for the vertex/texture and normal array which may be the issue when re-drawing. Hrm. Fucking OpenGL!
If your drawing enables it right before drawing, and disables right after, it should be "ok" (where ok = "it works for kineme3d") -- remember that when it's redrawing it has to call the entire execute function, so from the plugin's point of view it's just getting asked to draw a bazillion times per frame, instead of the customary once (or a few when inside an iterator).
Perhaps you should work on refining you "In experimenting with the new 10.6 lighting patch I've noticed that the shadow option ... "does weird stuff" to my consumer rendering" statement -- what does "weird stuff" look like/how does it behave? If it's simply a matter of GLSL displacement getting disabled, it can look quite weird, and not actually involve GL state corruption.
I wish there was a global glPushALLFUCKINGSTATETHINGSSOICANLEAVETHEENGINEHOWITWASWHENIPOP()and a glPopALLFUCKINGSTATENOWGODDAMNIT.
these can be made as simple inlines. it's inconvenient, but it only has to happen once (yay code reuse!). And if you're seriously going for performance, you _don't_ want to go saving/restoring state that you're not actually changing. Each state change can lead to the driving needing to recompile shaders, so superfluous state swizzles = sucks-for-performance :)
-- [ christopher wright ] [email protected] http://kineme.net/
smime.p7s
Description: S/MIME cryptographic signature
_______________________________________________ Do not post admin requests to the list. They will be ignored. Quartzcomposer-dev mailing list ([email protected]) Help/Unsubscribe/Update your Subscription: http://lists.apple.com/mailman/options/quartzcomposer-dev/archive%40mail-archive.com This email sent to [email protected]

