scg3  0.6
scg Namespace Reference

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...
 

Typedefs

typedef AnimationAnimationSP
 
typedef AnimationAnimationUP
 
typedef BumpMapCoreBumpMapCoreSP
 
typedef BumpMapCoreBumpMapCoreUP
 
typedef CameraCameraSP
 
typedef CameraCameraUP
 
typedef CameraControllerCameraControllerSP
 
typedef CameraControllerCameraControllerUP
 
typedef ColorCoreColorCoreSP
 
typedef ColorCoreColorCoreUP
 
typedef CompositeCompositeSP
 
typedef CompositeCompositeUP
 
typedef ControllerControllerSP
 
typedef ControllerControllerUP
 
typedef CoreCoreSP
 
typedef CoreCoreUP
 
typedef GeometryCoreGeometryCoreSP
 
typedef GeometryCoreGeometryCoreUP
 
typedef GeometryCoreFactoryGeometryCoreFactorySP
 
typedef GeometryCoreFactoryGeometryCoreFactoryUP
 
typedef GroupGroupSP
 
typedef GroupGroupUP
 
typedef InfoTraverserInfoTraverserSP
 
typedef InfoTraverserInfoTraverserUP
 
typedef KeyboardControllerKeyboardControllerSP
 
typedef KeyboardControllerKeyboardControllerUP
 
typedef LeafLeafSP
 
typedef LeafLeafUP
 
typedef LightLightSP
 
typedef LightLightUP
 
typedef LightPositionLightPositionSP
 
typedef LightPositionLightPositionUP
 
typedef MaterialCoreMaterialCoreSP
 
typedef MaterialCoreMaterialCoreUP
 
typedef MouseControllerMouseControllerSP
 
typedef MouseControllerMouseControllerUP
 
typedef NodeNodeSP
 
typedef NodeNodeUP
 
typedef OrthographicCameraOrthographicCameraSP
 
typedef OrthographicCameraOrthographicCameraUP
 
typedef PerspectiveCameraPerspectiveCameraSP
 
typedef PerspectiveCameraPerspectiveCameraUP
 
typedef PreTraverserPreTraverserSP
 
typedef PreTraverserPreTraverserUP
 
typedef RendererRendererSP
 
typedef RendererRendererUP
 
typedef RenderStateRenderStateSP
 
typedef RenderStateRenderStateUP
 
typedef RenderTraverserRenderTraverserSP
 
typedef RenderTraverserRenderTraverserUP
 
typedef ShaderCoreShaderCoreSP
 
typedef ShaderCoreShaderCoreUP
 
typedef ShaderCoreFactoryShaderCoreFactorySP
 
typedef ShaderCoreFactoryShaderCoreFactoryUP
 
typedef ShapeShapeSP
 
typedef ShapeShapeUP
 
typedef StandardRendererStandardRendererSP
 
typedef StandardRendererStandardRendererUP
 
typedef Texture2DCoreTexture2DCoreSP
 
typedef Texture2DCoreTexture2DCoreUP
 
typedef TextureCoreTextureCoreSP
 
typedef TextureCoreTextureCoreUP
 
typedef TextureCoreFactoryTextureCoreFactorySP
 
typedef TextureCoreFactoryTextureCoreFactoryUP
 
typedef TransformAnimationTransformAnimationSP
 
typedef TransformAnimationTransformAnimationUP
 
typedef TransformationTransformationSP
 
typedef TransformationTransformationUP
 
typedef TraverserTraverserSP
 
typedef TraverserTraverserUP
 
typedef ViewerViewerSP
 
typedef ViewerViewerUP
 
typedef ViewStateViewStateSP
 
typedef ViewStateViewStateUP
 

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...
 

