SoGeometryShader.3coin2

Langue: en

Version: 380225 (fedora - 01/12/10)

Section: 3 (Bibliothèques de fonctions)

NAME

SoGeometryShader -

The SoGeometryShader class is used for loading geometry shader programs.

See Shaders in Coin for more information on how to set up a scene graph with shaders.

SYNOPSIS


#include <Inventor/nodes/SoGeometryShader.h>

Inherits SoShaderObject.

Public Types


enum InputType { POINTS_IN, LINES_IN, TRIANGLES_IN }

enum OutputType { POINTS_OUT, LINE_STRIP_OUT, TRIANGLE_STRIP_OUT }

Public Member Functions


SoGeometryShader (void)

virtual ~SoGeometryShader ()

virtual void GLRender (SoGLRenderAction *action)

Static Public Member Functions


static void initClass (void)

static SbBool isSupported (SourceType sourceType)

Public Attributes


SoSFEnum inputType

SoSFEnum outputType

SoSFInt32 maxEmit

Detailed Description

The SoGeometryShader class is used for loading geometry shader programs.

See Shaders in Coin for more information on how to set up a scene graph with shaders.

FILE FORMAT/DEFAULTS:

     GeometryShader {
       isActive TRUE
       sourceType FILENAME
       sourceProgram ''
       parameter []
       inputType TRIANGLES_IN
       outputType TRIANGLE_STRIP_OUT
       maxEmit 8
     }
 
 

See also:

SoShaderObject
SoShaderProgram

Since:

Coin 2.5

Member Enumeration Documentation

enum SoGeometryShader::InputTypeEnumerates the input types.

Enumerator:

POINTS_IN
Shader uses points as input.
LINES_IN
Shader uses lines as input.
TRIANGLES_IN
Shader uses triangles as input. OpenGL will automatically convert quads and polygons into triangles.

enum SoGeometryShader::OutputTypeEnumerates the output types.

Enumerator:

POINTS_OUT
Shader generates points.
LINE_STRIP_OUT
Shader generates line strips.

Constructor & Destructor Documentation

SoGeometryShader::SoGeometryShader (void)Constructor.

References inputType, LINE_STRIP_OUT, LINES_IN, maxEmit, outputType, POINTS_IN, POINTS_OUT, and TRIANGLES_IN.

SoGeometryShader::~SoGeometryShader () [virtual]Destructor.

Member Function Documentation

void SoGeometryShader::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 SoShaderObject.

void SoGeometryShader::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 SoShaderObject.

References SoFieldContainer::get(), SoAction::getState(), SoShaderObject::GLRender(), inputType, SoShaderObject::isActive, LINE_STRIP_OUT, LINES_IN, maxEmit, outputType, POINTS_IN, POINTS_OUT, SoDebugError::post(), and TRIANGLES_IN.

SbBool SoGeometryShader::isSupported (SourceType sourceType) [static]Returns a boolean indicating whether the requested source type is supported by the OpenGL driver or not.

Beware: To get a correct answer, a valid OpenGL context must be available.

References SoShaderObject::ARB_PROGRAM, SoShaderObject::CG_PROGRAM, and SoShaderObject::GLSL_PROGRAM.

Member Data Documentation

SoSFEnum SoGeometryShader::inputTypeThe type of geometry used as input to the shader. Default value is TRIANGLES_IN.

Referenced by GLRender(), and SoGeometryShader().

SoSFEnum SoGeometryShader::outputTypeThe type of geometry generated from the shader. Default value is TRIANGLE_FAN_OUT.

Referenced by GLRender(), and SoGeometryShader().

SoSFInt32 SoGeometryShader::maxEmitThe maximum number of vertices emitted from the shader. Default value is 8. This corresponds to the GL_GEOMETRY_VERTICES_OUT_EXT enum.

Referenced by GLRender(), and SoGeometryShader().

Author

Generated automatically by Doxygen for Coin from the source code.