scg3
0.6
|
Classes | |
class | Animation |
Base class for all animations (abstract), providing general functionality. More... | |
class | BumpMapCore |
2D bump map core storing a texture (optional) and a normal map. More... | |
class | Camera |
Base class for all cameras (composite node, abstract). More... | |
class | CameraController |
Base class for all camera controllers, acting on a Camera node (abstract). More... | |
class | ColorCore |
A core to set a vertex color or a color transformation to be applied to subsequent geometry. More... | |
class | Composite |
Base class for all composite nodes, i.e., nodes with children (composite pattern, abstract). More... | |
class | Controller |
Base class for all controllers (abstract). More... | |
class | Core |
Base class for all cores (abstract). More... | |
class | CubeMapCore |
Cube map textue core. More... | |
struct | FrameBufferSize |
Frame buffer size, to be set by renderer in Renderer::initViewer(), called by Viewer::init(). More... | |
class | GeometryCore |
A core that contains geometry information to be rendered. More... | |
class | GeometryCoreFactory |
A factory to create geometry cores. More... | |
class | Group |
A group node to be used as root of a sub-tree of nodes (composite node). More... | |
class | InfoTraverser |
A traverser that gathers information about the scene graph (visitor pattern). More... | |
class | KeyboardController |
A camera controller using keyboard input. More... | |
class | Leaf |
Base class for all leaf nodes, i.e., nodes without children (composite pattern, abstract). More... | |
class | Light |
A light to be applied to all nodes of its sub-tree (composite node). More... | |
class | LightPosition |
A light position node to define the position of an associated light within the scene graph (leaf node). More... | |
class | MaterialCore |
A core to set material properties for lighting to be applied to subsequent geometry. More... | |
class | MatrixStack |
Matrix stack to store model-view, projection, texture, and color matrices, used by RenderState. More... | |
class | MouseController |
A camera controller using mouse input. More... | |
class | Node |
Base class for all nodes (composite pattern, abstract). More... | |
struct | OGLAttrib |
Attribute name and location. More... | |
struct | OGLConfig |
OpenGL configuration, may be set by user before calling Viewer::init(). More... | |
class | OGLConstants |
OpenGL attribute names and locations, uniform names, etc., to be used by ShaderCore, ShaderCoreFactory, and GeometryCore. More... | |
struct | OGLFragData |
Fragment data name and location. More... | |
struct | OGLSampler |
Sampler name and texture unit. More... | |
struct | OGLUniformBlock |
Uniform block name and index. More... | |
class | OrthographicCamera |
A camera with orthographic projection(composite node). More... | |
class | PerspectiveCamera |
A camera with perspective projection (composite node). More... | |
class | PreTraverser |
A traverser that searches Camera and LightPosition nodes in the scene graph (visitor pattern). More... | |
class | Renderer |
Base class for all renderers (abstract). More... | |
class | RenderState |
The central render state that collects information about the current shader, transformations, matrix stacks, light and color properties. More... | |
class | RenderTraverser |
A traverser that renders the scene graph (visitor pattern). More... | |
class | ShaderCore |
A core to set a shader program to be applied to subsequent nodes. More... | |
class | ShaderCoreFactory |
A factory to create shader cores. More... | |
struct | ShaderFile |
A shader file consisting of a file name and a shader type (GL_VERTEX_SHADER, GL_FRAGMENT_SHADER, or GL_GEOMETRY_SHADER), to be used by ShaderCoreFactory. More... | |
struct | ShaderID |
A shader ID to identify shaders in error messages. An arbitrary name can be added to the OpnGL shader index, e.g., a file name. More... | |
class | Shape |
A shape node that contains geometry to be rendered (leaf node). More... | |
class | StandardRenderer |
A standard renderer that uses a PreTraverser, a RenderTraverser, and an InfoTraverser. More... | |
class | StereoCamera |
A perspective stereo camera (composite node). More... | |
class | StereoRenderer |
Base class for all stereo renderers (abstract). More... | |
class | StereoRendererActive |
A renderer for active stereo (e.g., shutter glasses). More... | |
class | StereoRendererAnaglyph |
A renderer for anaglyph stereo (left eye: red, right eye: cyan). More... | |
class | StereoRendererPassive |
A renderer for passive stereo (e.g., polarized projection). More... | |
class | Texture2DCore |
2D texture core. More... | |
class | TextureCore |
Base class for all texture cores (abstract). More... | |
class | TextureCoreFactory |
A factory to create textures. More... | |
class | TransformAnimation |
An animation that creates a transformation to be applied to its sub-tree (composite node). More... | |
class | Transformation |
A transformation node to be used to appy a transformation to the sub-tree (composite node). More... | |
class | Traverser |
Base class for all traversers (visitor pattern, abstract). More... | |
class | Viewer |
Central viewer managing window, controllers, animations, and main loop. More... | |
class | ViewState |
The view state of the application, managed by Viewer and accessible by Controller::checkInput() (or derived classes). More... | |
Enumerations | |
enum | DrawMode { DrawMode::ARRAYS, DrawMode::ELEMENTS } |
Draw mode for vertex buffer objects. More... | |
enum | OGLProfile : int { OGLProfile::NONE = 0, OGLProfile::CORE = GLFW_OPENGL_CORE_PROFILE, OGLProfile::COMPATIBILITY = GLFW_OPENGL_COMPAT_PROFILE } |
Profile definitions for OGLConfig. More... | |
Variables | |
const float | PI = 3.141592654f |
typedef Animation* scg::AnimationSP |
doxygen stub for std::shared_ptr< Animation >
Definition at line 42 of file scg_doxygen_stub.h.
typedef Animation* scg::AnimationUP |
doxygen stub for std::unique_ptr< Animation >
Definition at line 42 of file scg_doxygen_stub.h.
typedef BumpMapCore* scg::BumpMapCoreSP |
doxygen stub for std::shared_ptr< BumpMapCore >
Definition at line 42 of file scg_doxygen_stub.h.
typedef BumpMapCore* scg::BumpMapCoreUP |
doxygen stub for std::unique_ptr< BumpMapCore >
Definition at line 43 of file scg_doxygen_stub.h.
typedef CameraController* scg::CameraControllerSP |
doxygen stub for std::shared_ptr< CameraController >
Definition at line 44 of file scg_doxygen_stub.h.
typedef CameraController* scg::CameraControllerUP |
doxygen stub for std::unique_ptr< CameraController >
Definition at line 45 of file scg_doxygen_stub.h.
typedef Camera* scg::CameraSP |
doxygen stub for std::shared_ptr< Camera >
Definition at line 43 of file scg_doxygen_stub.h.
typedef Camera* scg::CameraUP |
doxygen stub for std::unique_ptr< Camera >
Definition at line 44 of file scg_doxygen_stub.h.
typedef ColorCore* scg::ColorCoreSP |
doxygen stub for std::shared_ptr< ColorCore >
Definition at line 45 of file scg_doxygen_stub.h.
typedef ColorCore* scg::ColorCoreUP |
doxygen stub for std::unique_ptr< ColorCore >
Definition at line 46 of file scg_doxygen_stub.h.
typedef Composite* scg::CompositeSP |
doxygen stub for std::shared_ptr< Composite >
Definition at line 46 of file scg_doxygen_stub.h.
typedef Composite* scg::CompositeUP |
doxygen stub for std::unique_ptr< Composite >
Definition at line 47 of file scg_doxygen_stub.h.
typedef Controller* scg::ControllerSP |
doxygen stub for std::shared_ptr< Controller >
Definition at line 47 of file scg_doxygen_stub.h.
typedef Controller* scg::ControllerUP |
doxygen stub for std::unique_ptr< Controller >
Definition at line 48 of file scg_doxygen_stub.h.
typedef Core* scg::CoreSP |
doxygen stub for std::shared_ptr< Core >
Definition at line 48 of file scg_doxygen_stub.h.
typedef Core* scg::CoreUP |
doxygen stub for std::unique_ptr< Core >
Definition at line 49 of file scg_doxygen_stub.h.
doxygen stub for std::shared_ptr< GeometryCoreFactory >
Definition at line 50 of file scg_doxygen_stub.h.
doxygen stub for std::unique_ptr< GeometryCoreFactory >
Definition at line 51 of file scg_doxygen_stub.h.
typedef GeometryCore* scg::GeometryCoreSP |
doxygen stub for std::shared_ptr< GeometryCore >
Definition at line 49 of file scg_doxygen_stub.h.
typedef GeometryCore* scg::GeometryCoreUP |
doxygen stub for std::unique_ptr< GeometryCore >
Definition at line 50 of file scg_doxygen_stub.h.
typedef Group* scg::GroupSP |
doxygen stub for std::shared_ptr< Group >
Definition at line 51 of file scg_doxygen_stub.h.
typedef Group* scg::GroupUP |
doxygen stub for std::unique_ptr< Group >
Definition at line 52 of file scg_doxygen_stub.h.
typedef InfoTraverser* scg::InfoTraverserSP |
doxygen stub for std::shared_ptr< InfoTraverser >
Definition at line 52 of file scg_doxygen_stub.h.
typedef InfoTraverser* scg::InfoTraverserUP |
doxygen stub for std::unique_ptr< InfoTraverser >
Definition at line 53 of file scg_doxygen_stub.h.
doxygen stub for std::shared_ptr< KeyboardController >
Definition at line 53 of file scg_doxygen_stub.h.
doxygen stub for std::unique_ptr< KeyboardController >
Definition at line 54 of file scg_doxygen_stub.h.
typedef Leaf* scg::LeafSP |
doxygen stub for std::shared_ptr< Leaf >
Definition at line 54 of file scg_doxygen_stub.h.
typedef Leaf* scg::LeafUP |
doxygen stub for std::unique_ptr< Leaf >
Definition at line 55 of file scg_doxygen_stub.h.
typedef LightPosition* scg::LightPositionSP |
doxygen stub for std::shared_ptr< LightPosition >
Definition at line 56 of file scg_doxygen_stub.h.
typedef LightPosition* scg::LightPositionUP |
doxygen stub for std::unique_ptr< LightPosition >
Definition at line 57 of file scg_doxygen_stub.h.
typedef Light* scg::LightSP |
doxygen stub for std::shared_ptr< Light >
Definition at line 55 of file scg_doxygen_stub.h.
typedef Light* scg::LightUP |
doxygen stub for std::unique_ptr< Light >
Definition at line 56 of file scg_doxygen_stub.h.
typedef MaterialCore* scg::MaterialCoreSP |
doxygen stub for std::shared_ptr< MaterialCore >
Definition at line 57 of file scg_doxygen_stub.h.
typedef MaterialCore* scg::MaterialCoreUP |
doxygen stub for std::unique_ptr< MaterialCore >
Definition at line 58 of file scg_doxygen_stub.h.
typedef MouseController* scg::MouseControllerSP |
doxygen stub for std::shared_ptr< MouseController >
Definition at line 58 of file scg_doxygen_stub.h.
typedef MouseController* scg::MouseControllerUP |
doxygen stub for std::unique_ptr< MouseController >
Definition at line 59 of file scg_doxygen_stub.h.
typedef Node* scg::NodeSP |
doxygen stub for std::shared_ptr< Node >
Definition at line 59 of file scg_doxygen_stub.h.
typedef Node* scg::NodeUP |
doxygen stub for std::unique_ptr< Node >
Definition at line 60 of file scg_doxygen_stub.h.
doxygen stub for std::shared_ptr< OrthographicCamera >
Definition at line 60 of file scg_doxygen_stub.h.
doxygen stub for std::unique_ptr< OrthographicCamera >
Definition at line 61 of file scg_doxygen_stub.h.
doxygen stub for std::shared_ptr< PerspectiveCamera >
Definition at line 61 of file scg_doxygen_stub.h.
doxygen stub for std::unique_ptr< PerspectiveCamera >
Definition at line 62 of file scg_doxygen_stub.h.
typedef PreTraverser* scg::PreTraverserSP |
doxygen stub for std::shared_ptr< PreTraverser >
Definition at line 62 of file scg_doxygen_stub.h.
typedef PreTraverser* scg::PreTraverserUP |
doxygen stub for std::unique_ptr< PreTraverser >
Definition at line 63 of file scg_doxygen_stub.h.
typedef Renderer* scg::RendererSP |
doxygen stub for std::shared_ptr< Renderer >
Definition at line 63 of file scg_doxygen_stub.h.
typedef Renderer* scg::RendererUP |
doxygen stub for std::unique_ptr< Renderer >
Definition at line 64 of file scg_doxygen_stub.h.
typedef RenderState* scg::RenderStateSP |
doxygen stub for std::shared_ptr< RenderState >
Definition at line 64 of file scg_doxygen_stub.h.
typedef RenderState* scg::RenderStateUP |
doxygen stub for std::unique_ptr< RenderState >
Definition at line 65 of file scg_doxygen_stub.h.
typedef RenderTraverser* scg::RenderTraverserSP |
doxygen stub for std::shared_ptr< RenderTraverser >
Definition at line 65 of file scg_doxygen_stub.h.
typedef RenderTraverser* scg::RenderTraverserUP |
doxygen stub for std::unique_ptr< RenderTraverser >
Definition at line 66 of file scg_doxygen_stub.h.
doxygen stub for std::shared_ptr< ShaderCoreFactory >
Definition at line 67 of file scg_doxygen_stub.h.
doxygen stub for std::unique_ptr< ShaderCoreFactory >
Definition at line 68 of file scg_doxygen_stub.h.
typedef ShaderCore* scg::ShaderCoreSP |
doxygen stub for std::shared_ptr< ShaderCore >
Definition at line 66 of file scg_doxygen_stub.h.
typedef ShaderCore* scg::ShaderCoreUP |
doxygen stub for std::unique_ptr< ShaderCore >
Definition at line 67 of file scg_doxygen_stub.h.
typedef Shape* scg::ShapeSP |
doxygen stub for std::shared_ptr< Shape >
Definition at line 68 of file scg_doxygen_stub.h.
typedef Shape* scg::ShapeUP |
doxygen stub for std::unique_ptr< Shape >
Definition at line 69 of file scg_doxygen_stub.h.
typedef StandardRenderer* scg::StandardRendererSP |
doxygen stub for std::shared_ptr< StandardRenderer >
Definition at line 69 of file scg_doxygen_stub.h.
typedef StandardRenderer* scg::StandardRendererUP |
doxygen stub for std::unique_ptr< StandardRenderer >
Definition at line 70 of file scg_doxygen_stub.h.
typedef Texture2DCore* scg::Texture2DCoreSP |
doxygen stub for std::shared_ptr< Texture2DCore >
Definition at line 70 of file scg_doxygen_stub.h.
typedef Texture2DCore* scg::Texture2DCoreUP |
doxygen stub for std::unique_ptr< Texture2DCore >
Definition at line 71 of file scg_doxygen_stub.h.
doxygen stub for std::shared_ptr< TextureCoreFactory >
Definition at line 72 of file scg_doxygen_stub.h.
doxygen stub for std::unique_ptr< TextureCoreFactory >
Definition at line 73 of file scg_doxygen_stub.h.
typedef TextureCore* scg::TextureCoreSP |
doxygen stub for std::shared_ptr< TextureCore >
Definition at line 71 of file scg_doxygen_stub.h.
typedef TextureCore* scg::TextureCoreUP |
doxygen stub for std::unique_ptr< TextureCore >
Definition at line 72 of file scg_doxygen_stub.h.
doxygen stub for std::shared_ptr< TransformAnimation >
Definition at line 73 of file scg_doxygen_stub.h.
doxygen stub for std::unique_ptr< TransformAnimation >
Definition at line 74 of file scg_doxygen_stub.h.
typedef Transformation* scg::TransformationSP |
doxygen stub for std::shared_ptr< Transformation >
Definition at line 74 of file scg_doxygen_stub.h.
typedef Transformation* scg::TransformationUP |
doxygen stub for std::unique_ptr< Transformation >
Definition at line 75 of file scg_doxygen_stub.h.
typedef Traverser* scg::TraverserSP |
doxygen stub for std::shared_ptr< Traverser >
Definition at line 75 of file scg_doxygen_stub.h.
typedef Traverser* scg::TraverserUP |
doxygen stub for std::unique_ptr< Traverser >
Definition at line 76 of file scg_doxygen_stub.h.
typedef Viewer* scg::ViewerSP |
doxygen stub for std::shared_ptr< Viewer >
Definition at line 76 of file scg_doxygen_stub.h.
typedef Viewer* scg::ViewerUP |
doxygen stub for std::unique_ptr< Viewer >
Definition at line 77 of file scg_doxygen_stub.h.
typedef ViewState* scg::ViewStateSP |
doxygen stub for std::shared_ptr< ViewState >
Definition at line 77 of file scg_doxygen_stub.h.
typedef ViewState* scg::ViewStateUP |
doxygen stub for std::unique_ptr< ViewState >
Definition at line 78 of file scg_doxygen_stub.h.
|
strong |
Draw mode for vertex buffer objects.
Enumerator | |
---|---|
ARRAYS | |
ELEMENTS |
Definition at line 40 of file GeometryCore.h.
|
strong |
int scg::checkGLError | ( | ) |
Check if an OpenGL error has occured since last call of checkGLError().
Can be used via assert(!checkGLError()) in order to get information on code file and line.
void scg::formatFilePath | ( | std::string & | filePath | ) |
Replace backslashes by slashes and ensure that the last character is a slash.
void scg::getCursorPosPixels | ( | GLFWwindow * | window, |
double & | xPixels, | ||
double & | yPixels | ||
) |
Get cursor (mouse pointer) position in pixels, as opposed to screen coordinates.
Wrapper function for glfwGetCursorPos, which returns screen coordinates. The factor for converting from screen coordinates to pixels may change at runtime, e.g. by moving a window from a low-resolution to a high-resolution ("retina") display.
std::string scg::getFullFileName | ( | const std::vector< std::string > & | filePaths, |
const std::string & | fileName | ||
) |
Try to find file name in a list of file paths.
The local directory is searched first.
bool scg::isGLContextActive | ( | ) |
Check if an active OpenGL context exists.
Should be used in destructors to check for an active context before calling OpenGL functions. Otherwise exceptions thrown without an active context will cause errors.
void scg::printUniformBlockInformation | ( | GLuint | program, |
int | nMembers, | ||
const GLchar ** | uniformNames | ||
) |
Print information about uniform blocks in shaders.
scg::SCG_DECLARE_CLASS | ( | StereoCamera | ) |
Forward declaration of classes with shared and unique pointers.
Class
ClassSP - shared_pointer<Class>
classUP - unique_pointer<Class>
scg::SCG_DECLARE_CLASS | ( | StereoRenderer | ) |
scg::SCG_DECLARE_CLASS | ( | StereoRendererActive | ) |
scg::SCG_DECLARE_CLASS | ( | StereoRendererAnaglyph | ) |
scg::SCG_DECLARE_CLASS | ( | StereoRendererPassive | ) |
scg::SCG_DECLARE_CLASS | ( | Animation | ) |
scg::SCG_DECLARE_CLASS | ( | BumpMapCore | ) |
scg::SCG_DECLARE_CLASS | ( | Camera | ) |
scg::SCG_DECLARE_CLASS | ( | CameraController | ) |
scg::SCG_DECLARE_CLASS | ( | Composite | ) |
scg::SCG_DECLARE_CLASS | ( | Controller | ) |
scg::SCG_DECLARE_CLASS | ( | ColorCore | ) |
scg::SCG_DECLARE_CLASS | ( | Core | ) |
scg::SCG_DECLARE_CLASS | ( | CubeMapCore | ) |
scg::SCG_DECLARE_CLASS | ( | GeometryCore | ) |
scg::SCG_DECLARE_CLASS | ( | GeometryCoreFactory | ) |
scg::SCG_DECLARE_CLASS | ( | Group | ) |
scg::SCG_DECLARE_CLASS | ( | InfoTraverser | ) |
scg::SCG_DECLARE_CLASS | ( | KeyboardController | ) |
scg::SCG_DECLARE_CLASS | ( | Leaf | ) |
scg::SCG_DECLARE_CLASS | ( | Light | ) |
scg::SCG_DECLARE_CLASS | ( | LightPosition | ) |
scg::SCG_DECLARE_CLASS | ( | MaterialCore | ) |
scg::SCG_DECLARE_CLASS | ( | MouseController | ) |
scg::SCG_DECLARE_CLASS | ( | Node | ) |
scg::SCG_DECLARE_CLASS | ( | OrthographicCamera | ) |
scg::SCG_DECLARE_CLASS | ( | PerspectiveCamera | ) |
scg::SCG_DECLARE_CLASS | ( | PreTraverser | ) |
scg::SCG_DECLARE_CLASS | ( | Renderer | ) |
scg::SCG_DECLARE_CLASS | ( | RenderState | ) |
scg::SCG_DECLARE_CLASS | ( | RenderTraverser | ) |
scg::SCG_DECLARE_CLASS | ( | ShaderCore | ) |
scg::SCG_DECLARE_CLASS | ( | ShaderCoreFactory | ) |
scg::SCG_DECLARE_CLASS | ( | Shape | ) |
scg::SCG_DECLARE_CLASS | ( | StandardRenderer | ) |
scg::SCG_DECLARE_CLASS | ( | TextureCore | ) |
scg::SCG_DECLARE_CLASS | ( | Texture2DCore | ) |
scg::SCG_DECLARE_CLASS | ( | TransformAnimation | ) |
scg::SCG_DECLARE_CLASS | ( | Transformation | ) |
scg::SCG_DECLARE_CLASS | ( | Traverser | ) |
scg::SCG_DECLARE_CLASS | ( | Viewer | ) |
scg::SCG_DECLARE_CLASS | ( | ViewState | ) |
void scg::setCursorPosPixels | ( | GLFWwindow * | window, |
double | xPixels, | ||
double | yPixels | ||
) |
Set cursor (mouse pointer) position in pixels, as opposed to screen coordinates.
Wrapper function for glfwSetCursorPos, which returns screen coordinates. The factor for converting from screen coordinates to pixels may change at runtime, e.g. by moving a window from a low-resolution to a high-resolution ("retina") display.
void scg::splitFilePath | ( | const std::string & | filePath, |
std::vector< std::string > & | splitPaths | ||
) |
Split string containing one or more file paths into a vector of single paths.
Allowed delimiters: ';' and ','.
For each split path formatFilePath() is called.
const float scg::PI = 3.141592654f |
Pi constant.
Definition at line 39 of file scg_utilities.h.