CS::RenderManager::HDRHelper Class Reference (Crystal Space 2.0 Public API Reference)

| ## Public API Reference

- Main Page
- Related Pages
- Modules
- Namespaces
- Classes
- Files

- Class List
- Class Index
- Class Hierarchy
- Class Members

Public Types | Public Member Functions
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
PostEffectManager & | GetHDRPostEffects ()
| Get the post processing effects manager which applies HDR tone mapping.
iShader * | GetMappingShader ()
| Get the shader used for tonemapping the final image.
iShaderVariableContext * | GetMappingShaderVarContext ()
| Get the shader variable context for the tonemapping stage.
PostEffectManager::Layer * | 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)
| 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:

- The rendermanager must have an instance member for the HDR helper.
- The Setup() method must be called.
- The HDR helper owns a post effects manager, retrievable with GetHDRPostEffects(). It should be chained to the post effects manager set up by the render manager. (Or, if the RM does not have a post effects manager, properly driven like an RM one would.)

Definition at line 48 of file hdrhelper.h.

## Member Enumeration Documentation

enum CS::RenderManager::HDRHelper::Quality

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

PostEffectManager& CS::RenderManager::HDRHelper::GetHDRPostEffects | ( |  | ) | `[inline]`

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

Definition at line 101 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.

PostEffectManager::Layer* 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 114 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
| ) |  |

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:

- csplugincommon/rendermanager/hdrhelper.h