|
|
小弟有几个非常简单的问题
我画了一个立方体,准备在6面贴不同的图。
问题一 我创建纹理的顺序是
glGen();
glBind();
glEnable();
glActiveTexture();
4个glTexParameter();
如果我还想加glTexEnv,运行时马上就出现错误,什么读0XC0000005。可是我看不懂汇编。
问题二 传统的覆盖方式就是glTexCoord() glVertex3f()
但是换到GLSL,我测试怎么发现glTexCoord不起作用了?不是说FRAG SHADER还是要调用传统的PIPE吗?而且发现glMultiTexCoord(GL_TEXTURE0_2D,XXXXX)好象也没什么作用,我觉得是我纹理的创建方式有问题。
此时我有6个纹理。是不是要把UNIFORM一直定义到glUniform1i(5)?纹理坐标的传递一定要使用gl_TexCoord[X] = glMutilTexCoord<X>吗。可是传递后gl_FragColor怎么写呢?如果按照把每个纹理都加的方式那岂不是混合颜色的吗?我不要那样!
我至今也搞不明白GLSL的FS是针对纹理以及多边形的立体绘制,还是针对屏幕投射过后的部分绘制。
谢谢! |
|