Les Fragment shaders: variables de sortie
La lecture de la GLSL 1.40 spécifications:
Fragment de sorties ne peuvent être flotteur,
floating-point de vecteurs, de signer ou d'
des entiers non signés ou entier vecteurs,
ou des tableaux de toutes ces. Matrices et
les structures ne peuvent pas être sortie. Fragment
les sorties sont déclarées comme dans le
les exemples suivants:hors vec4 FragmentColor;
hors uint Luminosité;
Le fragment de la couleur est défini écrit gl_FragColor... est-il juste? Quelqu'un pourrait-il clarifier mes idées sur ces sorties? Mai j'écris seulement 'FragmentColor' de l'exemple de déterminer fragment de couleur? Mai j'ai lu ("Luminosité", par exemple)?
OriginalL'auteur Luca | 2009-11-14
Vous devez vous connecter pour publier un commentaire.
Votre exemple a 2 sorties. Qu'ils ont un FBO fentes associés après GLSL programme de la liaison. Vous pouvez les rediriger à l'aide de
glBindFragDataLocation
.Une fois que vous avez activé le shader et lié FBO, tout dépend d'un tirage masque, fixé par
glDrawBuffers
. Par exemple, si vous avez passéGL_COLOR_ATTACHMENT0
etGL_COLOR_ATTACHMENT2
là, cela voudrait dire que la sortie de l'index 0 iront à la pièce jointe 0, et l'indice de la production 1 serait aller à la couleur de la pièce jointe 2.OriginalL'auteur kvark
La production mondiale variable gl_FragColor est obsolète après GLSL version 120.
Maintenant, vous devez donner un nom et un type par vous-même, comme dans votre exemple.
En ce qui concerne plusieurs sorties,
ce lien vous donne des informations sur la cartographie: http://www.opengl.org/wiki/GLSL_Objects#Program_linking
(Et j'ai trouvé ce lien: http://www.opengl.org/discussion_boards/ubbthreads.php?ubb=showflat&Nombre=270999 )
Espérons que cette aide! 😀
Ooops! Je vois que kvark a donné les informations pertinentes. De toute façon, peut-être que vous avez obtenu quelque chose de mon texte trop.
OriginalL'auteur Deorbit
je veux donner quelques exemples:
OriginalL'auteur ufukgun