Skip to main content

Classes

The classes, structs, union and interfaces used by this project are:

C Application Class providing the entry point for a helios application
C GLFWApplication An Application implementation for glfw-based environments
C Controller Abstract base class for application controllers
C WindowRenderingController Abstract base controller for handling window related events
C BasicWindowRenderingController Basic implementation of a WindowRenderingController
C Dispatcher A generic event Dispatcher for type-safe event handling
C Event Base class for events in the helios framework
C WindowEvent Abstract base class for Window related events
C FrameBufferResizeEvent Event representing a change in the framebuffer's size
C EventManager An abstract EventManager managing the buffering and dispatching of events, acting as a central hub for event management
C BasicEventManager Basic implementation of the EventManager
C EventQueue Abstract base class defining an interface for an EventQueue
C DequeEventQueue Concrete implementation of an EventQueue that uses a Deque as its underlying queue strategy. Adding and removing events follows a FIFO strategy
C FrustumCullingStrategy Abstract base class for implementing frustum culling strategies
C CullNoneStrategy A default FrustumCullingStrategy that simply returns all SceneNodes found, e.g. no culling is applied
C GLFWFactory A factory class for creating pre-configured glfw-specific application components
C GLFWRAIIGuard A RAII Guard for GLFW
S GLFWWindowUserPointer A structure to hold user defined data associated with a GLFWwindow
C Guid Representative of a Globally Unique Identifier
C InputAdapter Abstract interface for querying various input states
C GLFWInputAdapter InputAdapter implementation for a GLFWWindow
C InputManager InputManager providing access to various input states
C Logger Simple Logger implementation
C LogManager LogManger for managing various scoped Loggers
S mat4<T> Represents a 4x4 matrix, stored in column-major order
C Material Representative of a parametrizable Material instance. A Material instance contains a reference to its raw shared Shader and optionally MaterialData. A Material instance allows for individual configurations
C MaterialData Immutable MaterialData
C Mesh Representative of a renderable 3D mesh. A Mesh instance contains a reference to its raw shared MeshData and allows for individual configurations. Concrete implementations will handle resource management
C OpenGLMesh Representative of an OpenGLMesh. This class manages the OpenGL Vertex Array Object (VAO), the Vertex Buffer Object (VBO) and Element Buffer Object (EBO) handles. The raw MeshData is uploaded to the GPU, preparing it for subsequent rendering commands / draw calls
C MeshData Representative of vertex data and indices provided by geometric shapes. MeshData contains references to immutable, shared Vertex Data and indices
C OpenGLUniformLocationMap Manages the mapping between OpenGL uniform semantics and their locations in an underlying OpenGL shader
C Renderable Representative of a configurable Renderable rendered by the underlying GL API
C OpenGLRenderable An OpenGL specific implementation of a Renderable
C RenderCommand DTO for storing rendering specific command information to be passed to the RenderQueue
C RenderingDevice Abstract interface for low level rendering device
C OpenGLDevice OpenGL RenderingDevice representative
C RenderPass Represents a single RenderPass under a set of specific uniform values
C RenderPassFactory A factory class for constructing `RenderPass` objects and populate their `RenderQueue`s based on a `helios::scene::Snapshot`
C RenderQueue Manages a collection of `RenderCommand` objects for a single rendering pass
C Scene Represents a hierarchical SceneGraph that organizes all renderable and non-renderable objects within a scene
S SceneGraphKey SceneGraphKey as passkey idiom for accessing `setWorldTransform()`. All friend classes are able to construct the SceneGraphKey for accessing pass key guarded methods like `setWorldTransform`
C SceneNode Represents a SceneNode within a SceneGraph
C Camera Represents a camera for perspective or orthographic projection, deriving from SceneNode to allow for spatial positioning and transformation within the scene graph
C Shader Abstract representation of a Shader program (e.g. composed of vertex/fragment shader)
C OpenGLShader An OpenGL-specific implementation of a Shader program, consisting of a vertex and a fragment shader
S Shape Struct representing geometric primitives and indices for various shapes. provides immutable, shared access to vertices and indices of the represented geometric shape
S Cube Basic Cube Shape
C Snapshot Represents an immutable snapshot of a SceneGraph at a given point in time
S SnapshotItem Structure for representing a snapshot item of a renderable's object state at a specific point in time
C StringFileReader Abstract base class for reading file contents into a string
C BasicStringFileReader Basic implementation of a string file reader
C Tickable
C Transform Represents a 3D transformation consisting of translation, rotation and scale. This class encapsulates the components of a local transform for SceneNodes. It uses lazy evaluation to compute the final transform. The current scale, translation and rotation is queryable. Changing the transformation is always considered against an "origin" of an object, that ist, a 4x4 identity matrix
C UniformValueMap Manages a collection of values for mapping them to their UniformSemantics identifier
S vec2<T> Represents a 2-dimensional vector of the generic type <T>
S vec3<T> Represents a 3-dimensional vector of the generic type <T>
S vec4<T> Represents a 4-dimensional vector of the generic type <T>
S Vertex Represents a standard vertex with position, normal, and texture coordinates
C Window Abstract base class representing a generic window
C GLFWWindow An OpenGL focused window implementation using GLFW
S WindowConfig Configuration structure for creating and initializing a Window
S GLFWWindowConfig Configuration structure for a GLFWWindow

Generated via doxygen2docusaurus 2.0.0 by Doxygen 1.15.0.