博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
osg 改变模型贴图
阅读量:6404 次
发布时间:2019-06-23

本文共 1329 字,大约阅读时间需要 4 分钟。

hot3.png

网络上的代码, 读的是PNG 与 jpg ,但我这里读不了

研究了一下, 发现能读rbg文件

这里是改变模型的贴图, 还看不出是什么原理

 

#include 
#include
#include
#include
#include
#include
#include
#include
#include
void main() { osgViewer::Viewer viewer; osg::ref_ptr
root=new osg::Group(); osg::ref_ptr
node=osgDB::readNodeFile("cow.osg"); osg::ref_ptr
image=osgDB::readImageFile("Images\\lz.rgb");// osg能读取rgb格式 , data文件夹里带有这张图 if (image.get()) { osg::ref_ptr
texture=new osg::Texture2D(); texture->setImage(image.get()); //设置自动生成纹理坐标 osg::ref_ptr
texgen=new osg::TexGen(); texgen->setMode(osg::TexGen::SPHERE_MAP); //设置纹理环境,模式为BLEND osg::ref_ptr
texenv=new osg::TexEnv; texenv->setMode(osg::TexEnv::Mode::BLEND);// ADD texenv->setColor(osg::Vec4(0.6,0.6,0.6,0.0)); //启动单元一自动生成纹理坐标,并使用纹理 osg::ref_ptr
state=new osg::StateSet; state->setTextureAttributeAndModes(1,texture.get(),osg::StateAttribute::ON); state->setTextureAttributeAndModes(1,texgen.get(),osg::StateAttribute::ON); state->setTextureAttribute(0,texenv.get()); node->setStateSet(state.get()); } else { osg::notify( osg::FATAL ) << "Unable to load data file Exiting." << std::endl; } root->addChild(node.get()); viewer.setSceneData(root.get()); viewer.realize(); viewer.run();}

 

转载于:https://my.oschina.net/u/235558/blog/1611206

你可能感兴趣的文章
JavaScript push() 方法
查看>>
Map集合
查看>>
JSP基础语法1
查看>>
elasticsearch Java API 之GET API & DELETE API
查看>>
《深入理解Java虚拟机》——GC基础概念
查看>>
微信小程序联盟:官方文档+精品教程+demo集合(5月31日更新,持续更新中……)...
查看>>
Fastjson 的 Set类型和 WriteClassName 选项引起的BUG
查看>>
翻译: 星球生成 II
查看>>
IOS 多线程
查看>>
python序列化数据本地存放
查看>>
#CCNA#IP地址、子网划分参考资料网址
查看>>
比较不错的图片上传插件
查看>>
判偶不判奇
查看>>
Sequelize 数据库的支持
查看>>
BigDecimal类的加减乘除
查看>>
lighttpd中实现每天一个访问日志文件
查看>>
node.js发送邮件email
查看>>
查看nginx配置文件路径的方法
查看>>
接口性能调优方案探索
查看>>
kali安装包或更新时提示“E: Sub-process /usr/bin/dpkg return”
查看>>