- 博客(8)
- 资源 (4)
- 收藏
- 关注
原创 HUD抬头显示
HUD抬头显示基本方法:1) 创建一个camera2) 设置camera的投影矩阵为osg::Matrix::ortho2D(0,width,0,height)3) 设置camera的坐标系为绝对坐标系4) 设置camera的视图矩阵为单位矩阵5) 设置camera的清除掩码只是深度缓存6) 设置camera的渲染顺序是最后渲染7) 关闭光照和深度测试
2007-12-06 16:22:00 4901
原创 自定义窗口大小并且让定义在自定义窗口的什么位置显示,窗口可以拖动。
自定义窗口大小并且让定义在自定义窗口的什么位置显示,窗口可以拖动。#include #include #include #include #include void main( ){ osg::ref_ptrosg::Node> loadedModel = osgDB::readNodeFile("cow.osg"); osgViewer:
2007-12-06 16:21:00 3503
原创 osgViewer::Viewer详解
osgViewer::Viewer详解 l 构造函数Viewer::Viewer(osg::ArgumentParser& arguments)可以做一些初始化工作,比如当读取参数--clear-color时,可以设置背景颜色。详细请参考源码。建议不使用。l 函数setThreadingModel设置线程模型SingleThreaded - 单CPU
2007-12-06 16:20:00 19135 6
原创 osgGA::AnimationPathManipulator的使用(实现固定路径漫游)
osgGA::AnimationPathManipulator的使用(实现固定路径漫游)首先定义AnimationPathManipulato操纵器,在构造函数中输入路径文件名字,然后将其加入键盘选择器(keyswitchManipulator)。 l 可以直接设置操纵器 viewer.setCameraManipulator(apm.get()); l
2007-12-06 16:19:00 5495
原创 以线框的方式画一个节点的最小BoundingBox
以线框的方式画一个节点的最小BoundingBoxvoid BoxLine::Set(osg::BoundingBox &box){ float lengthX=box.xMax()-box.xMin(); float lengthY=box.yMax()-box.yMin(); float lengthZ=box.zMax()-box.zMin();
2007-12-06 16:18:00 4413
原创 画一个始终对着屏幕的包围正方形
画一个始终对着屏幕的包围正方形思路:给定中心和包围球的半径radius,画出一个边长为2* radius的正方形边框,并且这个正方形边框始终对着屏幕,变换节点选择osg::AutoTransform,osg::AutoTransform继承自osg::Transform,其主要功能是使其孩子能自动缩放或者选择,从与而屏幕坐标系联系在一起,利用setAutoRotateMod设置自动选择,可选变
2007-12-06 16:17:00 2535
原创 数据库的应用——直接从内存中读取osg节点
数据库的应用——直接从内存中读取osg节点目的:要从数据库中读取节点数据到osg。 一开始的方法是这样的,每当我要添加一个数据库中的节点数据时,首先把它读取到内存中,然后写入一个文件,最后再次从文件中用osg的osgDB::readNodeFile()读取,这个方法是可行的,但是却很糟糕。我的初衷是不要经过文件转换。 现在问题解决了,多亏了osg::ReaderWriter提供
2007-12-03 16:41:00 3795 1
原创 设置PolytopeIntersector需要注意的问题
设置PolytopeIntersector需要注意的问题 代码下载地址: 截图: 做了一个PolytopeIntersector的例子,如果飞机飞入和飞离这个多面体的时候可以正确的返回飞机是不是在区域内 关于有些节点不在NodePah里的问题 我加载了一个osg自带的模型cessna.osg,给他设置了名字"cessna",可是当它进入多面体后Node
2007-12-03 09:50:00 6362 5
ado,vc, 显示数据库图像,把图像保存到数据库
2007-11-09
二分图匹配幻灯片
2007-10-15
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人