4 ms·
I've been fooling around with Go bindings to GL and also want to do something similar. I still find it kind of uncomfortable that I'm copy-pasting variable nam
by heavenlyhash 11y ago
I've been fooling around with Go bindings to GL and also want to do something similar.
I still find it kind of uncomfortable that I'm copy-pasting variable names as strings between (the middle of!) the shader code string and the use sites (e.g. `setUniform` calls) -- I'd like it if I got some sort of quick compile time sanity check that those references match up. Had you considered going that far, and if so, what were your thoughts?
- Aeolos 11y agoNot parent, but I wrote a shader introspector to reduce the pain of uniform mismatches as a (small) part of my master thesis. My advice would be: don't do this. If you can afford to support OpenGL 3.1+, use uniform buffer objects with the std140 layout instead. That way, you can create a strongly-typed struct in your code and access it normally on the CPU side. Uploading to the shader then is done with a single *BufferData call. See [1] for more information. [1] https://www.opengl.org/wiki/Uniform_Buffer_Object https://www.opengl.org/wiki/Uniform_Buffer_Object