Class SoPackedColor

  • All Implemented Interfaces:
    SafeDisposable

    public class SoPackedColor
    extends SoNode
    Node that defines base colors using packed representation. SoPackedColor is similar to SoBaseColor in that it sets the diffuse color component of the current material. However, it also changes the transparency component. The color and transparency information is packed into unsigned 32-bit integers: 0xrrggbbaa, where aa represents the alpha (0x00 = fully transparent, 0xff = opaque), and rr, gg, and bb represent the red, blue, and green components of the color, respectively. Note that the order (r,g,b,a) of these components is reversed from the ordering in releases of Open Inventor prior to 2.1 and is platform independent.

    SoPackedColor uses less memory than SoBaseColor or SoMaterial to store multiple color and transparency values. It can be used in cases where space is critical. However, for geometry nodes that have a vertexProperty field, the best practice is to use an SoVertexProperty node (which also has an orderedRGBA field) to specify diffuse color and transparency.

    If setOverride() was called on an SoMaterial node higher in the scene graph and either the diffuseColor field or the transparency field is not ignored (setIgnored()), then the color and transparency values from the SoMaterial node are used instead of the values in this node. It is not currently possible to override just the color or just the transparency.

    File format/default:

    PackedColor {

      orderedRGBA 0xccccccff
    }

    Action behavior:

    SoGLRenderAction, SoCallbackAction
    Sets the current base (diffuse) color(s) in the state.

    See Also:
    SoBaseColor, SoVertexProperty, SoMaterial
    • Field Detail

      • orderedRGBA

        public final SoMFUInt32 orderedRGBA
        Defines the packed colors.
    • Constructor Detail

      • SoPackedColor

        public SoPackedColor()
        Creates a packed color node with default settings.