2016-10-14 8 views
0

の[]番目のdoesntの仕事、AMDに取り組んで何かがインテルに致命的なGLSLエラーを引き起こしているようだと私はそれをコメントアウトする必要がありました:gltexcoord新しいハードウェア

gltexcoordを[0] .stが認識されず、シェーダが破損します。

私は別の方法または多分コードのこの部分のための回避策については、ヘルプを探しています:

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 - 両方の頂点&フラグメントシェーダ3.30コア。

答えて

1

gl_TexCoordがコアプロファイルGLSLから削除されました。フラグメントシェーダで

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

と入力変数:それはgl_TexCoordを使用する前にやったように動作します:)

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

パーフェクト、同じ効果を達成するための最も簡単な方法は、頂点シェーダに変数vec2出力を定義することになります私はあなたの答えをマークしました!本当にありがとう、ありがとう! – oglglslnoob

関連する問題