Functions

 SCG_DECLARE_CLASS (Animation)
 
 SCG_DECLARE_CLASS (BumpMapCore)
 
 SCG_DECLARE_CLASS (Camera)
 
 SCG_DECLARE_CLASS (CameraController)
 
 SCG_DECLARE_CLASS (Composite)
 
 SCG_DECLARE_CLASS (Controller)
 
 SCG_DECLARE_CLASS (ColorCore)
 
 SCG_DECLARE_CLASS (Core)
 
 SCG_DECLARE_CLASS (CubeMapCore)
 
 SCG_DECLARE_CLASS (GeometryCore)
 
 SCG_DECLARE_CLASS (GeometryCoreFactory)
 
 SCG_DECLARE_CLASS (Group)
 
 SCG_DECLARE_CLASS (InfoTraverser)
 
 SCG_DECLARE_CLASS (KeyboardController)
 
 SCG_DECLARE_CLASS (Leaf)
 
 SCG_DECLARE_CLASS (Light)
 
 SCG_DECLARE_CLASS (LightPosition)
 
 SCG_DECLARE_CLASS (MaterialCore)
 
 SCG_DECLARE_CLASS (MouseController)
 
 SCG_DECLARE_CLASS (Node)
 
 SCG_DECLARE_CLASS (OrthographicCamera)
 
 SCG_DECLARE_CLASS (PerspectiveCamera)
 
 SCG_DECLARE_CLASS (PreTraverser)
 
 SCG_DECLARE_CLASS (Renderer)
 
 SCG_DECLARE_CLASS (RenderState)
 
 SCG_DECLARE_CLASS (RenderTraverser)
 
 SCG_DECLARE_CLASS (ShaderCore)
 
 SCG_DECLARE_CLASS (ShaderCoreFactory)
 
 SCG_DECLARE_CLASS (Shape)
 
 SCG_DECLARE_CLASS (StandardRenderer)
 
 SCG_DECLARE_CLASS (TextureCore)
 
 SCG_DECLARE_CLASS (Texture2DCore)
 
 SCG_DECLARE_CLASS (TransformAnimation)
 
 SCG_DECLARE_CLASS (Transformation)
 
 SCG_DECLARE_CLASS (Traverser)
 
 SCG_DECLARE_CLASS (Viewer)
 
 SCG_DECLARE_CLASS (ViewState)
 
int checkGLError ()
 Check if an OpenGL error has occured since last call of checkGLError(). More...
 
bool isGLContextActive ()
 Check if an active OpenGL context exists. More...
 
void getCursorPosPixels (GLFWwindow *window, double &xPixels, double &yPixels)
 Get cursor (mouse pointer) position in pixels, as opposed to screen coordinates. More...
 
void setCursorPosPixels (GLFWwindow *window, double xPixels, double yPixels)
 Set cursor (mouse pointer) position in pixels, as opposed to screen coordinates. More...
 
void formatFilePath (std::string &filePath)
 Replace backslashes by slashes and ensure that the last character is a slash. More...
 
std::string getFullFileName (const std::vector< std::string > &filePaths, const std::string &fileName)
 Try to find file name in a list of file paths. More...
 
void printUniformBlockInformation (GLuint program, int nMembers, const GLchar **uniformNames)
 Print information about uniform blocks in shaders. More...
 
void splitFilePath (const std::string &filePath, std::vector< std::string > &splitPaths)
 Split string containing one or more file paths into a vector of single paths. More...
 
 SCG_DECLARE_CLASS (StereoCamera)
 
 SCG_DECLARE_CLASS (StereoRenderer)
 
 SCG_DECLARE_CLASS (StereoRendererActive)
 
 SCG_DECLARE_CLASS (StereoRendererAnaglyph)
 
 SCG_DECLARE_CLASS (StereoRendererPassive)
 

Variables

const float PI = 3.141592654f
 

Typedef Documentation

◆ AnimationSP

doxygen stub for std::shared_ptr< Animation >

Definition at line 42 of file scg_doxygen_stub.h.

◆ AnimationUP

doxygen stub for std::unique_ptr< Animation >

Definition at line 42 of file scg_doxygen_stub.h.

◆ BumpMapCoreSP

doxygen stub for std::shared_ptr< BumpMapCore >

Definition at line 42 of file scg_doxygen_stub.h.

◆ BumpMapCoreUP

doxygen stub for std::unique_ptr< BumpMapCore >

Definition at line 43 of file scg_doxygen_stub.h.

◆ CameraControllerSP

doxygen stub for std::shared_ptr< CameraController >

Definition at line 44 of file scg_doxygen_stub.h.

◆ CameraControllerUP

doxygen stub for std::unique_ptr< CameraController >

Definition at line 45 of file scg_doxygen_stub.h.

◆ CameraSP

doxygen stub for std::shared_ptr< Camera >

Definition at line 43 of file scg_doxygen_stub.h.

◆ CameraUP

doxygen stub for std::unique_ptr< Camera >

