osg学习(五十二)加载的牛模型cow.osg没有纹理 黑色

在osg学习过程中,遇到加载的cow.osg模型显示为黑色,原因可能包括:纹理文件未正确加载、Android环境下glTexGen函数缺失、纹理对象未绑定到纹理单元、模型缩放导致纹理采样问题。解决思路涉及使用着色器实现纹理生成,检查纹理对象绑定,以及考虑法线向量在缩放条件下的变换。在桌面端加载地球模型时也会出现类似问题,但与是否添加球形无关。
摘要由CSDN通过智能技术生成

1、纹理文件“Images/reflect.rgb”没有正确加载

2、Android 的gles中没有glTexGen函数,需要通过着色器程序实现。参看C++学习(三三六)球面贴图Sphere mapping 立方体贴图Cube mapping

3、纹理对象没有绑定到纹理单元的对象类型上,或者被别纹理对象绑定给冲掉了

4、模型有较大的放大,该情况有些纹理,但是没有光亮(就中间有纹理,边上纹理是拉伸造成的)。可能是纹理有问题(造成纹理采样采到比较黑的部分),换一个纹理就比较亮,比如road.png。主要是法线向量随着缩放有了变化(osg学习(七十三)缩放条件下计算gl_NormalMatrix_hankern的博客-CSDN博客法线的变换方式不同于顶点的变换。顶点变换采用:gl_ModelViewProjectionMatrix * gl_Vertex法线变换采用:gl_NormalMatrix*gl_NormalNormalMatrix是ModelView矩阵逆的转置,由于gl_M

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值