osg demo24 多窗口渲染
来源:互联网 发布:jquery map 清空数据 编辑:程序博客网 时间:2024/06/05 10:19
#include <osgDB/ReadFile>#include <osgDB/WriteFile>#include <osgViewer/Viewer>#include <osgGA/TrackballManipulator>#include <osgGA/FlightManipulator>#include <osgGA/AnimationPathManipulator>#include <iostream>//实现多窗口渲染void multipleWindowMultipleCameras(osgViewer::Viewer& viewer,bool multipleScreens){osg::GraphicsContext::WindowingSystemInterface* wsi = osg::GraphicsContext::getWindowingSystemInterface();unsigned int width,height;wsi->getScreenResolution(osg::GraphicsContext::ScreenIdentifier(0),width,height);//窗口数量unsigned int numCameras = 6;//缩放比率double aspectRatioScale = (double)numCameras;double translate_x = double(numCameras-1);//创建留个图形上下文for(unsigned int i=0;i<numCameras;++i,translate_x-=2.0){osg::ref_ptr<osg::GraphicsContext::Traits>traits = new osg::GraphicsContext::Traits;traits->screenNum = multipleScreens?i/3:0;traits->x=(i*width)/numCameras;traits->y = 0;traits->width = width/numCameras-1;traits->height = height;//这个设置窗口要有边框修饰,否则不设置边框traits->windowDecoration=true;traits->doubleBuffer = true;traits->sharedContext = 0;osg::ref_ptr<osg::GraphicsContext>gc = osg::GraphicsContext::createGraphicsContext(traits.get());//每一个对应一个窗口osg::ref_ptr<osg::Camera>camera =new osg::Camera;camera->setGraphicsContext(gc.get());camera->setViewport(new osg::Viewport(0,0,width/numCameras,height));GLenum buffer = traits->doubleBuffer?GL_BACK:GL_FRONT;camera->setDrawBuffer(buffer);camera->setReadBuffer(buffer);viewer.addSlave(camera.get(),osg::Matrix::scale(aspectRatioScale,1.0,1.0)*osg::Matrix::translate(translate_x,0.0,0.0),osg::Matrix());}}int main(){osgViewer::Viewer viewer;multipleWindowMultipleCameras(viewer,false);viewer.setSceneData(osgDB::readNodeFile("glider.osg"));viewer.realize();viewer.run();return 0;}
0 0
- osg demo24 多窗口渲染
- OSG渲染引擎架构
- OSG渲染树
- OSG渲染状态管理
- OSG渲染状态管理
- OSG在MFC多窗口的使用
- OSG-Win32窗口显示osg
- 多渲染窗口的实现
- d3d多渲染窗口结构
- osg RTT 渲染到纹理
- 学习osg渲染内核笔记
- OSG RTT 渲染到纹理
- OSG 结点渲染状态 类图
- OSG 内嵌 QT,包括osgQT.lib库编译到渲染出窗口和事件机制实现
- 使用裁剪测试进行多窗口渲染
- Ogre中的多窗口渲染方法
- Ogre中的多窗口渲染方法
- Ogre中的多窗口渲染方法
- mpeg4ip的Mp4v2库移植到android系统上,实现h264封装到mp4的容器内
- Oracle中根据Date型转换成Java对应的long型毫秒数
- contenteditable编辑框防止不安全HTML代码
- 爱,近在咫尺又远在天涯
- 简述SD卡工作流程
- osg demo24 多窗口渲染
- 硅谷不是天堂:“加班”也疯狂
- Spring 重新加载数据源
- sql 存储过程中循环和游标用法
- UIKit相关
- 百万用户级游戏服务器架构设计(1)
- JRainbow插件使用手册
- Linux错误代码定义表
- KERNELRELEASE 讲解