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

new*_*erl 2 opengl glsl

我在这个例子中添加了一个顶点着色器:

void main()
{   
    gl_Position = ftransform();
}   
Run Code Online (Sandbox Code Playgroud)

然后我得到这个图像:

在此输入图像描述

我在这做错了什么?

Stu*_*rey 6

对于使用顶点着色器的纹理映射,您还需要将纹理坐标以及顶点位置传递给片段着色器.可在此处找到示例,包括下面的示例

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);
}
Run Code Online (Sandbox Code Playgroud)