Definition at line 44 of file scg_doxygen_stub.h.

◆ ColorCoreSP

doxygen stub for std::shared_ptr< ColorCore >

Definition at line 45 of file scg_doxygen_stub.h.

◆ ColorCoreUP

doxygen stub for std::unique_ptr< ColorCore >

Definition at line 46 of file scg_doxygen_stub.h.

◆ CompositeSP

doxygen stub for std::shared_ptr< Composite >

Definition at line 46 of file scg_doxygen_stub.h.

◆ CompositeUP

doxygen stub for std::unique_ptr< Composite >

Definition at line 47 of file scg_doxygen_stub.h.

◆ ControllerSP

doxygen stub for std::shared_ptr< Controller >

Definition at line 47 of file scg_doxygen_stub.h.

◆ ControllerUP

doxygen stub for std::unique_ptr< Controller >

Definition at line 48 of file scg_doxygen_stub.h.

◆ CoreSP

typedef Core* scg::CoreSP

doxygen stub for std::shared_ptr< Core >

Definition at line 48 of file scg_doxygen_stub.h.

◆ CoreUP

typedef Core* scg::CoreUP

doxygen stub for std::unique_ptr< Core >

Definition at line 49 of file scg_doxygen_stub.h.

◆ GeometryCoreFactorySP

doxygen stub for std::shared_ptr< GeometryCoreFactory >

Definition at line 50 of file scg_doxygen_stub.h.

◆ GeometryCoreFactoryUP

doxygen stub for std::unique_ptr< GeometryCoreFactory >

Definition at line 51 of file scg_doxygen_stub.h.

◆ GeometryCoreSP

doxygen stub for std::shared_ptr< GeometryCore >

Definition at line 49 of file scg_doxygen_stub.h.

◆ GeometryCoreUP

doxygen stub for std::unique_ptr< GeometryCore >

Definition at line 50 of file scg_doxygen_stub.h.

◆ GroupSP

typedef Group* scg::GroupSP

doxygen stub for std::shared_ptr< Group >

Definition at line 51 of file scg_doxygen_stub.h.

◆ GroupUP

typedef Group* scg::GroupUP

doxygen stub for std::unique_ptr< Group >

Definition at line 52 of file scg_doxygen_stub.h.

◆ InfoTraverserSP

doxygen stub for std::shared_ptr< InfoTraverser >

Definition at line 52 of file scg_doxygen_stub.h.

◆ InfoTraverserUP

doxygen stub for std::unique_ptr< InfoTraverser >

Definition at line 53 of file scg_doxygen_stub.h.

◆ KeyboardControllerSP

doxygen stub for std::shared_ptr< KeyboardController >

Definition at line 53 of file scg_doxygen_stub.h.

◆ KeyboardControllerUP

doxygen stub for std::unique_ptr< KeyboardController >

Definition at line 54 of file scg_doxygen_stub.h.

◆ LeafSP

typedef Leaf* scg::LeafSP

doxygen stub for std::shared_ptr< Leaf >

Definition at line 54 of file scg_doxygen_stub.h.

◆ LeafUP

typedef Leaf* scg::LeafUP

doxygen stub for std::unique_ptr< Leaf >

Definition at line 55 of file scg_doxygen_stub.h.

◆ LightPositionSP

doxygen stub for std::shared_ptr< LightPosition >

Definition at line 56 of file scg_doxygen_stub.h.

◆ LightPositionUP

doxygen stub for std::unique_ptr< LightPosition >

Definition at line 57 of file scg_doxygen_stub.h.

◆ LightSP

typedef Light* scg::LightSP

doxygen stub for std::shared_ptr< Light >

Definition at line 55 of file scg_doxygen_stub.h.

◆ LightUP

typedef Light* scg::LightUP

doxygen stub for std::unique_ptr< Light >

Definition at line 56 of file scg_doxygen_stub.h.

◆ MaterialCoreSP

doxygen stub for std::shared_ptr< MaterialCore >

Definition at line 57 of file scg_doxygen_stub.h.

◆ MaterialCoreUP

doxygen stub for std::unique_ptr< MaterialCore >

Definition at line 58 of file scg_doxygen_stub.h.

◆ MouseControllerSP

doxygen stub for std::shared_ptr< MouseController >

Definition at line 58 of file scg_doxygen_stub.h.

