OSG给模型贴图显示
首先咱们需要创建几个模型,比如几何体,然后给这几个几何体的表面粘贴图片。
创建的几何体:
需要粘贴的图片:
粘贴后的效果:
创建几何体:
osg::ref_ptr<osg::Geode> createCylinder() {osg::ref_ptr<osg::TessellationHints> hits = new osg::TessellationHints;//值越小精度也就越小hits->setDetailRatio(0.8f);//创建一个圆柱osg::ref_ptr<osg::Cylinder> cy = new osg::Cylinder;//直接用几何对象初始化实例osg::ref_ptr<osg::ShapeDrawable> sd = new osg::ShapeDrawable(cy);cy->setCenter(osg::Vec3(50.0, 0.0, 0.0));cy->setHeight(30);cy->setRadius(30);sd->setTessellationHints(hits);//创建一个长方体osg::ref_ptr<osg::Box> box = new osg::Box;box->setCenter(osg::Vec3(-50.0, 0.0, 0.0));box->setHalfLengths(osg::Vec3(30.0, 30.0, 30.0));osg::ref_ptr<osg::ShapeDrawable> sd2 = new osg::ShapeDrawable(box.get());//创建一个圆球osg::ref_ptr<osg::Sphere> sphere = new osg::Sphere;sphere->set(osg::Vec3(0.0, 0.0, 50.0), 30);osg::ref_ptr<osg::ShapeDrawable> sd3 = new osg::ShapeDrawable(sphere.get());osg::ref_ptr<osg::Geode> geode = new osg::Geode;geode->addDrawable(sd.get());geode->addDrawable(sd2.get());geode->addDrawable(sd3.get());return geode;
}
贴图运行:
void createrShader() {osg::ref_ptr<osgViewer::Viewer> viewer = new osgViewer::Viewer;viewer->addEventHandler(new osgViewer::WindowSizeHandler());osg::ref_ptr<osg::Group> root = new osg::Group;root->addChild(createCylinder().get());//添加贴图root->getOrCreateStateSet()->setTextureAttribute(0, new osg::Texture2D(osgDB::readImageFile("E:/Projects/Test/QtTest64/OSGGeo/2.jpg")));root->getOrCreateStateSet()->setTextureMode(0, GL_TEXTURE_2D, osg::StateAttribute::ON);viewer->setSceneData(root.get());viewer->realize();viewer->run();
}
aaa
OSG给模型贴图显示相关推荐
- osg 改变模型贴图
2019独角兽企业重金招聘Python工程师标准>>> 网络上的代码, 读的是PNG 与 jpg ,但我这里读不了 研究了一下, 发现能读rbg文件 这里是改变模型的贴图, 还看不出 ...
- excelexportentity中设置null不显示的方法_如何在 Creator3D 中切换模型贴图,超级简单!...
效果预览 前两天有伙伴在 QQ 上询问,如何在 Creator 3D 中切换模型贴图.Shawn 之前也没尝试过,不过根据之前 Cocos Creator 的经验以及这几天对 Creator 3D 的 ...
- 用blender为模型贴图并在gazebo中显示
用blender为模型贴图并在gazebo中显示 首先我用的是最新的blender2.92版本,附上链接https://www.blender.org/download/.并设置好简体中文.语言可以在 ...
- bsp模型适用于图计算_CODE V微信简报:光束合成传播算法(BSP)
强大.高效的衍射分析工具 无论你设计的是哪种光学系统--激光.微透镜阵列.自由空间光子器件.CCD,或者一些天文应用--CODE V的光束合成传播工具(BSP)比任何其他商业工具更准确和高效地进行光束 ...
- (R,线性回归)R语言里的模型诊断图(Residuals vs Fitted,Normal QQ , Scale-Location ,Residuals Leverage)
线性回归,是概率统计学里最重要的统计方法,也是机器学习中一类非常重要的算法.线性模型简单理解非常容易,但是内涵是非常深奥的.尤其是线性回归模型中的Diagnostics plot的阅读与理解一直被认为 ...
- ThreeJS 骨架图显示、骨骼修改颜色
ThreeJS 骨架图显示.骨骼修改颜色 郭隆邦_技术博客 http://www.yanhuangxueyuan.com http://www.yanhuangxueyuan.com/Three.js ...
- 如何在 Creator3D 中切换模型贴图,超级简单
1 效果预览 前两天有伙伴在 QQ 上询问,如何在 Creator 3D 中切换模型贴图.Shawn 之前也没尝试过,不过根据之前 Cocos Creator 的经验以及这几天对 Creator 3D ...
- 如何在 Creator3D 中切换模型贴图,超级简单!
效果预览 前两天有伙伴在 QQ 上询问,如何在 Creator 3D 中切换模型贴图.Shawn 之前也没尝试过,不过根据之前 Cocos Creator 的经验以及这几天对 Creator 3D 的 ...
- 现代opengl 设计 3D模型文件导入显示
利用3D模型导入库assimp, 可以读取很多种格式的3D模型文件,现在我们就用opengl 显示出来.而这需要一个桥,就是数据和opengl 显示,前文我们介绍了网格Mesh类,现在介绍model ...
- threejs摩尔纹镜头拉远模型贴图出现摩尔纹,纹理贴图闪烁异常解决办法
threejs镜头拉远模型贴图出现摩尔纹,纹理贴图闪烁异常解决办法 当threejs加载模型时,会遇到有些模型的贴图有密集网格形状,当有密集四方格类,或者其他形状密集条纹类的贴图时,就会出现摩尔纹. ...
最新文章
- 图解 SQL 里的各种 JOIN
- future 线程报错后_线程池运用实例——一次错误的多线程程序设计以及修复过程...
- 通过带数据盘的自定义镜像来创建使用应用程序网关的虚拟机规模集
- mysql有没有num_mysql_num_rows()函数
- 多线程篇三:线程同步
- WINDOWS常用端口
- 30岁前不要让人生留下遗憾笔记
- linux 触屏设备 无法处理touchevent_一次通讯干扰处理
- 一篇文章为何能引起公众对联想那么多的争议?
- 设置单行文本溢出省略导致不能自适应宽度,white-space: nowrap
- 编程过程分享1「欢迎萌新入坑」:Python:做一个上海计算机二级答题系统的过程
- 拔丝芋头的Java学习日记--Day5
- 行为型设计模式(二)
- java pfx 证书_java 证书 .cer 和 .pfx
- 命题作文:在一棵IPv4地址树中彻底理解IP路由表的各种查找过程
- 知识经济时代的基石:知识协同
- 戴尔服务器的性能,解析戴尔12G服务器主要性能提升和改进
- idea 断点线程_在IntelliJ IDEA中多线程并发代码的调试方法详解
- 浅说ksm的适用范围
- videojs进度条始终为零