CrystalSpace

Public API Reference

CS::RenderManager::HDRHelper Class Reference

To help setting up a post effects manager for HDR rendering. More...

#include <csplugincommon/rendermanager/hdrhelper.h>

List of all members.

Public Types

enum  Quality {
  qualInt8, qualInt10, qualInt16, qualFloat16,
  qualFloat32
}
 

Level of HDR quality.

More...

Public Member Functions

iPostEffectGetHDRPostEffects ()
 Get the post processing effects manager which applies HDR tone mapping.
iShaderGetMappingShader ()
 Get the shader used for tonemapping the final image.
iShaderVariableContextGetMappingShaderVarContext ()
 Get the shader variable context for the tonemapping stage.
iPostEffectLayer * GetMeasureLayer () const
 Get the post processing effects layer that can be used for measuring image colors (before tonemapping).
void SetMappingShader (iShader *shader)
 Set the shader used for tonemapping the final image.
bool Setup (iObjectRegistry *objectReg, Quality quality, int colorRange, iRenderManagerPostEffects *postEffectManager)
 Set up a post processing effects manager for rendering to HDR textures.

Detailed Description

To help setting up a post effects manager for HDR rendering.

Usage:

Definition at line 48 of file hdrhelper.h.


Member Enumeration Documentation

Level of HDR quality.

Enumerator:
qualInt8 

Use 8-bit integers: fastest, supported by all hardware, but can look very, very bad if no care is taken.

Recommended when maximum compatibility is needed.

qualInt10 

Use 10-bit integers: faster and usually looking good enough; range is still rather limited; not supported on all hardware.

qualInt16 

Use 16-bit integers: fast and usually good enough; range is still limited; not supported on all hardware.

qualFloat16 

Use 16-bit floats: slower than integers, but wider range.

Use if you should run into color precision issues with integer. Hardware support is limited on older hardware.

qualFloat32 

Use 32-bit floats: slowest, but also highest range and precision.

However, rarely needed. Hardware support is limited on older hardware.

Definition at line 52 of file hdrhelper.h.


Member Function Documentation

iPostEffect* CS::RenderManager::HDRHelper::GetHDRPostEffects (  )  [inline]

Get the post processing effects manager which applies HDR tone mapping.

Definition at line 102 of file hdrhelper.h.

iShader* CS::RenderManager::HDRHelper::GetMappingShader (  ) 

Get the shader used for tonemapping the final image.

iShaderVariableContext* CS::RenderManager::HDRHelper::GetMappingShaderVarContext (  ) 

Get the shader variable context for the tonemapping stage.

iPostEffectLayer* CS::RenderManager::HDRHelper::GetMeasureLayer (  )  const [inline]

Get the post processing effects layer that can be used for measuring image colors (before tonemapping).

Definition at line 115 of file hdrhelper.h.

void CS::RenderManager::HDRHelper::SetMappingShader ( iShader shader  ) 

Set the shader used for tonemapping the final image.

bool CS::RenderManager::HDRHelper::Setup ( iObjectRegistry objectReg,
Quality  quality,
int  colorRange,
iRenderManagerPostEffects postEffectManager 
)

Set up a post processing effects manager for rendering to HDR textures.

Parameters:
objectReg Pointer to the object registry.
quality Quality of the intermediate textures rendered to.
colorRange Fixed range of colors for integer texture qualities. Typical values are 16 for qualInt16 and 4 for qualInt8. When a HDR exposure control is used this range may change dynamically.
Returns:
Whether the setup succeeded.
Remarks:
By default a simple linear tone mapping to the screen color space is used. This can be changed with SetMappingShader().

The documentation for this class was generated from the following file:

Generated for Crystal Space 2.1 by doxygen 1.6.1