◆ MouseControllerUP

doxygen stub for std::unique_ptr< MouseController >

Definition at line 59 of file scg_doxygen_stub.h.

◆ NodeSP

typedef Node* scg::NodeSP

doxygen stub for std::shared_ptr< Node >

Definition at line 59 of file scg_doxygen_stub.h.

◆ NodeUP

typedef Node* scg::NodeUP

doxygen stub for std::unique_ptr< Node >

Definition at line 60 of file scg_doxygen_stub.h.

◆ OrthographicCameraSP

doxygen stub for std::shared_ptr< OrthographicCamera >

Definition at line 60 of file scg_doxygen_stub.h.

◆ OrthographicCameraUP

doxygen stub for std::unique_ptr< OrthographicCamera >

Definition at line 61 of file scg_doxygen_stub.h.

◆ PerspectiveCameraSP

doxygen stub for std::shared_ptr< PerspectiveCamera >

Definition at line 61 of file scg_doxygen_stub.h.

◆ PerspectiveCameraUP

doxygen stub for std::unique_ptr< PerspectiveCamera >

Definition at line 62 of file scg_doxygen_stub.h.

◆ PreTraverserSP

doxygen stub for std::shared_ptr< PreTraverser >

Definition at line 62 of file scg_doxygen_stub.h.

◆ PreTraverserUP

doxygen stub for std::unique_ptr< PreTraverser >

Definition at line 63 of file scg_doxygen_stub.h.

◆ RendererSP

doxygen stub for std::shared_ptr< Renderer >

Definition at line 63 of file scg_doxygen_stub.h.

◆ RendererUP

doxygen stub for std::unique_ptr< Renderer >

Definition at line 64 of file scg_doxygen_stub.h.

◆ RenderStateSP

doxygen stub for std::shared_ptr< RenderState >

Definition at line 64 of file scg_doxygen_stub.h.

◆ RenderStateUP

doxygen stub for std::unique_ptr< RenderState >

Definition at line 65 of file scg_doxygen_stub.h.

◆ RenderTraverserSP

doxygen stub for std::shared_ptr< RenderTraverser >

Definition at line 65 of file scg_doxygen_stub.h.

◆ RenderTraverserUP

doxygen stub for std::unique_ptr< RenderTraverser >

Definition at line 66 of file scg_doxygen_stub.h.

◆ ShaderCoreFactorySP

doxygen stub for std::shared_ptr< ShaderCoreFactory >

Definition at line 67 of file scg_doxygen_stub.h.

◆ ShaderCoreFactoryUP

doxygen stub for std::unique_ptr< ShaderCoreFactory >

Definition at line 68 of file scg_doxygen_stub.h.

◆ ShaderCoreSP

doxygen stub for std::shared_ptr< ShaderCore >

Definition at line 66 of file scg_doxygen_stub.h.

◆ ShaderCoreUP

doxygen stub for std::unique_ptr< ShaderCore >

Definition at line 67 of file scg_doxygen_stub.h.

◆ ShapeSP

typedef Shape* scg::ShapeSP

doxygen stub for std::shared_ptr< Shape >

Definition at line 68 of file scg_doxygen_stub.h.

◆ ShapeUP

typedef Shape* scg::ShapeUP

doxygen stub for std::unique_ptr< Shape >

Definition at line 69 of file scg_doxygen_stub.h.

◆ StandardRendererSP

doxygen stub for std::shared_ptr< StandardRenderer >

Definition at line 69 of file scg_doxygen_stub.h.

◆ StandardRendererUP

doxygen stub for std::unique_ptr< StandardRenderer >

Definition at line 70 of file scg_doxygen_stub.h.

◆ Texture2DCoreSP

doxygen stub for std::shared_ptr< Texture2DCore >

Definition at line 70 of file scg_doxygen_stub.h.

◆ Texture2DCoreUP

doxygen stub for std::unique_ptr< Texture2DCore >

Definition at line 71 of file scg_doxygen_stub.h.

◆ TextureCoreFactorySP

doxygen stub for std::shared_ptr< TextureCoreFactory >

Definition at line 72 of file scg_doxygen_stub.h.

◆ TextureCoreFactoryUP

doxygen stub for std::unique_ptr< TextureCoreFactory >

Definition at line 73 of file scg_doxygen_stub.h.

