打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
glGetUniformLocation glUniform1i glActiveTexture
//获取shader里面uniform变量的地址
int tex1_location=glGetUniformLocation(m_uProgram, "tex1");
int tex2_location=glGetUniformLocation(m_uProgram, "tex2");
int tex3_location=glGetUniformLocation(m_uProgram, "tex3");

//对这几个纹理采样器变量进行设置
glUniform1i( (GLint)tex1_location, 0);//对应纹理第一层
glUniform1i( (GLint)tex2_location, 1);//对应纹理第二层
glUniform1i( (GLint)tex3_location, 2);//对应纹理第三层

//后面渲染的时候,设置三成纹理
 glActiveTexture(GL_TEXTURE0 + 0);
 glBindTexture(GL_TEXTURE_2D, texture1Id);
 
 glActiveTexture(GL_TEXTURE0 + 1);
 glBindTexture(GL_TEXTURE_2D, texture2Id);
 
 glActiveTexture(GL_TEXTURE0 + 2);
 glBindTexture(GL_TEXTURE_2D, texture3Id);
 
 //所以glActiveTexture第几层,并不表示是shader里面第几个采样器,
 //中间有glUniform1i进行纹理层和采样器地址进行绑定
本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
opengl 使用 texture2d 关键步骤
ETC 纹理压缩和 Alpha 通道处理 ? Mali 开发人员中心
NeHe OpenGL第二十二课:凹凸映射
纹理
《高效学习OpenGL》 之 纹理对象 glGenTextures(),glIsTexture(),glBindTexture(),glDeleteTextures()
Android bug
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服