Oxygen Engine
Modern C++ 3D Engine using OpenGL
Loading...
Searching...
No Matches
oe::render Namespace Reference

Render related abstractions (Shader, Framebuffer, Cubemaps, Textures). More...

Namespaces

namespace  pipeline
 Predefined Pass and helpers for the Pipeline.

Classes

class  Cubemap
class  Debug
 Render simple shapes for debugging purposes. More...
class  DynamicCubemap
struct  MultipleFramebufferInfo
 structure used to create multiple Framebuffer at once More...
class  Framebuffer
struct  ReflectionProbe
 A reflection environment. More...
class  Lighting
 Lighting manager (rendering). More...
struct  RenderManagerSettings
 Default Render manager settings. More...
struct  GenericRenderManager
 Generic render manager. More...
struct  VertexAttributes
class  Mesh
struct  DrawCommand
struct  MeshRenderer
 Component that provide Mesh handling and rendering. More...
struct  MeshSkinnedRenderer
 Component that provide Mesh skin rendering. More...
class  Pbr
 Physically Based Rendering. More...
struct  PipelineInput
class  Pipeline
class  Pass
class  ScreenQuad
class  Shader
 Standard shader class. More...
class  ShaderBase
 Shader class. More...
struct  Skybox
 Common struct to all skyboxes. More...
class  CubicSkybox
 Standard Cubic skybox. More...
class  FlatSkybox
 Flat skybox. More...
struct  SurfaceShader
 Surface Shader class. More...
class  Texture
struct  CheckerboardTextureInfo
 Settings to create a checkerboard texture. More...
struct  TextureManagerCreateInfo
 Settings to create the texture manager. More...
class  TextureManager
 handles the load and deletion of textures/cubemaps More...

Typedefs

using RenderManager = GenericRenderManager<RenderManagerSettings>
 Render manager using a variant of MeshRenderer and MeshSkinnedRenderer.
using PipelineOutput = oe::render::Framebuffer*

Enumerations

enum  TargetBuffer : int { COLOR_BUFFER = 0x4000 , DEPTH_BUFFER = 0x0100 , STENCIL_BUFFER = 0x0400 , ALL = 0x4500 }
enum class  GeometryPass : uint16_t { SOLID = 1 , SKINNED = 2 }
 Vertex rendering passes. More...
enum class  RenderingPass : uint16_t { DEPTH = 1 , FORWARD = 2 , DEFERRED = 3 }
 Pipeline rendering passes. More...
enum class  ColorSpace { SRGB , Linear }

Functions

void generateMultipleFramebuffers (MultipleFramebufferInfo input, std::vector< Framebuffer > &result)
 Generate multiple framebuffers at once.

Variables

constexpr const uint8_t default_mesh_rendering_mode = 0x04
 Default way to render the mesh vertices as filled triangles.

Detailed Description

Render related abstractions (Shader, Framebuffer, Cubemaps, Textures).

Enumeration Type Documentation

◆ ColorSpace

enum class oe::render::ColorSpace
strong
Enumerator
SRGB 

Texture contains sRGB color (Albedo or Emissive).

Linear 

Texture technical data that should be kept as-is (Normalmap, RouMetAo).

◆ GeometryPass

enum class oe::render::GeometryPass : uint16_t
strong

Vertex rendering passes.

Enumerator
SOLID 

In this pass, the shader will be used to draw a standard non deformable solid mesh

SKINNED 

In this pass, the shader will be used a draw a skinned mesh

◆ RenderingPass

enum class oe::render::RenderingPass : uint16_t
strong

Pipeline rendering passes.

Enumerator
DEPTH 

In this pass, the shader is assumed to output only cutoff opacity

FORWARD 

In this pass, the shader is assumed to output color data

DEFERRED 

In this pass, the shader is assumed to fill the GBuffer

Function Documentation

◆ generateMultipleFramebuffers()

void oe::render::generateMultipleFramebuffers ( MultipleFramebufferInfo input,
std::vector< Framebuffer > & result )

Generate multiple framebuffers at once.

Helps optimizing GPU layout when you know they will be frequently used together