【问题标题】:How does open inventor / coin3d enable two-sided rendering like OpenGL?openinventor/coin3d如何实现像OpenGL一样的双面渲染?
【发布时间】:2020-12-17 22:23:01
【问题描述】:

Coin3D默认使用单面渲染如下图:

openinventor/coin3d如何实现像OpenGL一样的双面渲染?

【问题讨论】:

    标签: openinventor coin3d


    【解决方案1】:

    SoShapeHints 是答案,但这个总结可能更清楚:

    • 默认禁用双面照明和背面剔除。
    • 双面照明:如果非实心有序顶点启用。
      将 vertexOrdering 设置为 COUNTERCLOCKWISE(通常)或 CLOCKWISE。
    • 背面剔除:如果实心有序顶点启用。
      将 shapeType 设置为 SOLID。

    【讨论】:

    • 我知道了,只需要设置vertexOrdering。
    【解决方案2】:

    如果您已经将vertexOrdering 设置为CLOCKWISECOUNTERCLOCKWISE,则应在场景图形中的几何体之前添加SoShapeHints 节点,将shapeType 设置为UNKNOWN_SHAPE_TYPE,或者使用vertexOrdering对于任何形状类型,设置为 UNKNOWN_ORDERING,例如

    ShapeHints {
        vertexOrdering UNKNOWN_ORDERING
        shapeType UNKNOWN_SHAPE_TYPE
    }
    

    更多解释参见 Coin3D 的SoShapeHints 文档

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2016-11-12
      • 2010-10-26
      • 2018-12-23
      • 1970-01-01
      • 2012-12-29
      • 2011-08-24
      • 2015-04-14
      • 1970-01-01
      相关资源
      最近更新 更多