HDR Rendering
Release 0.10.0
STPRealism
- Introduce
STPFrameBufferandSTPRenderBufferas smart managed OpenGL objects. - Add
textureStorageMultisample()method isSTPTexture. - Add a new managed object
STPSampler. - Refactor
STPTextureand extract functions which set texture parameters to a new interface classSTPImageParameter.STPSampleralso derives from this interface class.
STPPostProcessing
An off-screen renderer that captures rendering buffer from other renderers and process the buffer before drawing it onto the screen.
- Allow attaching multisampled texture.
- The shader provides the following functionalities:
- HDR tone mapping, specifically it supports the following tone mapping functions:
- Gran Turismo
- Lottes
- Uncharted2
- Gamma correction.
- HDR tone mapping, specifically it supports the following tone mapping functions:
Also enable HDR tone mapping and gamma correction in the demo program.
General fixes and improvement
- Update
Catch2to v3.0.0-preview4. - Fix a few typos in the README document.
- Fix a bug for which GL reports invalid image format when
unbindImage()is called inSTPTexture. - Replace
std::shared_mutexwithstd::mutexinSTPSingleHistogramFilter. Also eliminate unused function arguments. - Improve shader source macro definition, add a helper class to convert other data type to string automatically.
- For the demo program, albedo texture are now corrected to linear space, default framebuffer has multisampling disabled.
- Change
traverse()inSTPScenePipelineto a template function and use bit flag to determine components to be rendered in compile time to avoid having a lot of branches in runtime.