2016-10-14 6 views
0

Seit Hardware von AMD zu Intel wechseln, etwas, das auf AMD gearbeitet scheint auf Intel fatal GLSL Fehler zu verursachen, und ich musste es auf Kommentar.gltexcoord [] st funktioniert nicht auf neue Hardware

gltexcoord [0] .st wird nicht erkannt und bricht den Shader.

ich um Hilfe für eine alternative Methode suchen oder vielleicht eine Abhilfe für dieses Stück Code:

gl_TexCoord[0].s = r.x/m + 0.5; 
gl_TexCoord[0].t = r.y/m + 0.5; 

vec4 rS = texture(reflectionSampler, gl_TexCoord[0].st); 

OpenGL 3.3, GLSL 3.3 - beide Scheitel & Fragment-Shader 3.30 Kern.

Antwort

1

gl_TexCoord wurde aus dem Kernprofil GLSL entfernt. Der einfachste Weg, um die gleiche Wirkung erzielen würde Ausgangsgröße vec2 in Vertex-Shader werden definieren:

out vec2 texCoord; 
[..] 
texCoord.xy = vec2(r.x/m + 0.f, r.y/m + 0.5); 

und Eingangsgröße in Fragment-Shader:

in vec2 texCoord; 
[..] 
vec4 rS = texture(reflectionSampler, texCoord.xy); 
+0

Perfekt :) Funktioniert wie es vor der Verwendung gl_TexCoord tat, Ich habe deine Antwort markiert! Wirklich zu schätzen, danke! – oglglslnoob

Verwandte Themen