Provided by: libcoin60-doc_3.1.3-2_all bug

NAME

       SoSceneTexture2 -

       The SoSceneTexture2 class is used to create a 2D texture from a Coin scene graph.

       Lets the rendering of a scene graph be specified as a texture image to be used in another
       scene graph. Set up the scene graph used for a texture in the SoSceneTexture2::scene
       field.

SYNOPSIS

       #include <Inventor/nodes/SoSceneTexture2.h>

       Inherits SoNode.

   Public Types
       enum Model { MODULATE =  SoTextureImageElement::MODULATE, DECAL =
           SoTextureImageElement::DECAL, BLEND =  SoTextureImageElement::BLEND, REPLACE =
           SoTextureImageElement::REPLACE }
       enum Wrap { REPEAT =  SoTextureImageElement::REPEAT, CLAMP =
           SoTextureImageElement::CLAMP, CLAMP_TO_BORDER =
           SoTextureImageElement::CLAMP_TO_BORDER }
       enum TransparencyFunction { NONE, ALPHA_BLEND, ALPHA_TEST }
       enum Type { DEPTH, RGBA8, RGBA32F, RGB32F, RGBA16F, RGB16F, R3_G3_B2, RGB, RGB4, RGB5,
           RGB8, RGB10, RGB12, RGB16, RGBA, RGBA2, RGBA4, RGB5_A1, RGB10_A2, RGBA12, RGBA16 }

   Public Member Functions
       virtual void notify (SoNotList *list)
       virtual void write (SoWriteAction *action)
       virtual void doAction (SoAction *action)
       virtual void GLRender (SoGLRenderAction *action)
       virtual void callback (SoCallbackAction *action)
       virtual void rayPick (SoRayPickAction *action)

   Static Public Member Functions
       static void initClass (void)

   Public Attributes
       SoSFEnum wrapS
       SoSFEnum wrapT
       SoSFEnum model
       SoSFColor blendColor
       SoSFVec4f backgroundColor
       SoSFVec2s size
       SoSFNode scene
       SoSFNode sceneTransparencyType
       SoSFEnum transparencyFunction
       SoSFEnum type

Detailed Description

       The SoSceneTexture2 class is used to create a 2D texture from a Coin scene graph.

       Lets the rendering of a scene graph be specified as a texture image to be used in another
       scene graph. Set up the scene graph used for a texture in the SoSceneTexture2::scene
       field.

       This node behaves exactly like SoTexture2 when it comes mapping the actual texture onto
       subsequent geometry. Please read the SoTexture2 documentation for more information about
       how textures are mapped onto shapes.

       A notable feature of this node is that it will use offscreen pbuffers for hardware
       accelerated rendering, if they are available from the OpenGL driver. WGL, GLX and AGL, for
       OpenGL drivers on Microsoft Windows, X11 and Mac OS X, respectively, all support the
       OpenGL Architecture Review Board (ARB) pbuffer extension in later incarnations from most
       OpenGL vendors.

       Note also that the offscreen pbuffer will be used directly on the card as a texture, with
       no costly round trip back and forth from CPU memory, if the OpenGL driver supports the
       recent ARB_render_texture extension.

       An important limitation is that textures should have dimensions that are equal to a whole
       power-of-two, see documentation for SoSceneTexture::size.

       FILE FORMAT/DEFAULTS:

           SceneTexture2 {
               size 256 256
               scene NULL
               sceneTransparencyType NULL
               type RGBA_UNSIGNED_BYTE
               backgroundColor 0 0 0 0
               transparencyFunction NONE
               wrapS REPEAT
               wrapT REPEAT
               model MODULATE
               blendColor 0 0 0
           }

       Since:
           Coin 2.2

Member Enumeration Documentation

   enum SoSceneTexture2::Model Texture mapping model, for deciding how to 'merge' the texturemap
       with the object it is mapped onto.
       Enumerator:

       MODULATE
              Texture color is multiplied by the polygon color. The result will be Phong shaded
              (if light model is PHONG).

       DECAL  Texture image overwrites polygon shading. Textured pixels will not be Phong shaded.
              Has undefined behaviour for grayscale and grayscale-alpha textures.

       BLEND  This model is normally used with monochrome textures (i.e. textures with one or two
              components). The first component, the intensity, is then used to blend between the
              shaded color of the polygon and the SoSceneTexture2::blendColor.

       REPLACE
              Texture image overwrites polygon shading. Textured pixels will not be Phong shaded.
              Supports grayscale and grayscale alpha textures. This feature requires OpenGL 1.1.
              MODULATE will be used if OpenGL version < 1.1 is detected.

   enum SoSceneTexture2::Wrap Enumeration of wrapping strategies which can be used when the
       texturemap doesn't cover the full extent of the geometry.
       Enumerator:

       REPEAT Repeat texture when coordinate is not between 0 and 1.

       CLAMP  Clamp coordinate between 0 and 1.

   enum SoSceneTexture2::TransparencyFunction For deciding how the texture's alpha channel is
       handled. It's not possible to automatically detect this, since the texture is stored only
       on the graphics card's memory, and it'd be too slow to fetch the image to test the alpha
       channel like Coin does for regular textures.
       Enumerator:

       NONE   The alpha channel is ignored.

       ALPHA_BLEND
              Alpha blending is used.

       ALPHA_TEST
              An alpha test function is used.

   enum SoSceneTexture2::Type
       Enumerator:

       DEPTH  Specifies a depth buffer texture.

       RGBA8  Specifies an RGBA texture with 8 bits per component.

