Bug #1207

shader.py: GL_TEXTURE_2D_RECTANGLE does not seem to exist

Added by Aranuvir # over 1 year ago. Updated about 1 year ago.

Status:Fix exists, needs testingStart date:10/07/2017
Priority:NormalDue date:
Assignee:Jonas Hauquier% Done:

90%

Category:OpenGL
Target version:MakeHuman 1.1.2

Description

... as far as I could find out it is either GL_TEXTURE_2D or GL_TEXTURE_RECTANGLE, probably the latter. Not sure if this even matters...
If anyone could fix the code?


Related issues

Related to MakeHuman - Bug #1208: Community AranuvirQt5 branch on MacOsx High Sierra New 10/23/2017

History

#1 Updated by Aranuvir # over 1 year ago

  • Status changed from New to Fix exists, needs testing
  • % Done changed from 70 to 90

Fixed it on my github branch. Decided to use the latter possibility ;)

#2 Updated by Rob Baer about 1 year ago

  • Related to Bug #1208: Community AranuvirQt5 branch on MacOsx High Sierra added

#3 Updated by Jonas Hauquier about 1 year ago

Nice find.
The difference is that rectangle textures can have arbitrary dimensions and drop the power-of-two dimension requirements.
Rectangle textures do not support (built-in hardware) mipmapping.

https://www.khronos.org/opengl/wiki/Rectangle_Texture

Texture_2d is a more standard texture, that has power-of-two dimensions and supports mipmapping
https://www.khronos.org/opengl/wiki/Rectangle_Texture

But yes, it looks like that was a mistake and it needs to be GL_TEXTURE_RECTANGLE

Could this be what was causing opengl driver crashes related to uniforms?

#4 Updated by Aranuvir # about 1 year ago

Jonas Hauquier wrote:

Nice find.

Actually it wasn't ot hard to find. PyCharm was complaining about some unknown values.

Could this be what was causing opengl driver crashes related to uniforms?

No. The problem was that glGetUniformfv expects a location of the uniform variable as second parameter. The location value was initially derived from a parameter count received from glGetProgramiv(program, GL_ACTIVE_UNIFORMS), which is not the location. Reading the location using glGetUniformLocation solved some of the OpenGl issues, though there are further issues to be solved. If you like you can follow the discussion here: http://bugtracker.makehumancommunity.org/issues/1061#note-12

Also available in: Atom