|
|
|
|
|
by heavenlyhash
3813 days 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? |
|
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