通过顶点着色器进行纹理映射?

时间:2012-07-18 08:36:49

标签: opengl glsl

我在this example添加了一个顶点着色器:

void main()
{   
    gl_Position = ftransform();
}   

然后我得到这张图片:

enter image description here

我在这里做错了什么?

1 个答案:

答案 0 :(得分:6)

对于使用顶点着色器的纹理贴图,您还需要将纹理坐标以及顶点位置传递给片段着色器。可以找到示例,包括下面的示例here

void main()
{
    // Transforming The Vertex
    gl_Position = gl_ModelViewProjectionMatrix * gl_Vertex;

    // Passing The Texture Coordinate Of Texture Unit 0 To The Fragment Shader
    texture_coordinate = vec2(gl_MultiTexCoord0);
}