◆ TextureCoreSP

doxygen stub for std::shared_ptr< TextureCore >

Definition at line 71 of file scg_doxygen_stub.h.

◆ TextureCoreUP

doxygen stub for std::unique_ptr< TextureCore >

Definition at line 72 of file scg_doxygen_stub.h.

◆ TransformAnimationSP

doxygen stub for std::shared_ptr< TransformAnimation >

Definition at line 73 of file scg_doxygen_stub.h.

◆ TransformAnimationUP

doxygen stub for std::unique_ptr< TransformAnimation >

Definition at line 74 of file scg_doxygen_stub.h.

◆ TransformationSP

doxygen stub for std::shared_ptr< Transformation >

Definition at line 74 of file scg_doxygen_stub.h.

◆ TransformationUP

doxygen stub for std::unique_ptr< Transformation >

Definition at line 75 of file scg_doxygen_stub.h.

◆ TraverserSP

doxygen stub for std::shared_ptr< Traverser >

Definition at line 75 of file scg_doxygen_stub.h.

◆ TraverserUP

doxygen stub for std::unique_ptr< Traverser >

Definition at line 76 of file scg_doxygen_stub.h.

◆ ViewerSP

doxygen stub for std::shared_ptr< Viewer >

Definition at line 76 of file scg_doxygen_stub.h.

◆ ViewerUP

doxygen stub for std::unique_ptr< Viewer >

Definition at line 77 of file scg_doxygen_stub.h.

◆ ViewStateSP

doxygen stub for std::shared_ptr< ViewState >

Definition at line 77 of file scg_doxygen_stub.h.

◆ ViewStateUP

doxygen stub for std::unique_ptr< ViewState >

Definition at line 78 of file scg_doxygen_stub.h.

Enumeration Type Documentation

◆ DrawMode

enum scg::DrawMode
strong

Draw mode for vertex buffer objects.

Enumerator
ARRAYS 
ELEMENTS 

Definition at line 40 of file GeometryCore.h.

◆ OGLProfile

enum scg::OGLProfile : int
strong

Profile definitions for OGLConfig.

Enumerator
NONE 
CORE 
COMPATIBILITY 

Definition at line 45 of file Viewer.h.

Function Documentation

◆ checkGLError()

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.

Returns
0 for no error, 1 for error

◆ formatFilePath()

void scg::formatFilePath ( std::string &  filePath)

Replace backslashes by slashes and ensure that the last character is a slash.

◆ getCursorPosPixels()

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.

◆ getFullFileName()

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.

Returns
full file name including path, empty string if the file has not been found

◆ isGLContextActive()

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.

Returns
true if active OpenGL context exists

◆ printUniformBlockInformation()

void scg::printUniformBlockInformation ( GLuint  program,
int  nMembers,
const GLchar **  uniformNames 
)

Print information about uniform blocks in shaders.

◆ SCG_DECLARE_CLASS() [1/42]

scg::SCG_DECLARE_CLASS ( StereoCamera  )

Forward declaration of classes with shared and unique pointers.
Class
ClassSP - shared_pointer<Class>
classUP - unique_pointer<Class>

◆ SCG_DECLARE_CLASS() [2/42]

scg::SCG_DECLARE_CLASS ( StereoRenderer  )

◆ SCG_DECLARE_CLASS() [3/42]

scg::SCG_DECLARE_CLASS ( StereoRendererActive  )

◆ SCG_DECLARE_CLASS() [4/42]

scg::SCG_DECLARE_CLASS ( StereoRendererAnaglyph  )

◆ SCG_DECLARE_CLASS() [5/42]

scg::SCG_DECLARE_CLASS ( StereoRendererPassive  )

◆ SCG_DECLARE_CLASS() [6/42]

scg::SCG_DECLARE_CLASS ( Animation  )

◆ SCG_DECLARE_CLASS() [7/42]

scg::SCG_DECLARE_CLASS ( BumpMapCore  )

◆ SCG_DECLARE_CLASS() [8/42]

scg::SCG_DECLARE_CLASS ( Camera  )

◆ SCG_DECLARE_CLASS() [9/42]

scg::SCG_DECLARE_CLASS ( CameraController  )

◆ SCG_DECLARE_CLASS() [10/42]

scg::SCG_DECLARE_CLASS ( Composite  )

◆ SCG_DECLARE_CLASS() [11/42]

