lmgl 1.0.0
A lightweight OpenGL graphics engine library written in C++
Loading...
Searching...
No Matches
lmgl::renderer Namespace Reference

Namespace for rendering-related classes and functions. More...

Classes

struct  BufferElement
 Represents a single element in a buffer layout. More...
 
class  BufferLayout
 Defines the layout of a buffer, consisting of multiple buffer elements. More...
 
class  CubemapShadowMap
 Manages a cubemap depth texture for rendering shadows from point lights. More...
 
class  Framebuffer
 Framebuffer class for off-screen rendering. More...
 
class  IndexBuffer
 Manages an index buffer in OpenGL. More...
 
class  Renderer
 Manages the rendering of scenes. More...
 
class  Shader
 Represents a shader program used in rendering. More...
 
class  ShaderLibrary
 Manages a collection of shader programs. More...
 
class  ShadowMap
 Manages a 2D depth texture for rendering shadows from directional lights. More...
 
class  ShadowRenderer
 Renders shadows for directional and point lights using shadow maps. More...
 
class  Texture
 Manages an OpenGL texture. More...
 
class  VertexArray
 Class representing a Vertex Array Object (VAO) in OpenGL. More...
 
class  VertexBuffer
 Manages a vertex buffer in OpenGL. More...
 

Enumerations

enum class  ShaderDataType {
  None = 0 , Float , Float2 , Float3 ,
  Float4 , Mat3 , Mat4 , Int ,
  Int2 , Int3 , Int4 , Bool
}
 Enumerates the various data types used in shaders. More...
 
enum class  RenderMode { Solid = 0 , Wireframe , Points }
 Enumerates the different rendering modes. More...
 
enum class  RenderLayer { Skybox = 0 , Opaque = 100 , Transparent = 200 , UI = 300 }
 Enumerates the different render layers. More...
 

Detailed Description

Namespace for rendering-related classes and functions.

This namespace contains classes and functions that are responsible for rendering scenes, managing shaders, and handling graphical output.

Enumeration Type Documentation

◆ RenderLayer

enum class lmgl::renderer::RenderLayer
strong

Enumerates the different render layers.

This enumeration defines layers for rendering order, such as skybox, opaque objects, transparent objects, and UI elements. Each layer has a specific priority to ensure correct rendering order.

◆ RenderMode

enum class lmgl::renderer::RenderMode
strong

Enumerates the different rendering modes.

This enumeration defines the various modes in which objects can be rendered, such as solid, wireframe, and points. Each mode affects how the geometry is displayed on the screen.

◆ ShaderDataType

enum class lmgl::renderer::ShaderDataType
strong

Enumerates the various data types used in shaders.

This enumeration defines the different types of data that can be used in shader programs, including floats, integers, matrices, and booleans. Each type corresponds to a specific size and structure in memory.

Note
The sizes of these types are important for buffer layout calculations.