3 votes

Les variables intégrées telles que gl_Normal gl_Vertex sont-elles supportées par GLSL dans OpenGL ES 2.0 ?

Je suis un novice d'OpenGL ES2.0 et GLSL, et je veux utiliser des shaders pour traiter des images. Lorsque j'ai codé dans Xcode, j'ai utilisé des variables intégrées telles que gl_Normal , gl_Vertex directement et ne les a pas déclarés au début des shaders. Enfin, j'ai eu un message d'erreur :

Utilisation d'un identifiant non déclaré gl_Normal . pourquoi ?

5voto

datenwolf Points 85093

Utilisation de l'identifiant non déclaré gl_Normal. Pourquoi ?

Dans OpenGL-ES 2, et suivant ses traces OpenGL-3 core, il n'y a plus de variables d'entrée de shader prédéfinies. OpenGL-4 a même supprimé les sorties prédéfinies des shaders.

Au lieu de cela, on attend de vous que vous définissiez vos propres entrées et sorties. Chaque variable d'entrée ou de sortie se voit attribuer un emplacement. Soit implicitement par OpenGL, et récupérable par glGetAttribLocation ou explicitement par le programmeur à l'aide de l'option location attribut qualificatif de stockage ou glBindAttribLocation fonction. Les sorties sont attribuées de manière similaire par emplacements des données de fragment .

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X