Skip to content

Commit a64d433

Browse files
committed
Adding other 2 methods used for shadow comparison
1 parent 9c874cf commit a64d433

17 files changed

+4079
-0
lines changed

README.md

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -36,6 +36,19 @@ A volume rendering application with different techniques, trying to be as simila
3636
- Leonardo Q. Campagnolo, Waldemar Celes. Interactive directional ambient occlusion and shadow computations for volume ray casting. Computers & Graphics, Volume 84, 2019, Pages 66-76, ISSN 0097-8493. doi: 10.1016/j.cag.2019.08.009.
3737
- Links: [Elsevier](https://www.sciencedirect.com/science/article/abs/pii/S0097849319301372)
3838

39+
* 1-Pass - Ray Casting - Extinction-based
40+
- Structured Single-pass Ray Casting: Extinction-based shading
41+
- Schlegel, P, Makhinya, M, Pajarola, R. Extinction-based shading and illumination in gpu volume ray-casting. IEEE Transactions on Visualization and Computer Graphics 2011 Dec;17(12):1795–1802. doi: 10.1109/TVCG.2011.198.
42+
- Links: [IEEE](https://ieeexplore.ieee.org/document/6064942)
43+
- Missing: Ambient Occlusion with Color Bleeding
44+
- Summed Area Table (SAT) built with extinction coefficient (on CPU).
45+
46+
* 1-Pass - Ray Casting - Voxel Cone Tracing
47+
- Single-GPU version implemented just for render comparison
48+
- Structured Single-pass Ray Casting: Voxel Cone Tracing Shadows
49+
- Shih, M., Rizzi, S., Insley, J.A., Uram, T.D., Vishwanath, V., Hereld, M., Papka, M.E., & Ma, K. (2016). Parallel distributed, GPU-accelerated, advanced lighting calculations for large-scale volume visualization. 2016 IEEE 6th Symposium on Large Data Analysis and Visualization (LDAV), 47-55. doi: 10.1109/LDAV.2016.7874309.
50+
- Links: [IEEE](https://ieeexplore.ieee.org/document/7874309)
51+
3952
* Slice-based - Directional Occlusion
4053
- Structured Slice-based Texture Mapping: Directional Occlusion Shading Model
4154
- Schott, M., Pegoraro, V., Hansen, C., Boulanger, K. and Bouatouch, K. (2009), A Directional Occlusion Shading Model for Interactive Direct Volume Rendering. Computer Graphics Forum, 28: 855-862. doi:10.1111/j.1467-8659.2009.01464.x.

cppvolrend/CMakeLists.txt

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -40,6 +40,13 @@ add_executable(cppvolrend
4040
structured/rc1pdosct/conegaussiansampler.cpp structured/rc1pdosct/conegaussiansampler.h
4141
structured/rc1pdosct/dosrcrenderer.cpp structured/rc1pdosct/dosrcrenderer.h
4242
structured/rc1pdosct/extcoefvolumegenerator.cpp structured/rc1pdosct/extcoefvolumegenerator.h
43+
44+
# Extinction-based shading to compute ambient occlusion and cone shadows with Summed Area Table
45+
structured/rc1pextbsd/ebsrenderer.cpp structured/rc1pextbsd/ebsrenderer.h
46+
47+
# Voxel Cone Tracing to compute Shadows (Single GPU version)
48+
structured/rc1pvctsg/preprocessingstages.cpp structured/rc1pvctsg/preprocessingstages.h
49+
structured/rc1pvctsg/vctrenderer.cpp structured/rc1pvctsg/vctrenderer.h
4350

4451
# Directional Occlusion Shading for GPU Slice/Texture-based
4552
structured/sbtmdos/sbtmdosrenderer.cpp structured/sbtmdos/sbtmdosrenderer.h

cppvolrend/main.cpp

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -23,6 +23,8 @@
2323
#include "structured/rc1pass/rc1prenderer.h"
2424
#include "structured/rc1pcrtgt/crtgtrenderer.h"
2525
#include "structured/rc1pdosct/dosrcrenderer.h"
26+
#include "structured/rc1pextbsd/ebsrenderer.h"
27+
#include "structured/rc1pvctsg/vctrenderer.h"
2628
// Slice based
2729
#include "structured/sbtmdos/sbtmdosrenderer.h"
2830
//-----------------------------------------------------------------------------------------------------------------------------------------------------------------
@@ -57,6 +59,8 @@ int main (int argc, char **argv)
5759
RenderingManager::Instance()->AddVolumeRenderer(new RayCasting1Pass());
5860
RenderingManager::Instance()->AddVolumeRenderer(new RC1PConeLightGroundTruthSteps());
5961
RenderingManager::Instance()->AddVolumeRenderer(new RC1PConeTracingDirOcclusionShading());
62+
RenderingManager::Instance()->AddVolumeRenderer(new RC1PExtinctionBasedShading());
63+
RenderingManager::Instance()->AddVolumeRenderer(new RC1PVoxelConeTracingSGPU());
6064
//-----------------------------------------------------------------------------------------------------------------------------------------------------------------
6165
// Slice based
6266
RenderingManager::Instance()->AddVolumeRenderer(new SBTMDirectionalOcclusionShading());

0 commit comments

Comments
 (0)