Re: [PyOpenGL-Users] glGetUniformfv
Brought to you by:
mcfletch
From: Mike C. F. <mcf...@vr...> - 2010-06-07 15:27:17
|
On 10-06-06 12:26 PM, Gijs wrote: > Glad we cleared that up :) > > Anyway, I tried it out, but I couldn't get it to work either. > glGetUniformfv seemed to be defined as glGetUniformfv(programloc, > varloc, returnvalues) in PyOpenGL, same as the default C spec. Normal > PyOpenGL functions aren't defined this way. As you said, the return > values are normally returned instead of passed along with the function > call. > > When I tried to call it with three parameters, it did not even touch > the returnvariable. So I assume there is a bug somewhere. Also, the > function requires an array to be passed as a returnvariable, but the > return value is always one value, never an array. You simply cannot > ask for the values of an entire shader-array. You'd need to call > glGetUniformfv for each element of the array. > > It might work if you pass a ctypes float along with it, however I have > no experience with ctypes stuff, so I'll leave that to the experts. This function should get wrapped to create the array automatically. In the meantime, this is a sample that should work: glUniform4fv( self.uniform_locations['lights'], 12, self.LIGHTS ) test_lights = (GLfloat * 12)() glGetUniformfv( self.shader, self.uniform_locations['lights'], test_lights ) print 'Lights', list(test_lights) You should be able to pass any writable PyOpenGL array type (e.g. a numpy array) as params. HTH, Mike > On 6/6/10 16:06 , Ian Mallett wrote: >> On Sun, Jun 6, 2010 at 1:31 AM, Gijs <in...@bs... >> <mailto:in...@bs...>> wrote: >> >> I don't think I've ever had to use it before, but you usually >> give the program location and the variable location. So it would >> be something like this: >> value = glGetUniformfv(programloc, varloc) >> >> Oops! I actually tried that. Typo. >> value=glGetUniformfv(programlocation) >> Should have been: >> value=glGetUniformfv(program,location) >> Ian > -- ________________________________________________ Mike C. Fletcher Designer, VR Plumber, Coder http://www.vrplumber.com http://blog.vrplumber.com |