Closed snoury closed 8 years ago
It seems like gl-validate-program should just be delayed until the program is about to be executed (though only the first time). I'll take a look at it.
you video/graphic card is not support the feature you used in OpenGL,you can switch to a graphic card that supports the feature you use in system settings,or change a graphic card to support it,hope to be helpful.
The create-program method calls gl-validate-program after shader compilation but fails when a shader is defined with samplers of different types because no texture units have been assigned to them before validation (in src/penumbra/opengl/shader.clj, line 183).
According to the OpenGL documentation for glValidateProgram, this is considered as an error:
The behavior of glValidateProgram seems to be varying between OS and driver vendors. It doesn't report any errors using Nvidia's driver for Linux but fails with Apple's Mac OS X driver:
An optional list of textures could be passed when calling create-program in order to bind them just before the validation, in the same fashion as the uniform method.