Member Function Documentation

   void SoSceneTexture2::initClass (void) [static] Sets up initialization for data common to all
       instances of this class, like submitting necessary information to the Coin type system.
       Reimplemented from SoNode.

   void SoSceneTexture2::notify (SoNotList *l) [virtual] Notifies all auditors for this instance
       when changes are made.
       Reimplemented from SoNode.

   void SoSceneTexture2::write (SoWriteAction *action) [virtual] Action method for SoWriteAction.
       Writes out a node object, and any connected nodes, engines etc, if necessary.

       Reimplemented from SoNode.

   void SoSceneTexture2::doAction (SoAction *action) [virtual] This function performs the typical
       operation of a node for any action.
       Reimplemented from SoNode.

   void SoSceneTexture2::GLRender (SoGLRenderAction *action) [virtual] Action method for the
       SoGLRenderAction.
       This is called during rendering traversals. Nodes influencing the rendering state in any
       way or who wants to throw geometry primitives at OpenGL overrides this method.

       Reimplemented from SoNode.

   void SoSceneTexture2::callback (SoCallbackAction *action) [virtual] Action method for
       SoCallbackAction.
       Simply updates the state according to how the node behaves for the render action, so the
       application programmer can use the SoCallbackAction for extracting information about the
       scene graph.

       Reimplemented from SoNode.

   void SoSceneTexture2::rayPick (SoRayPickAction *action) [virtual] Action method for
       SoRayPickAction.
       Checks the ray specification of the action and tests for intersection with the data of the
       node.

       Nodes influencing relevant state variables for how picking is done also overrides this
       method.

       Reimplemented from SoNode.

Member Data Documentation

   SoSFEnum SoSceneTexture2::wrapS Wrapping strategy for the S coordinate when the texturemap is
       narrower than the object to map onto.
       Default value is SoSceneTexture2::REPEAT.

   SoSFEnum SoSceneTexture2::wrapT Wrapping strategy for the T coordinate when the texturemap is
       shorter than the object to map onto.
       Default value is SoSceneTexture2::REPEAT.

   SoSFEnum SoSceneTexture2::model Texturemapping model for how the texturemap is 'merged' with
       the polygon primitives it is applied to. Default value is SoSceneTexture2::MODULATE.
   SoSFColor SoSceneTexture2::blendColor Blend color. Used when SoSceneTexture2::model is
       SoSceneTexture2::BLEND.
       Default color value is [0, 0, 0], black, which means no contribution to the blending is
       made.

   SoSFVec4f SoSceneTexture2::backgroundColor The color the color buffer is cleared to before
       rendering the scene. Default value is (0.0f, 0.0f, 0.0f, 0.0f).
   SoSFVec2s SoSceneTexture2::size The size of the texture.
       This node currently only supports power of two textures. If the size is not a power of
       two, the value will be rounded upwards to the next power of two.

   SoSFNode SoSceneTexture2::scene The scene graph that is rendered into the texture.
   SoSFNode SoSceneTexture2::sceneTransparencyType Used for overriding the transparency type for
       the sub scene graph. Should contain an instance of the SoTransparecyType node, or NULL to
       inherit the transparency type from the current viewer.
       Please note that if you want to render the texture using frame buffer objects, you need to
       use of of the NONE, SCREEN_DOOR, ADD or BLEND transparency types.

   SoSFEnum SoSceneTexture2::transparencyFunction The transparency function used. Default value
       is NONE.
   SoSFNode SoSceneTexture2::type The type of texture to generate. RGBA_UNSIGNED_BYTE for normal
       texture, DEPTH for a depth buffer texture, RGBA_FLOAT for a floating point RGBA texture.
       texture. Default is RGBA_UNSIGNED_BYTE.

Author

       Generated automatically by Doxygen for Coin from the source code.