Historique des modifications - Message

Message #9305

Sujet: OpenGL: nombre de canaux de textures


Type Date Auteur Contenu
Création du message 10-01-2011 18:58:13 tmyke
comment perdre un temps fou pour pas grand chose.

Cherchant à transformer un shader de DirectX pour OpenGL (que je connais très peu il faut dire) employant 8 canaux
de textures, j'ai fini par comprendre qu'en fait Irrlicht me limitait à 4 canaux de textures avec le driver OpenGL, alors
que pourtant j'avais bien spécifié à Irrlicht que je souhaitais travailler sur 8 canaux max (chose qui se passe très bien avec DX9).

En cherchant, le forum officiel est venu conforter mes soupçons de bug sur la partie driver OGL.

Donc, si vous souhaiter monter au dessus de 4 canaux avec OGL, voici une partie de code à
modifier au niveau du code source du moteur:

pour les version 1.7.x

Code c++ :

diff -rupN irrlicht-1.7.x/source/Irrlicht/COpenGLExtensionHandler.cpp 
@@ void COpenGLExtensionHandler::initExtens
    {...
        glGetIntegerv(GL_MAX_TEXTURE_UNITS, &num);
        MaxTextureUnits=static_cast<u8>(num);
+        glGetIntegerv(GL_MAX_TEXTURE_IMAGE_UNITS_ARB, &num);
+        if (MaxTextureUnits<static_cast<u8>(num))
+            MaxTextureUnits=static_cast<u8>(num);
    }
 #endif
    glGetIntegerv(GL_MAX_LIGHTS, &num);

pour la version 1.8.0

Code c++ :

diff -rupN irrlicht-1.8.x/source/Irrlicht/COpenGLExtensionHandler.cpp 
@@ void COpenGLExtensionHandler::initExtens
    {...
        glGetIntegerv(GL_MAX_TEXTURE_UNITS, &num);
        MaxSupportedTextures=static_cast<u8>(num);
+        glGetIntegerv(GL_MAX_TEXTURE_IMAGE_UNITS_ARB, &num);
+        if (MaxSupportedTextures<static_cast<u8>(num))
+            MaxSupportedTextures=static_cast<u8>(num);
    }
 #endif
    glGetIntegerv(GL_MAX_LIGHTS, &num);

noubliez pas quand même de changer la valeur de #define _IRR_MATERIAL_MAX_TEXTURES_ 8

wink

Retour

Options Liens officiels Caractéristiques Statistiques Communauté
Préférences cookies
Corrections
irrlicht
irrklang
irredit
irrxml
Propulsé par Django
xhtml 1.0
css 2.1
884 membres
1440 sujets
11337 messages
Dernier membre inscrit: Saidov17
550 invités en ligne
membre en ligne: -
RSS Feed