author | Florian Link |
package | MeVisLab/Standard |
dll | SoRenderers |
definition | SoRenderers.def |
The SoRenderSurfaceIntersection allows to render the intersection of 3D triangle meshes with a given world plane. The intersection is rendered using anti-aliased lines. The module requires OpenGL 2.0 and geometry shaders.
Note: Only triangle meshes are supported, that means points, lines, quads and polygons are not supported. If you are using a WEM rendering, make sure that it consists of triangles only. You can use WEMModify to triangulate any WEM mesh. On NVidia hardware quads seem to work as well, but quads definitely do not work on ATI graphics cards. Make sure to convert quads to triangles when using them with this module to get working cross platform results.
Example usage:
The module can be used to draw the intersections both in 3D or onto a SoView2D using SoView2DScene. In the case of the SoView2DScene, the module automatically uses the current SoView2D slice as intersection plane, if Use Slab Rendering Plane is enabled.
Make sure to enable double sided rendering (e.g. in the SoWEMRenderer), or to add a SoShapeHint module to force double sided rendering, otherwise back faces are not handled correctly.
Albedo Mix: Float | Line Width: Float |
Alpha: Float | pickCulling: Enum |
boundingBoxCaching: Enum | renderCaching: Enum |
Color: Color | renderCulling: Enum |
Fill Inside: Bool | Use Slab Rendering Plane: Bool |
Inside Albedo Mix: Float | World Plane: Plane |
Inside Alpha: Float | |
Inside Color: Color |
The alpha blending value of the intersection.
Enables usage of the SoView2DScene slab information to render on the plane that the SoView2D shows.
The plane that should be intersected (ignored if SoView2DScene is present and Use Slab Rendering Plane is enabled.
Defines how much of the geometry color is mixed in (0 = color field only, 1 = color * geometry color).
Enables filling of the inside. This requires another rendering pass.
Defines the color to use for the inside.