Coin Logo http://www.sim.no
http://www.coin3d.org

SoGeometryShader.h
1 #ifndef COIN_SOGEOMETRYSHADER_H
2 #define COIN_SOGEOMETRYSHADER_H
3 
4 /**************************************************************************\
5  *
6  * This file is part of the Coin 3D visualization library.
7  * Copyright (C) 1998-2007 by Systems in Motion. All rights reserved.
8  *
9  * This library is free software; you can redistribute it and/or
10  * modify it under the terms of the GNU General Public License
11  * ("GPL") version 2 as published by the Free Software Foundation.
12  * See the file LICENSE.GPL at the root directory of this source
13  * distribution for additional information about the GNU GPL.
14  *
15  * For using Coin with software that can not be combined with the GNU
16  * GPL, and for taking advantage of the additional benefits of our
17  * support services, please contact Systems in Motion about acquiring
18  * a Coin Professional Edition License.
19  *
20  * See http://www.coin3d.org/ for more information.
21  *
22  * Systems in Motion, Postboks 1283, Pirsenteret, 7462 Trondheim, NORWAY.
23  * http://www.sim.no/ sales@sim.no coin-support@coin3d.org
24  *
25 \**************************************************************************/
26 
27 #include <Inventor/nodes/SoShaderObject.h>
28 #include <Inventor/fields/SoSFEnum.h>
29 #include <Inventor/fields/SoSFInt32.h>
30 
31 // *************************************************************************
32 
33 class COIN_DLL_API SoGeometryShader : public SoShaderObject {
34  typedef SoShaderObject inherited;
35  SO_NODE_HEADER(SoGeometryShader);
36 
37 public:
38  static void initClass(void);
39  SoGeometryShader(void);
40  virtual ~SoGeometryShader();
41 
42  enum InputType {
45  TRIANGLES_IN
46  };
47 
48  enum OutputType {
51  TRIANGLE_STRIP_OUT
52  };
53 
57 
58  virtual void GLRender(SoGLRenderAction * action);
59 
60  static SbBool isSupported(SourceType sourceType);
61 
62 };
63 
64 #endif /* ! COIN_SOGEOMETRYSHADER_H */
SoState
The SoState class manages the Coin scenegraph traversal state data.
Definition: SoState.h:35
SoShaderObject::isActive
SoSFBool isActive
Definition: SoShaderObject.h:53
SoGeometryShader::isSupported
static SbBool isSupported(SourceType sourceType)
Definition: SoGeometryShader.cpp:241
SoGeometryShader::OutputType
OutputType
Definition: SoGeometryShader.h:48
SoDebugError::post
static void post(const char *const source, const char *const format,...)
Definition: SoDebugError.cpp:314
SoGeometryShader::maxEmit
SoSFInt32 maxEmit
Definition: SoGeometryShader.h:56
SoShaderObject::GLSL_PROGRAM
@ GLSL_PROGRAM
Definition: SoShaderObject.h:49
SoGeometryShader::POINTS_IN
@ POINTS_IN
Definition: SoGeometryShader.h:43
SoShaderObject::sourceType
SoSFEnum sourceType
Definition: SoShaderObject.h:54
SoGeometryShader::POINTS_OUT
@ POINTS_OUT
Definition: SoGeometryShader.h:49
SoGeometryShader::outputType
SoSFEnum outputType
Definition: SoGeometryShader.h:55
SoSFInt32
The SoSFInt32 class is a container for a 32-bit integer value.
Definition: SoSFInt32.h:30
SoGeometryShader::InputType
InputType
Definition: SoGeometryShader.h:42
SoGeometryShader::inputType
SoSFEnum inputType
Definition: SoGeometryShader.h:54
SoShaderObject::CG_PROGRAM
@ CG_PROGRAM
Definition: SoShaderObject.h:48
SoSFEnum
The SoSFEnum class is a container for an enum value.
Definition: SoSFEnum.h:31
SoBase
The SoBase class is the top-level superclass for a number of class-hierarchies.
Definition: SoBase.h:41
SoAction::getState
SoState * getState(void) const
Definition: SoAction.cpp:1028
SoShaderObject::GLRender
virtual void GLRender(SoGLRenderAction *action)
Definition: SoShaderObject.cpp:266
SoGeometryShader
The SoGeometryShader class is used for loading geometry shader programs.
Definition: SoGeometryShader.h:33
SoShaderObject::ARB_PROGRAM
@ ARB_PROGRAM
Definition: SoShaderObject.h:47
SoGeometryShader::TRIANGLES_IN
@ TRIANGLES_IN
Definition: SoGeometryShader.h:45
SoGeometryShader::~SoGeometryShader
virtual ~SoGeometryShader()
Definition: SoGeometryShader.cpp:169
SoGeometryShader::GLRender
virtual void GLRender(SoGLRenderAction *action)
Definition: SoGeometryShader.cpp:174
SoGeometryShader::LINES_IN
@ LINES_IN
Definition: SoGeometryShader.h:44
SoGeometryShader::SoGeometryShader
SoGeometryShader(void)
Definition: SoGeometryShader.cpp:146
SoGeometryShader::LINE_STRIP_OUT
@ LINE_STRIP_OUT
Definition: SoGeometryShader.h:50
SoGLRenderAction
The SoGLRenderAction class renders the scene graph with OpenGL calls.
Definition: SoGLRenderAction.h:39
SoShaderObject
Definition: SoShaderObject.h:41
SoShaderObject::SourceType
SourceType
Definition: SoShaderObject.h:46

Copyright © 1998-2007 by Systems in Motion AS. All rights reserved.

Generated on Wed Jul 24 2019 for Coin by Doxygen. 1.8.17