![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
OSG
文章平均质量分 62
shui_zhi_lian
这个作者很懒,什么都没留下…
展开
-
osg::Material 材质
一、从OpenGL的角度来看,材料有如下几种属性:1. 环境;2. 散射;3. 镜面颜色;4. 光泽度;5. 发射光颜色。也就是说,材料的属性必须与光照结合,才可能体现出作用。比如,给某材料设置了(1.0, 0.0, 0.0, 1.0),在没有光照的情况下,他仍是没有颜色的(或者颜色不定)。因而既然osg::Material封装了关于材料属性的部分,转载 2014-09-11 10:05:12 · 2927 阅读 · 0 评论 -
osg节点统计方法(点数 面数)
void CMy3dsExportDlg::statusNode(osg::ref_ptr node,int& verNum,int& faceNum){ osg::ref_ptr sv=new osgUtil::StatsVisitor(); sv->apply(*node); sv->totalUpStats(); unsigned int unique_primitive原创 2014-08-12 11:46:24 · 1202 阅读 · 0 评论 -
osgcallback
该示例程序主要展示了osg回调的用法,osg提供的回调功能主要使节点能够完成用户临时定义的功能,这些功能由回调函数完成,在每帧更新时(不同回调类型执行回调函数的时机不一样)执行回调函数完成用户定义的功能。能执行回调函数的对象包括:节点、叶结点、相机、几何体(Drawable),osg提供的回调类型包括:更新回调(UpdateCallback)每帧遍历时执行,自动执行回调函数。转载 2014-08-12 21:25:04 · 925 阅读 · 0 评论 -
有关osg交集的一些总结
交集 你可以将通过点击鼠标的节点选择想象成是从鼠标(光标)位置向场景中发射了一条射线。被鼠标选中的场景部分将与射线有一个交集。如果场景是由线和点元素组成的,那么射线的交运算可能无法符合用户的实际选择,因为鼠标的位置几乎无法与这些图元产生精确的空间交集。 此外,在典型的透视渲染中,射线交运算的精度将与观察者所处的距离成反比。OSG 使用一种名为多胞体原创 2014-08-12 21:37:57 · 2244 阅读 · 0 评论 -
OSG 如何在地形上放置模型
这个问题可能是初学者都会碰到的问题,如何在地形上或者另外一个物体上放置其他的模型呢? 主要是用到了线交测绘的方法。 目的:在场景中我们已经有了一个地形 terrain,在这上面我们要放一辆坦克,该如何操作呢? 原理如下:我们假设有一条线 起点是 (x,y,-999 ) ,终点是 (x,y, 999)。如果这条线和terrain有交点,我们可以得到交点(x, y ,z) ,也即是说这个点一定会是原创 2014-08-17 15:10:52 · 3730 阅读 · 1 评论 -
osg::clipNode
这一段的功能主要是绘制线型的节点 //创建根节点 osg::Group* rootnode = new osg::Group; //创建状态集 osg::StateSet* stateset = new osg::StateSet; //设置多边形绘制方式为线型,正反面都绘制 osg::PolygonMode* polymod原创 2014-08-17 17:15:44 · 2301 阅读 · 0 评论 -
视图
一、四种变换1. 视图变换;2. 模型变换;3. 投影变换;4. 视口变换。弄明白这四种变换,视图方面的理解也该差不多了。首先定义位置。OpenGL中位置用(x,y,z,w)表示,x,y,z表示空间中的位置,而w通常为1,在之后的“透视除法”中使用。二、视图变换比如用库函数画一个四面体线框:[cpp] view原创 2014-09-11 09:26:09 · 513 阅读 · 0 评论 -
OSG学习笔记
在用户程序中使用osg 一.渲染Osg开放了所有的功能模块。因此用户程序完全可以使用最底层的osg功能来执行渲染操作。假设用户希望能够完全自主的控制场景图形的渲染,那么也可以按照下面的步骤编写应用程序的代码:1. 设计自己的视角管理代码:以改变OpenGL的模型视图矩阵。2. 创建用户窗口和OpenGL上下文,并将他们激活。如果有需要的话,用户也可以自行转载 2014-08-12 11:23:47 · 2989 阅读 · 0 评论 -
osg::AnimationPath osg::AnimationPath::ControlPoint osg::AnimationPathCallback
osg::AnimationPath osg::AnimationPath::ControlPoint osg::AnimationPathCallback osg::AnimationPath* animationPath = new osg::AnimationPath; //设置循环,还可设成摇摆:SWING 或仅动作1次:NO_LOOPI转载 2014-08-17 17:02:06 · 1319 阅读 · 0 评论 -
osg名词解释
osg:: ClearNode;颜色清除节点;用于设置清除颜色缓存的相关选项,它的子节点将在场景中首先渲染,以确保正确执行颜色缓存的设置;osghangglideosg:: ClipNode;剪切平面节点;定义场景中的剪切平面并剪切所有可剪切的子节点。注意,ClipNode能够剪切的节点不一定是它的子节点,详见第七章有关LightSource类的部分;osgcliposg:: Co转载 2014-08-13 08:24:43 · 2345 阅读 · 0 评论 -
OSG创建渲染线程的过程
OSG创建渲染线程的过程OSG创建渲染线程的过程 图形渲染线程是静态函数,为:static unsigned int __stdcall StartThread(void *data)它是在int Thread::start()中被调用:int Thread::start(){pd->tid.set( (void*)_beginthreade转载 2014-08-17 15:24:55 · 1910 阅读 · 0 评论 -
osg模型透明代码
2013-12-06 15:37:31| 分类:OSG | 标签:三维模型透明 |举报|字号大中小 订阅 //关闭灯光 state->setMode(GL_LIGHTING,osg::StateAttribute::OFF|osg::StateAttribute::PROTECTED); //打开混合融合模式 state->setMode(原创 2014-08-12 11:41:38 · 1309 阅读 · 0 评论