Renderer

Description

Abstract interface and helper functionality for rendering scene objects and other geometry.

Classes

class  Camera
 Camera determines how is world geometry projected onto a 2D surface. More...
 
class  Camera
 Camera determines how is world geometry projected onto a 2D surface. More...
 
class  Light
 Illuminates a portion of the scene covered by a light. More...
 
class  Light
 Core thread usable version of bs::Light. More...
 
class  ReflectionProbe
 Specifies a location at which a pre-computed texture containing scene radiance will be generated. More...
 
class  ReflectionProbe
 Core thread usable version of a bs::ReflectionProbe. More...
 
class  Renderable
 Renderable represents any visible object in the scene. More...
 
class  Renderable
 Renderable represents any visible object in the scene. More...
 
class  Skybox
 Allows you to specify an environment map to use for sampling radiance of the sky. More...
 
class  Skybox
 Core thread usable version of a bs::Skybox. More...
 
class  LightProbeCache
 Keeps a cache of all textures used by light probes so they may be generated during development time, and then just loaded during runtime. More...
 
class  RenderableElement
 Contains all information needed for rendering a single sub-mesh. More...
 
struct  RendererMaterialMetaData
 Contains data common to all render material instances of a specific type. More...
 
class  RendererMaterialBase
 Base class for all RendererMaterial instances, containing common data and methods. More...
 
struct  InitRendererMaterialStart< T >
 Helper class to initialize all renderer materials as soon as the library is loaded. More...
 
class  RendererMaterial< T >
 Wrapper class around Material that allows a simple way to load and set up materials used by the renderer. More...
 
class  RendererMaterialManager
 Initializes and handles all renderer materials. More...
 
class  RendererUtility
 Contains various utility methods that make various common operations in the renderer easier. More...
 
class  ResolveMat
 Shader that resolves a MSAA surface into a non-MSAA render target. More...
 
class  BlitMat
 Shader that copies a source texture into a render target. More...
 
struct  RenderQueueElement
 Contains data needed for performing a single rendering pass. More...
 
class  RenderQueue
 Render objects determines rendering order of objects contained within it. More...
 

Macros

#define RMAT_DEF(path)
 References the shader path in RendererMaterial implementation. More...
 

Enumerations

enum  LightType { Directional, Radial, Spot }
 Light type that determines how is light information parsed by the renderer and other systems. More...
 
enum  LightDirtyFlag { Transform = 0x01, Everything = 0x02, Mobility = 0x04 }
 Signals which portion of a light is dirty. More...
 
enum  ReflectionProbeType { Box, Sphere }
 Light type that determines how is light information parsed by the renderer and other systems. More...
 
enum  ReflectionProbeDirtyFlag { Transform = 0x01, Everything = 0x02 }
 Signals which portion of a reflection probe is dirty. More...
 
enum  StateReduction { None, Material, Distance }
 Controls if and how a render queue groups renderable objects by material in order to reduce number of state changes. More...
 

Functions

BS_EXPORT RendererUtility & gRendererUtility ()
 Provides easy access to RendererUtility. More...
 

Variables

static InitRendererMaterialStart< T > mInitOnStart
 
static RendererMaterialMetaData mMetaData
 

Macro Definition Documentation

#define RMAT_DEF (   path)
Value:
public: \
static void _initMetaData() \
{ \
_initDefines(mMetaData.defines); \
RendererMaterialManager::_registerMaterial(&mMetaData, path); \
}; \
static void _initDefines(ShaderDefines& defines);

References the shader path in RendererMaterial implementation.

Enumeration Type Documentation

enum LightDirtyFlag
strong

Signals which portion of a light is dirty.

enum LightType
strong

Light type that determines how is light information parsed by the renderer and other systems.

enum ReflectionProbeDirtyFlag
strong

Signals which portion of a reflection probe is dirty.

enum ReflectionProbeType
strong

Light type that determines how is light information parsed by the renderer and other systems.

Enumerator
Box 

Reflection probe cubemap is generated, and box extents are used for calculating influence ranges and box geometry.

Sphere 

Reflection probe cubemap is generated, but sphere is used for calculating the influence radius and proxy geometry.

enum StateReduction
strong

Controls if and how a render queue groups renderable objects by material in order to reduce number of state changes.

Enumerator
None 

No grouping based on material will be done.

Material 

Elements will be grouped by material first, by distance second.

Distance 

Elements will be grouped by distance first, material second.

Function Documentation

BS_EXPORT RendererUtility& bs::ct::gRendererUtility ( )

Provides easy access to RendererUtility.