SCREEN_DOOR
|
Transparent triangles are rendered with a dither pattern. This is a fast (on most GFX cards) but not-so-high-quality transparency mode. |
ADD
|
Transparent objects are rendered using additive alpha blending. Additive blending is probably mostly used to create special transparency effects. The new pixel color is calculated as the current pixel color plus the source pixel color multiplied with the source pixel alpha value. |
DELAYED_ADD
|
SoGLRenderAction::DELAYED_ADD Transparent objects are rendered using additive alpha blending, in a second rendering pass with depth buffer updates disabled. |
SORTED_OBJECT_ADD
|
SoGLRenderAction::SORTED_OBJECT_ADD Transparent objects are rendered using additive alpha blending. Opaque objects are rendered first, and transparent objects are rendered back to front with z-buffer updates disabled. |
BLEND
|
Transparent objects are rendered using multiplicative alpha blending.
Multiplicative alpha blending is the blending type that is most often used to render transparent objects. The new pixel value is calculated as the old pixel color multiplied with one minus the source alpha value, plus the source pixel color multiplied with the source alpha value.
We recommend that you use this transparency mode if you have only one transparent object in your scene, and you know that it will be rendered after the opaque objects. |
DELAYED_BLEND
|
Transparent objects are rendered using multiplicative alpha blending, in a second rendering pass with depth buffer updates disabled.
Use this transparency type when you have one transparent object, or several transparent object that you know will never overlap (when projected to screen). Since the transparent objects are rendered after opaque ones, you'll not have to worry about putting the transparent objects at the end of your scene graph. It will not be as fast as the BLEND transparency type, of course, since the scene graph is traversed twice. |
SORTED_OBJECT_BLEND
|
Transparent objects are rendered using multiplicative alpha blending, Opaque objects are rendered first, and transparent objects are rendered back to front with z-buffer updates disabled.
Use this transparency mode when you have several transparent object that you know might overlap (when projected to screen). This method will require 1 + num_transparent_objects rendering passes. Path traversal is used when rendering transparent objects, of course, but it might still be slow if you have lots of state changes before your transparent object. When using this mode, we recommend placing the transparent objects as early as possible in the scene graph to minimize traversal overhead. |
SORTED_OBJECT_SORTED_TRIANGLE_ADD
|
This transparency type is a Coin extension versus the Open Inventor API.
Transparent objects are rendered using additive alpha blending, Transparent objects are rendered back to front, and triangles in each object are sorted back to front before rendering.
See description for SORTED_OBJECT_SORTED_TRIANGLE_BLEND for more information about this transparency type. |
SORTED_OBJECT_SORTED_TRIANGLE_BLEND
|
This transparency type is a Coin extension versus the Open Inventor API.
Transparent objects are rendered using multiplicative alpha blending, Transparent objects are rendered back to front, and triangles in each object are sorted back to front before rendering.
Use this transparency type when you have one (or more) transparent object(s) where you know triangles might overlap inside the object. This transparency type might be very slow if you have an object with lots of triangles, since all triangles have to be sorted before rendering, and an unoptimized rendering loop is used when rendering. Lines and points are not sorted before rendering. They are rendered as in the normal SORTED_OBJECT_BLEND transparency type.
Please note that this transparency mode does not guarantee "correct" transparency rendering. It is almost impossible to find an algorithm that will sort triangles correctly in all cases, and intersecting triangles are not handled. Also, since each object is handled separately, two intersecting object will lead to incorrect transparency. |