SoTexture2Transform表现的是纹理如何贴到形体。对于面,
(1)如果不使用该对象,同时不指定纹理坐标, 默认的是计算形体的box,以最大边为ST(1,1),自动计算纹理坐标,贴纹理,产生拉伸效果。
(2)使用该对象,同时不指定纹理坐标,
<a> 如指定scaleFactor(20,20),即复制20*20个,自动计算纹理坐标,贴纹理,产生平铺效果。
SoTexture2 *textu=new SoTexture2;
textu->filename="./pic.bmp";
textu->wrapS=SoTexture2::REPEAT;//边的处理
textu->wrapT=SoTexture2::REPEAT;//边的处理
root->addChild(textu);
SoTexture2Transform *myTexXf = new SoTexture2Transform;
myTexXf->scaleFactor.setValue(60.0,60.0);
root->addChild(myTexXf);
<b> 如指定translation,或rotation,调整图片的位置.
本文详细介绍了SoTexture2Transform对象在3D图形渲染中如何影响纹理贴图的效果。当不使用此对象时,系统会默认计算形体的最大边界来贴合纹理,可能会导致纹理拉伸。而使用该对象并设置scaleFactor参数时,则可以实现纹理的平铺效果。
5127

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



