2012-06-01 22 views
5

Düzlemde doku nasıl kaydırılır? Yani bir dokuya sahip bir düzlem var, bir gölgeyi soldaki sağdan sola (sonsuz) kaydırmak için kullanabilir miyim?GLSL shader dokuyu kaydırır

cevap

10
  1. Kur doku örneği alınırken

    glTexParameteri(TextureID, L_TEXTURE_WRAP_S, GL_REPEAT)

  2. texture2D(sampler, u + Time, v) gibi doku gölgelendiriciye

  3. Kullanım şey Time adlı şamandıra üniforma ekle kullanarak doku sarma modu.

  4. Kodunuzdaki bazı zamanlayıcıları kullanarak Time tekdüzenini güncelleyin.

    /*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)); 
    } 
    
    : Burada

bir GLSL shader var