0030483: Visualization, Path Tracing - make Tile Size configurable
authorkgv <kgv@opencascade.com>
Wed, 6 Feb 2019 16:21:23 +0000 (19:21 +0300)
committerapn <apn@opencascade.com>
Fri, 15 Feb 2019 14:14:19 +0000 (17:14 +0300)
commit66d1cdc65d647794a70615615b84a0659b807433
treecc02cc8b767f3dbeb5cd06187d7e7f2a0b7e0569
parente607bd3e6b8ec33bb0cf13422322cd740d203996
0030483: Visualization, Path Tracing - make Tile Size configurable

OpenGl_TileSampler has been refactored to better describe its logic:
- Offset image now defines tile index instead of offset to tile origin.
- Added 2D array defining the number of times to sample tile for straight-forward debugging.

Graphic3d_RenderingParams has been extended with property
RayTracingTileSize for testing various tile configurations.
Default behavior is the following:
- Target number of tiles (e.g. upper limit per frame): 256
- Tile size: 32x32.

OpenGl_View::runPathtrace() has been split into two methods per rendering stage.
OpenGl_Texture::Init() now returns FALSE immediately on 0 input dimensions.

Added Image_PixMapTypedData template class allowing to work with image data of known pixel format.
17 files changed:
src/Graphic3d/Graphic3d_RenderingParams.hxx
src/Image/FILES
src/Image/Image_PixMapData.hxx
src/Image/Image_PixMapTypedData.hxx [new file with mode: 0644]
src/OpenGl/OpenGl_Texture.cxx
src/OpenGl/OpenGl_TileSampler.cxx
src/OpenGl/OpenGl_TileSampler.hxx
src/OpenGl/OpenGl_View.hxx
src/OpenGl/OpenGl_View_Raytrace.cxx
src/OpenGl/OpenGl_View_Redraw.cxx
src/Shaders/Display.fs
src/Shaders/RaytraceBase.fs
src/Shaders/RaytraceRender.fs
src/Shaders/Shaders_Display_fs.pxx
src/Shaders/Shaders_RaytraceBase_fs.pxx
src/Shaders/Shaders_RaytraceRender_fs.pxx
src/ViewerTest/ViewerTest_ViewerCommands.cxx