open inventor / coin3d 如何实现像 OpenGL 一样的 two-sided 渲染?
How does open inventor / coin3d enable two-sided rendering like OpenGL?
Coin3D默认使用single-sided渲染如下图:
open inventor / coin3d如何实现two-sided像OpenGL一样的渲染?
如果您已经将 vertexOrdering
设置为 [=14=,则应将 shapeType
设置为 UNKNOWN_SHAPE_TYPE
,然后在场景图形中的几何体之前添加一个 SoShapeHints 节点] 或 COUNTERCLOCKWISE
,或者对于任何形状类型将 vertexOrdering
设置为 UNKNOWN_ORDERING
,例如
ShapeHints {
vertexOrdering UNKNOWN_ORDERING
shapeType UNKNOWN_SHAPE_TYPE
}
如需进一步说明,请参阅 Coin3DSoShapeHints 文档
SoShapeHints 是答案,但这个总结可能更清楚:
- 默认禁用双面照明和背面剔除。
- 双面照明:如果不是实体和有序顶点,则启用。
将 vertexOrdering 设置为 COUNTERCLOCKWISE(通常)或 CLOCKWISE。
- 背面剔除:如果实体和有序顶点,则启用。
将 shapeType 设置为 SOLID。
Coin3D默认使用single-sided渲染如下图:
open inventor / coin3d如何实现two-sided像OpenGL一样的渲染?
如果您已经将 vertexOrdering
设置为 [=14=,则应将 shapeType
设置为 UNKNOWN_SHAPE_TYPE
,然后在场景图形中的几何体之前添加一个 SoShapeHints 节点] 或 COUNTERCLOCKWISE
,或者对于任何形状类型将 vertexOrdering
设置为 UNKNOWN_ORDERING
,例如
ShapeHints {
vertexOrdering UNKNOWN_ORDERING
shapeType UNKNOWN_SHAPE_TYPE
}
如需进一步说明,请参阅 Coin3DSoShapeHints 文档
SoShapeHints 是答案,但这个总结可能更清楚:
- 默认禁用双面照明和背面剔除。
- 双面照明:如果不是实体和有序顶点,则启用。
将 vertexOrdering 设置为 COUNTERCLOCKWISE(通常)或 CLOCKWISE。 - 背面剔除:如果实体和有序顶点,则启用。
将 shapeType 设置为 SOLID。