Skip to content

Structured volume rendering using OpenGL, trying to reproduce some past proposed illumination techniques.

License

Notifications You must be signed in to change notification settings

lquatrin/cpp_volume_rendering

Folders and files

NameName
Last commit message
Last commit date

Latest commit

2fcf09a · Nov 28, 2024

History

34 Commits
Dec 17, 2023
May 4, 2022
Mar 26, 2021
Mar 26, 2021
Mar 26, 2021
Dec 17, 2023
Dec 17, 2023
Dec 17, 2023
Mar 26, 2021
Mar 26, 2021
Nov 23, 2022
Mar 26, 2021
Mar 26, 2021
Mar 26, 2021

Repository files navigation

C++ Volume Rendering

A volume rendering application with different techniques, trying to be as similar as possible to the results from each paper. Any contribution is welcome!

Project settings


  • Developed using Visual Studio cmake extension (2017, 2019).

  • Using C++ and GLSL

  • Uses glew, freeglut/glfw and glm

  • Supported Volumes: .raw, .pvm and .syn

  • Supported Transfer Functions: 1D Piecewise linear .tf1d

  • Additional data

Implemented methods


  • 1-Pass - Ray Casting

    • Structured Single-pass GLSL Ray Casting
  • 1-Pass - Ray Casting - Cone Ground Truth (Steps)

    • Structured Single-pass Ray Casting: Directional Ambient Occlusion and Shadows with Cone Tracing
    • Ray Tracing Ground Truth
    • Implements:
      • Directional Ambient Occlusion
      • Cone Shadows
  • 1-Pass - Ray Casting - Dir. Occlusion Shading

    • Structured Single-pass Ray Casting: Directional Ambient Occlusion and Shadows with Cone Tracing
    • 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.
    • Links: Elsevier
  • 1-Pass - Ray Casting - Extinction-based

    • Structured Single-pass Ray Casting: Extinction-based shading
    • 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.
    • Links: IEEE
    • Missing: Ambient Occlusion with Color Bleeding
    • Summed Area Table (SAT) built with extinction coefficient (on CPU).
  • 1-Pass - Ray Casting - Voxel Cone Tracing

    • Single-GPU version implemented just for render comparison
    • Structured Single-pass Ray Casting: Voxel Cone Tracing Shadows
    • 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.
    • Links: IEEE
  • Slice-based - Directional Occlusion

    • Structured Slice-based Texture Mapping: Directional Occlusion Shading Model
    • 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.
    • Links: ACM

Screenshot


Screenshot

About

Structured volume rendering using OpenGL, trying to reproduce some past proposed illumination techniques.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages