扫一扫
分享文章到微信
扫一扫
关注官方公众号
至顶头条
glTexEnvi( GL_TEXTURE_ENV, GL_SOURCE0_RGB_ARB, GL_PREVIOUS_ARB );//前面的纹理阶段
glTexEnvi( GL_TEXTURE_ENV, GL_OPERAND0_RGB_ARB, GL_SRC_COLOR );
glTexEnvi( GL_TEXTURE_ENV, GL_SOURCE1_RGB_ARB, GL_TEXTURE );//当前的纹理
glTexEnvi( GL_TEXTURE_ENV, GL_OPERAND1_RGB_ARB, GL_SRC_COLOR );
glTexEnvi( GL_TEXTURE_ENV, GL_SOURCE2_RGB_ARB, GL_PRIMARY_COLOR_ARB);//基颜色
glTexEnvi( GL_TEXTURE_ENV, GL_OPERAND2_RGB_ARB, GL_SRC_COLOR );//或GL_SRC_ALPHA
在使用前,要先查看系统允许的纹理阶段数目:
int nTextureUnits = 0;
glGetIntegerv( GL_MAX_TEXTURE_UNITS_ARB, &nTextureUnits );
这种技术使用起来比较复杂,现在可以用shader来实现,简单得多,但为了兼顾旧显卡,这种技术还是很常用的。
如果您非常迫切的想了解IT领域最新产品与技术信息,那么订阅至顶网技术邮件将是您的最佳途径之一。