zoukankan      html  css  js  c++  java
  • osg模型操作之替代节点

    替代节点:

      由osgSim::Impostor : osg::LOD : osg::Group : osg::Node : osg::Object : osg::Referenced的继承。

    替代节点也是一种布告板,它是通过从当前视点将一个复杂物体对象绘制到一副图像纹理上来创建的,其中渲染的图像纹理映射的布告板上。值得注意的是,绘制过程与替代物在屏幕上覆盖的像素点数不是顶点数或者物体的复杂度成正比。替代节点可用于物体的一些实例或图形的一些画面,可以加速图像的绘制及渲染。替代节点的另一个优点是可以对纹理图像进行低通滤波,从而生成一张可用于景深效果的模糊图像。在实际运用中,绘制一个替代节点应该比绘制起所表示的物体要快的多,而且替代物应该和标识的物体非常像。同样重要的是,替代节点应该可以重复用于挨在一起的的多个视点,从而可以有效地利用帧与帧之间的相关性。随着视点距离的加大,物体的投影图像会随之变小,所以通常这种情形意味着可以使用替代节点方法来处理距离视点远的缓慢运动的物体。就是距离视点比较近,而且运动时有一面总是面向视点的物体也比较适合用替代节点。

      但很多时候替代节点对当前几何形状的近似不是很好。当错误超过这个范围时,替代节点就会变得无效。通常,对替代物的有效限制就是它的分辨率,当一个远处的替代节点慢慢靠近时,纹理中的单个像素将变得越来越明显,原来的视觉效果就会慢慢的消失,这时就需要根据视点和替代节点的当前位置生成新的替代物。这种情况下,图形纹理的分辨率绝对不能超过屏幕的当前分辨率。

    成员函数如下:

      void setImpostorThreshold(float distance);

      这个函数用于设置开始启用Impostor的距离,参数可以根据情况适当的调节。它继承自LOD节点,因此它同样可以有多个子节点来控制模型的层次显示。

    相关示例:

      

  • 相关阅读:
    UPC 5130 Concerts
    poj 1079 Calendar Game
    2018 ACM-ICPC 中国大学生程序设计竞赛线上赛
    CF932E
    浅谈Tarjan算法
    拉格朗日差值
    扩展欧几里得算法(exgcd)
    欧拉定理
    莫比乌斯反演
    除法分块
  • 原文地址:https://www.cnblogs.com/airduce/p/9621645.html
Copyright © 2011-2022 走看看