...to go along with the commits, here's a test patch and a glsl vert/ frag combo that I've been using to see if everything works: the shader is the toon shader (again!?!) from the orange book, with a coupla changes: I changed most of the uniform variables to const's, because I haven't done a vec3 uniform changer, and since uniform variables are always zeroed by the glsl linkage, even though the shader might be working, ya wouldn't likely see any output ;-\
...does it work elsewhere? ;-)
jamie
james tittle wrote:
...to go along with the commits, here's a test patch and a glsl vert/ frag combo that I've been using to see if everything works: the shader is the toon shader (again!?!) from the orange book, with a coupla changes: I changed most of the uniform variables to const's, because I haven't done a vec3 uniform changer, and since uniform variables are always zeroed by the glsl linkage, even though the shader might be working, ya wouldn't likely see any output ;-\
...does it work elsewhere? ;-)
super, after my changes (already committed to the CVS) it seems to work (on linux)!! please check back what i broke.
apart from some typos and missing initilization, there was only one thing that was really bad:
m_shaderObj[] is declared as an array of "GLhandleARB*"-objects. however, on linux it needs to be of type "GLhandleARB" (glAttachObjectARB() and glDeleteObjectARB() need GLhandleARB instead of GLhandleARB*!)
for now, i have changed the definition for non __APPLE__ platforms.
a similar thing (which we discussed recently here), was the actual type of GLhandleARB. quoting the gl2.0 specs:
<glspec20> [...] I.1.4 Changes To Shader APIs Small changes to the APIs for managing shader and program objects were made in the process of promoting the shader extensions to the OpenGL 2.0 core. These changes do not affect the functionality of the shader APIs, but include use of the existing uint core GL type rather than the new handleARB type introduced by the extensions, and changes in some function names, for example mapping the extension function CreateShaderObjectARB into the core function CreateShader. [...] </glspec20>
so i guess once proper OpenGL-2.0 headers are available for all platforms, this will be automatically sorted out.
mfg.ads.r IOhannes