佚名通过本文主要向大家介绍了opengl纹理贴图实例,opengl纹理贴图,opengl纹理,opengl纹理映射,opengl纹理贴图代码等相关知识,希望对您有所帮助,也希望大家支持linkedu.com www.linkedu.com
问题: Opengl怎么通过一个纹理单元去设置多个纹理对象?
描述:
glGenTextures(1, &m_Tex2);
glBindTexture(GL_TEXTURE_2D, m_Tex2);
然后把这些m_Tex做成一个pTexid数组传到shader里,可是问题是,我在网上和一些书上看到说
GLuint _tex2id;
_tex2id = glGetUniformLocation( m_Progobj, name.c_str());
glUniform1iv(_tex2id, texNum, pTexid);
glUniform1i传入的参数是纹理单元标号,也就是0123456之类的吧,可是我传入的m_Tex貌似并不是这样的,因为程序还有很多没完成,跑不起来,所以很疑惑,想问一下。
还有个问题,我在使用一个纹理的时候,glUniform1i参数随便传都能成功贴图,这是为什么?
还有希望有大神给我科普一下cube贴图。。。最好详细一点,谢谢拉。
解决方案1:
描述:
openglC++纹理贴图3D引擎Shader
我现在就是用的纹理数组,就是这样生成多个glGenTextures(1, &m_Tex2);
glBindTexture(GL_TEXTURE_2D, m_Tex2);
然后把这些m_Tex做成一个pTexid数组传到shader里,可是问题是,我在网上和一些书上看到说
GLuint _tex2id;
_tex2id = glGetUniformLocation( m_Progobj, name.c_str());
glUniform1iv(_tex2id, texNum, pTexid);
glUniform1i传入的参数是纹理单元标号,也就是0123456之类的吧,可是我传入的m_Tex貌似并不是这样的,因为程序还有很多没完成,跑不起来,所以很疑惑,想问一下。
还有个问题,我在使用一个纹理的时候,glUniform1i参数随便传都能成功贴图,这是为什么?
还有希望有大神给我科普一下cube贴图。。。最好详细一点,谢谢拉。
解决方案1:
三维游戏引擎开发-图形理论基础 --不调用opengl或者第三方api绘制三维场景 http://edu.csdn.net/course/detail/864 OpenGL ES2.0基础 http://edu.csdn.net/course/detail/958 OpenGL ES2.0中级篇(shader横行天下) http://edu.csdn.net/course/detail/1167 三维游戏引擎设计与实现-GUI设计与实现 http://edu.csdn.net/course/detail/1037 三维游戏引擎开发-渲染 http://edu.csdn.net/course/detail/606 太空大战游戏实战课程 http://edu.csdn.net/course/detail/763