scg::SCG_DECLARE_CLASS ( Controller  )

◆ SCG_DECLARE_CLASS() [12/42]

scg::SCG_DECLARE_CLASS ( ColorCore  )

◆ SCG_DECLARE_CLASS() [13/42]

scg::SCG_DECLARE_CLASS ( Core  )

◆ SCG_DECLARE_CLASS() [14/42]

scg::SCG_DECLARE_CLASS ( CubeMapCore  )

◆ SCG_DECLARE_CLASS() [15/42]

scg::SCG_DECLARE_CLASS ( GeometryCore  )

◆ SCG_DECLARE_CLASS() [16/42]

scg::SCG_DECLARE_CLASS ( GeometryCoreFactory  )

◆ SCG_DECLARE_CLASS() [17/42]

scg::SCG_DECLARE_CLASS ( Group  )

◆ SCG_DECLARE_CLASS() [18/42]

scg::SCG_DECLARE_CLASS ( InfoTraverser  )

◆ SCG_DECLARE_CLASS() [19/42]

scg::SCG_DECLARE_CLASS ( KeyboardController  )

◆ SCG_DECLARE_CLASS() [20/42]

scg::SCG_DECLARE_CLASS ( Leaf  )

◆ SCG_DECLARE_CLASS() [21/42]

scg::SCG_DECLARE_CLASS ( Light  )

◆ SCG_DECLARE_CLASS() [22/42]

scg::SCG_DECLARE_CLASS ( LightPosition  )

◆ SCG_DECLARE_CLASS() [23/42]

scg::SCG_DECLARE_CLASS ( MaterialCore  )

◆ SCG_DECLARE_CLASS() [24/42]

scg::SCG_DECLARE_CLASS ( MouseController  )

◆ SCG_DECLARE_CLASS() [25/42]

scg::SCG_DECLARE_CLASS ( Node  )

◆ SCG_DECLARE_CLASS() [26/42]

scg::SCG_DECLARE_CLASS ( OrthographicCamera  )

◆ SCG_DECLARE_CLASS() [27/42]

scg::SCG_DECLARE_CLASS ( PerspectiveCamera  )

◆ SCG_DECLARE_CLASS() [28/42]

scg::SCG_DECLARE_CLASS ( PreTraverser  )

◆ SCG_DECLARE_CLASS() [29/42]

scg::SCG_DECLARE_CLASS ( Renderer  )

◆ SCG_DECLARE_CLASS() [30/42]

scg::SCG_DECLARE_CLASS ( RenderState  )

◆ SCG_DECLARE_CLASS() [31/42]

scg::SCG_DECLARE_CLASS ( RenderTraverser  )

◆ SCG_DECLARE_CLASS() [32/42]

scg::SCG_DECLARE_CLASS ( ShaderCore  )

◆ SCG_DECLARE_CLASS() [33/42]

scg::SCG_DECLARE_CLASS ( ShaderCoreFactory  )

◆ SCG_DECLARE_CLASS() [34/42]

scg::SCG_DECLARE_CLASS ( Shape  )

◆ SCG_DECLARE_CLASS() [35/42]

scg::SCG_DECLARE_CLASS ( StandardRenderer  )

◆ SCG_DECLARE_CLASS() [36/42]

scg::SCG_DECLARE_CLASS ( TextureCore  )

◆ SCG_DECLARE_CLASS() [37/42]

scg::SCG_DECLARE_CLASS ( Texture2DCore  )

◆ SCG_DECLARE_CLASS() [38/42]

scg::SCG_DECLARE_CLASS ( TransformAnimation  )

◆ SCG_DECLARE_CLASS() [39/42]

scg::SCG_DECLARE_CLASS ( Transformation  )

◆ SCG_DECLARE_CLASS() [40/42]

scg::SCG_DECLARE_CLASS ( Traverser  )

◆ SCG_DECLARE_CLASS() [41/42]

scg::SCG_DECLARE_CLASS ( Viewer  )

◆ SCG_DECLARE_CLASS() [42/42]

scg::SCG_DECLARE_CLASS ( ViewState  )

◆ setCursorPosPixels()

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.

◆ splitFilePath()

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.

Variable Documentation

◆ PI

const float scg::PI = 3.141592654f

Pi constant.

Definition at line 39 of file scg_utilities.h.