县文化馆网站建设方案,网站设计与网站建设,响应式网站开发 三合一建站,app跟网站的区别可以这样简单的理解为#xff1a;显卡中有N个纹理单元#xff08;具体数目依赖你的显卡能力#xff09;#xff0c;每个纹理单元#xff08;GL_TEXTURE0、GL_TEXTURE1等#xff09;都有GL_TEXTURE_1D、GL_TEXTURE_2D等#xff0c;如下代码#xff1a; [cpp] view plain… 可以这样简单的理解为显卡中有N个纹理单元具体数目依赖你的显卡能力每个纹理单元GL_TEXTURE0、GL_TEXTURE1等都有GL_TEXTURE_1D、GL_TEXTURE_2D等如下代码 [cpp] view plaincopy print? struct TextureUnit { GLuint targetTexture1D; GLuint targetTexture2D; GLuint targetTexture3D; GLuint targetTextureCube; ... }; TextureUnit textureUnits[GL_MAX_TEXTURE_IMAGE_UNITS] GLuint currentTextureUnit 0; 默认情况下当前活跃的纹理单元为0. [cpp] view plaincopy print? void glActiveTexture(GLenum textureUnit) { currentTextureUnit textureUnit - GL_TEXTURE0 ; } glActiveTextue 并不是激活纹理单元而是选择当前活跃的纹理单元。 [cpp] view plaincopy print? void glBindTexture(GLenum textureTarget, GLuint textureObject) { TextureUnit *texUnit textureUnits[currentTextureUnit]; switch(textureTarget) { case GL_TEXTURE_1D: texUnit-targetTexture1D textureObject; break; case GL_TEXTURE_2D: texUnit-targetTexture2D textureObject; break; case GL_TEXTURE_3D: texUnit-targetTexture3D textureObject; break; case GL_TEXTURE_CUBEMAP: texUnit-targetTextureCube textureObject; break; } } 从示例代码中可以看到当绑定纹理目标时所作用的是当前活跃的纹理单元。