首页 > 其他分享 >osg设置材质

osg设置材质

时间:2024-01-18 17:25:33浏览次数:23  
标签:Material 1.0 material 设置 材质 节点 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/17923695.html

相关文章

  • centos设置时间同步
    安装NTPyum-yinstallntp设置NTP服务器ntpdatentp3.aliyun.com测试date......
  • ubuntu设置apt源
    要设置apt国内镜像,可以按照以下步骤进行操作:1备份原始的apt源配置文件:sudocp/etc/apt/sources.list/etc/apt/sources.list.bak2清空原始的apt源配置文件:sudosh-c'echo"">/etc/apt/sources.list'3添加国内镜像源,这里以阿里云镜像为例:echo"debhttp://mirrors.ali......
  • Unity GPU Instancing合批_如何基于单个的实体修改材质参数
    前言最近在做DOTS的教程,由于DOTS(版本1.0.16)目前不支持角色的骨骼动画,我们是将角色的所有动画数据Baker到一个纹理里面,通过修改材质中的参数AnimBegin,AnimEnd来决定动画播放的起点和终点,材质参数AnimTime记录当前过去的动画时间。但是在做大规模战斗控制的时候,有10000+的小兵......
  • Zoho 的POP、IMAP 和SMTP 设置教程,简单好用
    随着云计算技术的不断发展,越来越多的企业和个人选择使用云端服务来管理和存储电子邮件。Zoho作为一家领先的云服务提供商,其邮件服务备受青睐。本文将介绍如何使用Zoho的POP、IMAP和SMTP设置,并展示其简单而高效的操作方式。1.ZohoSMTP简介ZohoSMTP,即简单邮件传输协议,是一种用于在......
  • mail邮件的POP、IMAP和SMTP设置教程,简单好用
    在现代社会中,电子邮件已经成为人们日常沟通的重要方式之一。为了能够顺利收发邮件,正确设置邮件客户端的POP、IMAP和SMTP是至关重要的步骤。本文将为大家详细介绍如何进行这些设置,使邮件体验更为简单和便捷。1.POP、IMAP、SMTP是什么?在深入了解如何设置之前,我们先来了解一下这三个......
  • Win10如何设置闹钟提醒?win10电脑自定义闹钟提醒的方法
    上班族在繁忙的工作中,有时候需要在电脑上设置醒闹钟提醒,以确保按时完成工作或者提醒自己关注某些事项。想想一下,你在某一天需要参加一个重要的会议,为了不错过会议的开始时间,设置一个电脑上的醒闹钟提醒是十分必要的。此外上班族通常有各种工作任务需要按时完成,这就需要分阶段提醒......
  • uni.setStorageSync在登录页面设置缓存,第一次进入首页在onload里面获取不到缓存数据的
    在onLoad里面获取不到缓存:onLoad(option){consttoken=uni.getStorageSync('token');if(!token){uni.showToast({title:"请先登录",icon:"error",......
  • IDEA设置注释模板
    进入设置File-->Setting2.在设置界面找到Editor下的LiveTemplates,点击JAVA新增一个LiveTemlate在下面的Templatetext中输入***$param$$return$*@authorbaorui*@date$date$$time$*/在Abbreviation中输入**点击按钮Editvariables进入参数配......
  • 微信小程序设置默认启动页
    一、第一种entryPagePath指定小程序的默认启动路径(首页),常见情景是从微信聊天列表页下拉启动、小程序列表启动等。如果不填,将默认为 pages 列表的第一项。不支持带页面路径参数。在app.json页面设置{"entryPagePath":"pages/index/index"}二、第二种 pages 列表的......
  • podman configure insecure certificate registry【podman 设置非安全镜像仓库】
    预备条件dockerregistry仓库私搭并配置证书centos7.9部署harbor镜像仓库实践harbor部署入门指南Podman部署私有镜像仓库设置$vim/etc/hosts192.168.23.47registry.ghostwritten.com$vim/etc/containers/registries.conf...[[registry]]location="registry.ghos......