I have a strange problem with my 3D engine when I use a simple ligthing vertex program to render a cube. The function glDrawRangeElements() generate an OpenGL error the first time is called but the next calls will not generate error…and then I see what I expected.
Any idea ?
Moreover when I cgGet the parameters of my bound program, I find uniform parameters with strange name ($C_17$…). This problem occurs since I have changed my graphics card
David
NB: Unfortunately I have a GeForce Fx 5200 with the last 43.03 driver working on windows XP
Moreover when I cgGet the parameters of my bound program, I find uniform parameters with strange name (C_17…). This problem occurs since I have changed my graphics card
[/b]
The program that I use is the cg_simple lighting program and the unexpected parameters are contant called C_9 and C_10.
You don’t give enough information about the error. In fact, from what information you give us, it seems much more likely that you have a problem in your own code (such as with EnableClientState or similar state management) than it being a driver problem.
Perhaps the error you get is from something you do earlier in the program.
Sprinkle assert(!glGetError()) (or something to that effect) liberally around your code; at a minimum, before the return of each function that calls OpenGL. This will let you track down what’s going wrong as early as possible.
Originally posted by jwatte: Sprinkle assert(!glGetError()) (or something to that effect) liberally around your code; at a minimum, before the return of each function that calls OpenGL. This will let you track down what’s going wrong as early as possible.
It is what I do.
My probleme was that when the first time I create the program, I load It but I didn’t bind it (I forgot it ). The next times I only bind the program ! That is why the first time I did glDrawRangeElement(), it generated an OpenGL error ! MEACULPA !
Nevertheless my second problem on unexpected parameter (named “C_7”, “$C_9”, etc…) still happening !
Any idea on this last (drive) problem ?