osg
a819721810
这个作者很懒,什么都没留下…
展开
-
OSG的setViewMatrixAsLookAt解析
首先,OSG里面的setViewMatrixAsLookAt函数是根据OpenGL里面的glulookat函数修改而来的,这里你最好可以先去看看http://blog.csdn.net/ivan_ljf/article/details/8764737这篇文章,三个参数的意思通俗来讲就是相机在世界坐标的位置,相机对准物体的方向(相机可以对准整个三维空间任一一点),相机绕自己中心点旋转的方向(就是说相机原创 2017-08-28 15:19:56 · 2347 阅读 · 0 评论 -
OSG的traverse()方法解析
目前正在研究贴图代替物体的方法,就顺便看了看Impostor的源码,发现里面是重写了traverse()方法,便研究了一下,首先traverse()方法是虚函数,重写以后,把该节点如果挂在场景下面,那么就会一直执行traverse()里面的东西,其次,traverse()能一直遍历完所有节点是因为里面还有一个accept方法会继续让节点遍历,accept方法这里就不多说了,如果你重写了travers原创 2017-08-30 14:59:42 · 2923 阅读 · 0 评论 -
OSG相机的一些函数解析
setRenderOrder函数是用来设置相机渲染的顺序的,通常一般从属相机要最先渲染,因为怕从属相机渲染的场景把主相机渲染的场景给覆盖了 setViewport函数是设置相机的视口的大小,视口就相当于照相机的底片,是相片成型的最终的大小 setProjectionMatrixAsFrustum是设置透视投影矩阵(是一个椎体),一般是用来裁剪的 作者初学者水平有限,有错误恳请指原创 2017-08-31 11:05:22 · 873 阅读 · 0 评论 -
OSG的几个矩阵
模型矩阵:利用glMultMatrix()来实现Transform. 视点矩阵:又叫观察矩阵,利用glulookat()来实现照相机的位置变化来实现视点的变换 投影矩阵:利用glFrustum()或者gluPerspective()来实现,生成投影矩阵或者正视矩阵 视口变换:利用setViewport来实现,实现显示窗口的大小原创 2017-09-13 14:31:12 · 1186 阅读 · 0 评论 -
OSG的impostor的几个问题
最近做impostor优化终于做出来了,里面有几个问题记录一下,最重要的是照相机问题,getGraphicsContext()->setSwapCallback()要发生在camera初始化好后,例如viewer->getCamera()方法要在viewer→realize()之后,但是这里其实还没初始化完全,我本来想把物体投影到屏幕下,看下物体在屏幕的屏幕坐标,但是一直未负数,后面老大告诉我说,v原创 2017-09-20 16:18:52 · 477 阅读 · 0 评论 -
OSG的渲染树与状态树
有点懒。。不想画图,随便说一说吧,其实状态树你可以看成是一个二叉树,非叶子节点StateGraph和叶子节点ReaderLeaf组成,然后一个ReaderLeaf你可以看成有一个Drawable对象,但是场景渲染的是渲染树,状态树只是为了好转换成渲染树而存在的。 渲染树你也可以看成一棵二叉树,RenderStage(渲染台)是根节点,RenderBin是非叶子节点的子节点,RenderLeaf是根原创 2017-09-03 16:46:49 · 1353 阅读 · 0 评论 -
博客已经转移
博客转移,转移到http://www.cnblogs.com/tangmiao/原创 2017-10-09 14:42:23 · 355 阅读 · 0 评论