
GL.UniformMatrix4 Doesn't work with an array or pointer on NVidia Card.
Posted Wednesday, 9 June, 2010 - 20:44 by retro_alt| Project: | The Open Toolkit library |
| Version: | 1.0.0-rc1 |
| Component: | Code |
| Category: | bug report |
| Priority: | normal |
| Assigned: | Unassigned |
| Status: | closed (invalid) |
Jump to:
Description
unsafe { GL.UniformMatrix4(getUniformLocation(name), 16, false, (float*)ptr); }
Have tested this code on two different machines with the exact same code. On the ATI machine it works just fine. On the NVidia machine, I get a GraphicsErrorException with the error being "InvalidOperation".
If I construct an OpenTK.Matrix4 from the array, and use that I works with no problems.
Thanks!
Greg


Comments
#1
You are trying to pass 16 matrices to the shader. Is that what you meant to do? Does your uniform declaration match this in the shader? (i.e. are you declaring a
mat4[16]array?)From the documentation:
#2
ooooooh. For some reason I thought it was the number of components, which I suppose in retrospect would be rather redundant.
Thanks!
Greg