2017-11-27 8 views
1

コード:このシェーダコードに何か問題はありますか? rippleShader.fragファイルの

// attibutes from vertShader.vert 
varying vec4 vColor; 
varying vec2 vTexCoord; 

// uniforms 
uniform sampler2D uTexture; 
uniform float uTime; 

void main() { 
    float coef = sin(gl_FragCoord.y * 0.1 + 1 * uTime); 
    vTexCoord.y += coef * 0.03; 
    gl_FragColor = vColor * texture2D(uTexture, vTexCoord); 
} 

コードvertShader.vertファイルの:

#version 110 

//varying "out" variables to be used in the fragment shader 
varying vec4 vColor; 
varying vec2 vTexCoord; 

void main() { 
    vColor = gl_Color; 
    vTexCoord = (gl_TextureMatrix[0] * gl_MultiTexCoord0).xy; 
    gl_Position = gl_ModelViewProjectionMatrix * gl_Vertex; 
} 

私は今の画像を投稿することができない、私の謝罪を受け入れてください。しかし、私は次のようにエラーPROMTのプログラムを実行すると:

image

+2

代わりにテキストとしてエラーメッセージを投稿してください – klutt

答えて

6

エラーメッセージの意味、それはフラグメントシェーダに入力されているので、あなたは、変数vTexCoordに任意の値を割り当てることが許可されていないこと。

は何とかこのようなあなたのコードを変更し

void main() { 
    float coef = sin(gl_FragCoord.y * 0.1 + 1.0 * uTime); 
    vec2 texC = vec2(vTexCoord.x, vTexCoord.y + coef * 0.03); 
    gl_FragColor = vColor * texture2D(uTexture, texC); 
} 

注意をあなたの代わりに浮動小数点値(1.0)の、積分定数値(1)を使用するので、あなたは、警告メッセージが表示されます。

+0

ありがとうございます:) –

関連する問題