2012-06-01 13 views

Odpowiedz

10
  1. Ustaw tryb tekstury owijania użyciu

    glTexParameteri(TextureID, L_TEXTURE_WRAP_S, GL_REPEAT)

  2. Dodaj mundur pływaka nazwie Time do teksturowania cieniującego

  3. użyć czegoś jak texture2D(sampler, u + Time, v) podczas pobierania próbki tekstury.

  4. Zaktualizuj mundur Time używając jakiegoś zegara w kodzie.

Oto shaderów GLSL:

/*VERTEX_PROGRAM*/ 

in vec4 in_Vertex; 
in vec4 in_TexCoord; 

uniform mat4 ModelViewMatrix; 
uniform mat4 ProjectionMatrix; 

out vec2 TexCoord; 

void main() 
{ 
    gl_Position = ProjectionMatrix * ModelViewMatrix * in_Vertex; 

    TexCoord = vec2(in_TexCoord); 
} 

/*FRAGMENT_PROGRAM*/ 

in vec2 TexCoord; 

uniform sampler2D Texture0; 

/// Updated in external code 
uniform float Time; 

out vec4 out_FragColor; 

void main() 
{ 
    /// "u" coordinate is altered 
    out_FragColor = texture(Texture0, vec2(TexCoord.x + Time, TexCoord.y)); 
} 
Powiązane problemy