Developer Documentation
|
Classes | |
class | DrawMode |
Specifies a DrawMode. More... | |
class | DrawModeProperties |
DrawModeProperties stores a set of properties that defines, how to render an object. More... | |
Typedefs | |
typedef std::bitset< 128 > | ModeFlagSet |
Enumerations | |
enum | DrawModeLightStage { LIGHTSTAGE_UNLIT, LIGHTSTAGE_SMOOTH, LIGHTSTAGE_PHONG } |
Lighting stage of a mesh: unlit, smooth, phong. More... | |
enum | DrawModePrimitive { PRIMITIVE_POINT, PRIMITIVE_EDGE, PRIMITIVE_HALFEDGE, PRIMITIVE_WIREFRAME, PRIMITIVE_HIDDENLINE, PRIMITIVE_POLYGON, PRIMITIVE_CELL } |
Primitive mode of a mesh. More... | |
enum | DrawModeColorSource { COLOR_NONE, COLOR_PER_VERTEX, COLOR_PER_EDGE, COLOR_PER_HALFEDGE, COLOR_PER_FACE } |
Source of Primitive Colors. More... | |
enum | DrawModeTexCoordSource { TEXCOORD_NONE, TEXCOORD_PER_VERTEX, TEXCOORD_PER_HALFEDGE } |
Source of Texture Coordinates. More... | |
enum | DrawModeNormalSource { NORMAL_NONE, NORMAL_PER_VERTEX, NORMAL_PER_HALFEDGE, NORMAL_PER_FACE } |
Source of Normals. More... | |
Functions | |
ACGDLLEXPORT void | initializeDefaultDrawModes (void) |
ACGDLLEXPORT const DrawMode & | addDrawMode (const std::string &_name, bool _propertyBased=false) |
Add a custom DrawMode. More... | |
ACGDLLEXPORT const DrawMode & | addDrawMode (const std::string &_name, const DrawModeProperties &_properties) |
Add a custom property based DrawMode. More... | |
ACGDLLEXPORT const DrawMode & | getDrawMode (const std::string &_name) |
Get a custom DrawMode. More... | |
ACGDLLEXPORT bool | drawModeExists (const std::string &_name) |
Check if the given draw mode exists. More... | |
ACGDLLEXPORT DrawMode | getDrawModeFromIndex (unsigned int _index) |
given an index of an atomic draw mode, return the drawmode | |
Variables | |
ACGDLLEXPORT DrawMode | NONE |
not a valid draw mode | |
ACGDLLEXPORT DrawMode | DEFAULT |
use the default (global) draw mode and not the node's own. | |
ACGDLLEXPORT DrawMode | POINTS |
draw unlighted points using the default base color | |
ACGDLLEXPORT DrawMode | POINTS_COLORED |
draw colored, but not lighted points (requires point colors) | |
ACGDLLEXPORT DrawMode | POINTS_SHADED |
draw shaded points (requires point normals) | |
ACGDLLEXPORT DrawMode | EDGES |
draw edges | |
ACGDLLEXPORT DrawMode | EDGES_COLORED |
draw edges with colors (without shading) | |
ACGDLLEXPORT DrawMode | WIREFRAME |
draw wireframe | |
ACGDLLEXPORT DrawMode | FACES |
ACGDLLEXPORT DrawMode | HIDDENLINE |
draw hidden line (2 rendering passes needed) | |
ACGDLLEXPORT DrawMode | SOLID_FLAT_SHADED |
draw flat shaded faces (requires face normals) | |
ACGDLLEXPORT DrawMode | SOLID_SMOOTH_SHADED |
draw smooth shaded (Gouraud shaded) faces (requires halfedge normals) | |
ACGDLLEXPORT DrawMode | SOLID_PHONG_SHADED |
draw phong shaded faces | |
ACGDLLEXPORT DrawMode | SOLID_FACES_COLORED |
draw colored, but not lighted faces using face colors | |
ACGDLLEXPORT DrawMode | SOLID_POINTS_COLORED |
draw colored, but not lighted faces using interpolated vertex colors | |
ACGDLLEXPORT DrawMode | SOLID_POINTS_COLORED_SHADED |
draw faces, but use Gouraud shading to interpolate vertex colors | |
ACGDLLEXPORT DrawMode | SOLID_ENV_MAPPED |
draw environment mapped | |
ACGDLLEXPORT DrawMode | SOLID_TEXTURED |
draw textured faces | |
ACGDLLEXPORT DrawMode | SOLID_TEXTURED_SHADED |
draw smooth shaded textured faces | |
ACGDLLEXPORT DrawMode | SOLID_1DTEXTURED |
draw textured faces | |
ACGDLLEXPORT DrawMode | SOLID_1DTEXTURED_SHADED |
draw smooth shaded textured faces | |
ACGDLLEXPORT DrawMode | SOLID_3DTEXTURED |
draw textured faces | |
ACGDLLEXPORT DrawMode | SOLID_3DTEXTURED_SHADED |
draw smooth shaded textured faces | |
ACGDLLEXPORT DrawMode | SOLID_FACES_COLORED_FLAT_SHADED |
draw flat shaded and colored faces (requires face normals and colors) | |
ACGDLLEXPORT DrawMode | SOLID_FACES_COLORED_SMOOTH_SHADED |
draw smooth shaded and colored faces (requires vertex normals and face colors) | |
ACGDLLEXPORT DrawMode | SOLID_FACES_COLORED_2DTEXTURED_FACE_SMOOTH_SHADED |
draw per halfedge texture faces modulated with face colors with smooth shading | |
ACGDLLEXPORT DrawMode | SOLID_2DTEXTURED_FACE |
draw per halfedge textured faces | |
ACGDLLEXPORT DrawMode | SOLID_2DTEXTURED_FACE_SHADED |
draw per halfedge textured faces | |
ACGDLLEXPORT DrawMode | SOLID_SHADER |
ACGDLLEXPORT DrawMode | SOLID_SMOOTH_SHADED_FEATURES |
draw smooth shaded (Gouraud shaded) faces (requires halfedge normals) | |
ACGDLLEXPORT DrawMode | CELLS |
ACGDLLEXPORT DrawMode | CELLS_COLORED |
draw cells with colors (without shading) | |
ACGDLLEXPORT DrawMode | HALFEDGES |
draw halfedges | |
ACGDLLEXPORT DrawMode | HALFEDGES_COLORED |
draw halfedges with colors (without shading) | |
ACGDLLEXPORT DrawMode | UNUSED |
marks the last used ID | |
This namespace consists of the definition of all available draw modes, function to get their name (description()) and to include them in a QPopupMenu.
Source of Primitive Colors.
This is interpreted as a per vertex diffuse and ambient color and multiplied with the material diffuse/ambient colors.
Definition at line 140 of file MeshNode2T.cc.
Lighting stage of a mesh: unlit, smooth, phong.
Don't confuse this with the interpolation mode of vertex attributes. This only says where to apply lighting, and nothing else.
Instead the interpolation mode is customizable for each attribute, making DrawModeProperties more flexible.
flat shading can be achieved by using LIGHTSTAGE_SMOOTH and setting the normal source to NORMAL_PER_FACE
Enumerator | |
---|---|
LIGHTSTAGE_UNLIT |
No lighting, normals may be used by user defined shaders |
LIGHTSTAGE_SMOOTH |
Perform lighting in vertex shader |
LIGHTSTAGE_PHONG |
Perform lighting in fragment shader |
Definition at line 113 of file MeshNode2T.cc.
Source of Normals.
This must be specified if lighting is enabled.
Definition at line 165 of file MeshNode2T.cc.
Primitive mode of a mesh.
Example: PRIMITIVE_EDGE on a polygon mesh renders only edges of the mesh.
Definition at line 124 of file MeshNode2T.cc.
Source of Texture Coordinates.
This must be specified for a textured draw.
Enumerator | |
---|---|
TEXCOORD_NONE |
Disable texture mapping |
TEXCOORD_PER_VERTEX |
Use per vertex texcoords for texture mapping |
TEXCOORD_PER_HALFEDGE |
Use per halfedge texcoords for texture mapping |
Definition at line 153 of file MeshNode2T.cc.
ACGDLLEXPORT const DrawMode& ACG::SceneGraph::ACG::SceneGraph::DrawModes::addDrawMode | ( | const std::string & | _name, |
bool | _propertyBased = false |
||
) |
Add a custom DrawMode.
The id of the new draw mode is returned. If it already exists, the id of the existing one is returned.
Property based draw modes consist of various flags, which define which primitives and additional information are send to the gpu.
_name | Name of the draw mode to add |
_propertyBased | If set to true a property based draw mode is created. |
Definition at line 771 of file DrawModes.cc.
ACGDLLEXPORT const DrawMode& ACG::SceneGraph::ACG::SceneGraph::DrawModes::addDrawMode | ( | const std::string & | _name, |
const DrawModeProperties & | _properties | ||
) |
Add a custom property based DrawMode.
The id of the new draw mode is returned. If it already exists, the id of the existing one is returned.
Property based draw modes consist of various flags, which define which primitives and additional information are send to the gpu.
_name | Name of the draw mode to add |
_properties | Properties of the drawmode |
ACGDLLEXPORT bool ACG::SceneGraph::ACG::SceneGraph::DrawModes::drawModeExists | ( | const std::string & | _name | ) |
Check if the given draw mode exists.
Definition at line 830 of file DrawModes.cc.
ACGDLLEXPORT const DrawMode& ACG::SceneGraph::ACG::SceneGraph::DrawModes::getDrawMode | ( | const std::string & | _name | ) |
Get a custom DrawMode.
The id of the draw mode is returned or if it does not exist, DrawMode::NONE is returned.
_name | Name of the DrawMode |
Definition at line 813 of file DrawModes.cc.
ACGDLLEXPORT void ACG::SceneGraph::ACG::SceneGraph::DrawModes::initializeDefaultDrawModes | ( | void | ) |
Initialize the default modes. This function has to be called at least once at application startup.
Definition at line 645 of file DrawModes.cc.
ACGDLLEXPORT DrawMode ACG::SceneGraph::ACG::SceneGraph::DrawModes::SOLID_SHADER |
drawing is controlled by shaders ( Use shadernodes to set them before the actual object to render)
Definition at line 104 of file DrawModes.cc.