首页 > 其他分享 >osg给节点添加材质

osg给节点添加材质

时间:2024-01-24 22:12:34浏览次数:42  
标签:material 1.0 Material 材质 节点 osg

 

 

osg给节点添加材质

 

#include <osg/Material>
#include <osg/Geode>
#include <osgDB/ReadFile>
#include <osgViewer/Viewer>

int main(){
    // 创建一个场景节点
    osg::ref_ptr<osg::Node> root = new osg::Geode();
    // 创建一个模型节点,这里读取一个模型文件作为场景节点下的子节点
    osg::ref_ptr<osg::Node> modelNode = osgDB::readNodeFile("model.osg");
    root->addChild(modelNode);
    // 创建一个材质对象,并设置其颜色和属性
    osg::ref_ptr<osg::Material> material = new osg::Material();
    material->setDiffuse(osg::Material::FRONT_AND_BACK, osg::Vec4(1.0f, 0.0f, 0.0f, 1.0f)); // 设置材质的前后漫反射颜色为红色
    material->setSpecular(osg::Material::FRONT_AND_BACK, osg::Vec4(1.0f, 1.0f, 1.0f, 1.0f)); // 设置材质的前后镜面反射颜色为白色
    material->setShininess(osg::Material::FRONT_AND_BACK, 64.0f); // 设置材质的镜面反射光泽度为64.0
    // 将材质应用到模型节点上
    modelNode->getOrCreateStateSet()->setAttribute(material);
    // 创建视图器,将场景节点添加到视图器中
    osgViewer::Viewer viewer;
    viewer.setSceneData(root);
    // 开始渲染并显示视图器窗口
    return viewer.run();
}

 

 

 

 

 

 

######################################

标签:material,1.0,Material,材质,节点,osg
From: https://www.cnblogs.com/herd/p/17923656.html

相关文章

  • Unity3D 游戏转场时如何保留节点信息详解
    Unity3D是一款非常强大的游戏开发引擎,它提供了丰富的功能和工具,使开发者能够轻松创建各种类型的游戏。在游戏开发过程中,转场是一个非常常见的需求,它可以使游戏过程更加流畅和连贯。然而,在转场过程中,如何保留节点信息是一个需要解决的问题。本文将详细介绍Unity3D游戏转场时如何保......
  • 秒级弹性!探索弹性调度与虚拟节点如何迅速响应瞬时算力需求?
    作者:吴昆前言在前面的文章《弹性调度助力企业灵活应对业务变化,高效管理云上资源》中,我们介绍了阿里云容器服务ACK弹性调度为了帮助客户解决在使用云上弹性资源时,面对的“难以差异化控制业务资源使用量,缩容时部分业务Pod未释放”等挑战,提供了按照多级资源的优先顺序进行调度,以及......
  • 秒级弹性!探索弹性调度与虚拟节点如何迅速响应瞬时算力需求?
    作者:吴昆前言在前面的文章《弹性调度助力企业灵活应对业务变化,高效管理云上资源》中,我们介绍了阿里云容器服务ACK弹性调度为了帮助客户解决在使用云上弹性资源时,面对的“难以差异化控制业务资源使用量,缩容时部分业务Pod未释放”等挑战,提供了按照多级资源的优先顺序进行调度,......
  • k8s强制删除pod节点
    场景突然getpod的时候,发现一堆的错误,得把它干掉,否则很不爽。解决方案正常过期的状态,比如Evicted,用正常指令kubectl-njingugetpods|grepEvicted|awk'{print$1}'|xargskubectl-njingudeletepods干不掉的pods,比如Terminating,只能用强制指令kubectl-njin......
  • k8s使用cifs创建pv,某些节点不能挂载
    1.不能挂载的节点报错从报错可以看到pod中的挂载点已经存在了,不能创建RunContainerError(failedtostartcontainer"0ea31f12b87474dbd125a3999114afae53fb92b2c1106d5e65110170e3f3ac80":Errorresponsefromdaemon:errorwhilecreatingmountsourcepath'/var/lib/k......
  • js 规范化文本节点
    在将一个文本节点作为另一个文本节点的同胞插入后,两个文本节点的文本之间不会包含空格。2.规范化文本节点DOM文档中的同胞文本节点可能导致困惑,因为一个文本节点足以表示一个文本字符串。同样,DOM文档中也经常会出现两个相邻文本节点。为此,有一个方法可以合并相邻的文本节点。这......
  • js 创建文本节点 document.createTextNode()
    示例中的第一个div元素中不包含内容,因此不会产生文本节点。只要开始标签和结束标签之间有内容,就会创建一个文本节点,因此第二个元素会有一个文本节点的子节点,虽然它只包含空格。这个文本节点的nodeValue就是一个空格。第三个元素也有一个文本节点的子节点,其nodeValue的值为"He......
  • 一文读懂JavaScript DOM节点操作(JavaScript DOM节点操作详解)
    一、什么是节点DOM模型是树状结构模型,二组成这棵树的就是一个个点,在网络术语中称之为节点。节点是一个模型中最基本的组成单位。DOM模型是由一个个节点组成的,DOM节点也有其不同的类型。二、节点类型DOM节点分为5种类型:文档节点(就是整个HTML文档,也就是document对象)元素节点......
  • 关于spring.redis.cluster集群部分Master节点故障后 交易中断60秒解决方案
     背景  第一种方案:公司项目做性能测试,redis集群选用cluster集群模式,开始选用3主3从,共3台服务器,每个服务器一主一从。    服务器A  redis8001 8002    服务器B  redis8003 8004     服务器C  redis8005 8006    8001主    ......
  • js用前缀名查找class或id节点,js模糊查询某个dom节点
     1//参数dom为htmldom节点2//参数key为需模糊查询的名称字段3functionqueryClassNode(dom,key){4letcollectArray=[];5for(leti=0;i<dom.childNodes.length;i++){6//核心点7if(d......