随笔分类 -  OSG

摘要:窗口化原理有时为了方便控制场景渲染,需要设置一个合适的图形环境窗口(即窗口化)。 创建图形环境的主要步骤如下: (1)通过WindowingSystemInterface类得到系统窗口接口,该系统接口主要是为了关联窗口系统与图形环境。 (2)下面是OSG中图形环境的主要特性,但在实际... 阅读全文
posted @ 2017-07-25 09:38 huahai 阅读(1213) 评论(0) 推荐(0)
摘要:接着上一篇博客说。 还有一种裁剪的方法:osg::Scissor类。 这个类封装了OpenGL中的glScissor()函数。 该类主要用于设置一个视口裁剪平面举行。设置裁剪平面举行的函数如下:void setScissor(int x, int y, int width, int ... 阅读全文
posted @ 2017-07-24 23:19 huahai 阅读(1082) 评论(0) 推荐(0)
摘要:在OSG中,默认了6个裁剪平面以去除没有必要显示的物体。也可以自己定义其他的裁剪平面来确定裁剪。 osg::ClipPlane类继承自osg::StateAttribute类,封装了OpenGL中的glClipPlane()函数。 在类的成员函数中,设置裁剪平面的有下面几个函数:vo... 阅读全文
posted @ 2017-07-24 22:33 huahai 阅读(1704) 评论(0) 推荐(0)
摘要:在很多时候,直接指定纹理坐标是非常不方便的,如曲面纹理坐标,只有少数的曲面(如圆锥、圆柱等)可以在不产生扭曲的情况下映射到平面上,其他的曲面在映射到表面时都会产生一定程度的扭曲。一般而言,曲面表面的曲率越大,纹理所需要的扭曲度就越大。这时,直接指定纹理坐标可能是一件非常困难的事情了。... 阅读全文
posted @ 2017-07-24 15:20 huahai 阅读(1682) 评论(0) 推荐(0)
摘要:LOD(level of detail):是指根据物体模型的结点在显示环境中所处的位置和重要度,决定物体渲染的资源分配,降低非重要物体的面数和细节度,从而获得高效率的渲染运算。在OSG的场景结点组织结构中,专门提供了场景结点osg::LOD来表达不同的细节层次模型。其中,osg::L... 阅读全文
posted @ 2017-07-24 09:49 huahai 阅读(1455) 评论(0) 推荐(0)
摘要:常用的内嵌几何体包括:osg::Box //正方体osg::Capsule //太空舱osg::Cone //椎体osg::Cylinder //柱体o... 阅读全文
posted @ 2017-07-22 15:49 huahai 阅读(713) 评论(0) 推荐(0)
摘要:osgFX库提供了一个用于多通道渲染(multi-pass rendering)的框架。每个你想要渲染的子图都应该被添加到osgFX::Effect节点,多通道技术的定义和使用都可以在这个节点中完成。你可能已经熟悉一些预定义的效果,例如osgFX::Scribe和osgFX::Out... 阅读全文
posted @ 2017-07-17 17:48 huahai 阅读(1218) 评论(0) 推荐(0)
摘要:shader language,称为着色语言,shade在英语是阴影、颜色深浅的意思。shader language基于物体本身属性和光照条件,计算美格橡塑的颜色值。 实际上这种解释具有明显的时代局限性,在GPU编程发展的早期,shader language的提出目标是加强对图形处理... 阅读全文
posted @ 2017-07-14 08:30 huahai 阅读(409) 评论(0) 推荐(0)
摘要:效果图: 代码示例:#include #include #include #include #include #include #include #include #include #include #include #include #include #include #inclu... 阅读全文
posted @ 2017-07-12 14:17 huahai 阅读(558) 评论(0) 推荐(0)
摘要:三维实体对象需要经过一系列的坐标变换才能正确、真实地显示在屏幕上。在一个场景中,当读者对场景中的物体进行各种变换及相关操作时,坐标系变换是非常频繁的。坐标系变换通常包括:世界坐标系-物体坐标系变换、物体坐标系-世界坐标系变换和世界坐标系-屏幕坐标系变换(一个二维平面坐标系,即显示器平... 阅读全文
posted @ 2017-07-11 21:54 huahai 阅读(1325) 评论(0) 推荐(0)