小编Val*_*rie的帖子

无法在GLSL Fragment Shader中使用两个统一变量(仅限第一个工作)

我试图在片段着色器中混合两种纹理的颜色.但不幸的是,我在实际工作之前就被卡住了.

这是着色器设置:

const char* vertex = "void main(){ \n\
                gl_Position = ftransform(); \n\
                        gl_TexCoord[0] = gl_MultiTexCoord0;\n\
                        gl_TexCoord[1] = gl_MultiTexCoord1;\n\
                     }\n";

const char* fragment = "\
                       uniform sampler2D userT;\
                       uniform sampler2D videoTex; \
                       \n\
                       void main(){\n\
                            vec4 texel = texture2D(userT, gl_TexCoord[0].st);\n\
                            gl_FragColor = texel;\n\
                        }\n";

m_vertexShader = glCreateShader(GL_VERTEX_SHADER);
m_fragmentShader = glCreateShader(GL_FRAGMENT_SHADER);

glShaderSource( m_vertexShader, 1, &vertex, NULL );
glShaderSource( m_fragmentShader, 1, &fragment, NULL );

glCompileShader( m_vertexShader );
glCompileShader( m_fragmentShader );

m_silhouetteShaderProg = glCreateProgram();
glAttachShader( m_silhouetteShaderProg, m_vertexShader );
glAttachShader( m_silhouetteShaderProg, m_fragmentShader );
glLinkProgram( …
Run Code Online (Sandbox Code Playgroud)

opengl glsl uniform fragment-shader

1
推荐指数
1
解决办法
2372
查看次数

标签 统计

fragment-shader ×1

glsl ×1

opengl ×1

uniform ×1