结论:有一定关系。(就是一回事)
setTextureAttributeAndModes的编号主要是为了管理本级StateSet中的纹理
纹理在进入GPU时,会为其分配新的纹理单元,并上传纹理到该纹理单元
setTextureAttributeAndModes的编号是相对GPU第一个纹理单元GL_TEXTURE0的偏移。因此这个编号不要随意指定,否则可能会出现冲突。osgearth对这个编号有一个较好的解决办法,思路是采用一个全局变量对纹理单元进行分配,避免冲突。参考https://blog.youkuaiyun.com/hankern/article/details/122795536
https://blog.youkuaiyun.com/hankern/article/details/122795536
inline bool State::setActiveTextureUnit( unsigned int unit )
{
if (unit!=_currentActiveTextureUnit)
{
if (_glActiveTexture && unit < (unsigned int)(maximum(_glMaxTextureCoords

博客探讨了osg中setTextureAttributeAndModes编号与纹理单元之间的关系,指出它们并非无关,而是在GPU处理时,setTextureAttributeAndModes的编号对应纹理单元的偏移。为避免冲突,osgEarth提供了一个全局变量分配纹理单元的解决方案。
最低0.47元/天 解锁文章
668

被折叠的 条评论
为什么被折叠?



