OSG学习笔记7—投影墙显示

OSG学习笔记7—投影墙显⽰
// OSG_5_6.cpp : 定义控制台应⽤程序的⼊⼝点。
//投影墙显⽰:4个视景器辅助相机拼接在⼀起,同时显⽰⼀个场景的效果。
#include "stdafx.h"
#include<osg/Group>
#include<osgDB/ReadFile>
#include<osgViewer/Viewer>
/*⽤于创建⼀个与相机对应的图形设备,也是窗⼝设备,其属性参数使⽤特性类Traits定义,并返回这个相机对象。*/
osg::Camera* creatCamera(int x, int y, int w, int h)
{
/
/在windows系统中,这将构建⼀个w*y的不带标题栏的普通窗⼝,使⽤双缓存来实现渲染内容的显⽰与交换。
osg::ref_ptr<osg::GraphicsContext::Traits> traits =
排卵检测仪new osg::GraphicsContext::Traits;
traits->windowDecoration = false;
traits->x = x;
traits->y = y;
traits->width = w;
traits->height = h;
traits->doubleBuffer = true;
osg::DisplaySettings* ds = osg::DisplaySettings::instance();
纳米烟嘴traits->alpha = ds->getMinimumNumAccumAlphaBits();//图形设备的alpha缓存
traits->stencil = ds->getMinimumNumStencilBits();//图形设备的模板缓存
traits->sampleBuffers = ds->getMultiSamples();//图形设备的重采样缓存
traits->samples = ds->getNumMultiSamples();//图形设备的重采样数设置
osg::ref_ptr<osg::GraphicsContext> gc =
osg::GraphicsContext::());
osg::ref_ptr<osg::Camera> camera = new osg::Camera;
camera->());
camera->setViewport(new osg::Viewport(0, 0, w, h));
lease();
}
int _tmain(int argc, char ** argv)
{
osg::ArgumentParser arguments(&argc,argv);
osg::Node* model = osgDB::readNodeFiles(arguments);
if (!model) model = osgDB::readNodeFile("cow.osg");
osgViewer::Viewer viewer;
//向视景器重添加多个从属相机,它们共享主相机的观察矩阵和投影矩阵,以及同⼀个场景树结构,并有适当的偏移设置。 viewer.addSlave(creatCamera(100, 100, 400, 300), osg::Matrixd::translate(1.0, -1.0, 0.0), osg::Matrixd());
viewer.addSlave(creatCamera(505, 100, 400, 300), osg::Matrixd::translate(-1.0, -1.0, 0.0), osg::Matrixd());
viewer.addSlave(creatCamera(100, 405, 400, 300), osg::Matrixd::translate(1.0, 1.0, 0.0), osg::Matrixd());
viewer.addSlave(creatCamera(505, 405, 400, 300), osg::Matrixd::translate(-1.0, 1.0, 0.0), osg::Matrixd());
viewer.setSceneData(model);
return viewer.run();大型盆景花盆
}电虾机电路图
代码中⽤到的类:
osg::GraphicsContext::Traits 特性参数类,它包含⼀系列可能影响图形设备创建的属性参数。陶瓷接线柱
viewer.addSlave(Camera* camera,const Matrix& projectionOffset,const Matrix& viewOffset,bool useMatersSceneData);
projectionOffset:设置投影矩阵偏移
viewOffset:设置观察矩阵偏移龙脑抑菌剂
useMatersSceneData:是否使⽤主相机的节点树
当设置⼀个视景器的视图是,需要定义以下⼏个部分:
所观察的场景节点树
所使⽤的漫游器⼯具,以及附加的交互事件处理器。
场景的住相机

本文发布于:2024-09-21 13:25:22,感谢您对本站的认可!

本文链接:https://www.17tex.com/tex/2/253840.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:设备   定义   图形   矩阵   视景   观察
留言与评论(共有 0 条评论)
   
验证码:
Copyright ©2019-2024 Comsenz Inc.Powered by © 易纺专利技术学习网 豫ICP备2022007602号 豫公网安备41160202000603 站长QQ:729038198 关于我们 投诉建议