in OpenGL j'ai toujours compris que Récemment, j'ai essayé de confirmer cela mais j'ai trouvé une documentation claire confirmant de la manière de cette question. p> mettre simplement et en code, devrais-je faire ce p> ou ce p> J'espérais trouver une certaine clarté. p> p> glenable (gl_texture_1d) code>,
glenable (gl_texture_2d) ou / ou
glenable (gl_texture_3d) code> (et correspondant
gldisable code>) est un paramètre par paramètre par texture.
3 Réponses :
C'est par unité de texture. P>
de la spécification GL1.5, 3.8.15: P>
Chaque unité de texture est activée et liée Pour texturer des objets indépendamment de les autres unités de texture p> blockQuote>
C'est en effet par unité de texture. La documentation la plus récente que j'ai trouvée mentionnée explicitement était la spécification GL Open GL (mise à jour de 2006) ici p>
à la section 3.8.16: Application de texture forte> p>
Il est probablement mentionné quelque part dans les nouvelles spécifications, mais ils étaient lourds réorganisés. Vous pouvez consulter toutes les spécifications de la version Open GL sur le site Web OpenGL ORG (je voulais poster un lien mais je ne peux pas sembler poster plus d'un). P>
Eh bien, en fait, cela ne sera pas dans les dernières révisions de base car une fonction fixe a été obsolète puis supprimée et l'activation contrôle l'état de fonction fixe. Il n'a aucun effet sur les shaders.
@BAHBAR: voulez-vous dire que les Shaders GLSL avec leurs annotations peuvent contrôler l'état des unités de texture et des échantillonneurs et donc il n'y a pas besoin d'une glenable explicite (GL_Texture2D) par exemple?
Si vous utilisez En outre, si vous souhaitez passer au profil de base OpenGL 3.x, gardez à l'esprit que GLSL code> Shaders dans OpenGL, l'appel
glenable (GL_Texture) code> n'a pas d'influence. P>
glenable (GL_Texture) code> est obsolète. p>
Glenable (GL_Texture_2D) CODE> a toujours un effet dans mon code, malgré un seul code de shader. Il semble que cela appelle à
GLBindTexture code> Changer le comportement ... Ce serait un profil de noyau OpenGL 3.2.