Skip to content

This is a mirror of https://gitlab.devau.co/theo/opengl-transparency to demonstrate 3D transparency with OpenGL (Dual Depth Peeling, Linked List OIT and more)

License

Notifications You must be signed in to change notification settings

theo-dep/OpenGL-Transparency

Repository files navigation

OpenGL Transparency

Sample to demonstrate different ways to render a transparent 3D model.

Initial algorithm: Order Independent Transparency with Dual Depth Peeling (Bavoil and Myers 2008).

nvidia dragon opengl2 dual depth peeling

OpenGL 2

nvidia dragon opengl3 and more dual depth peeling

OpenGL 3+

Order Independent Transparency modes

  • OpenGL 4.4: Binary Space Partitioning (BSP) Tree with persistent mapped buffer
    • Still work in progress since the NVidia dragon take days to build
  • OpenGL 4.3: Sorted Linked List
  • OpenGL 4.2: Sorted A-Buffer (Image Load Store)
  • OpenGL 2 and 3.3 (initial NVidia sample):
    • Dual Depth Peeling
    • Front-to-Back Peeling
    • Weighted Average
    • Weighted Sum

Links

Dependencies

All dependencies can be install by vcpkg with vcpkg install or during the CMake configuration by setting VCPKG_ROOT=[path/to/vcpkg] and PATH="$PATH:$VCPKG_ROOT" environment variable. See https://learn.microsoft.com/fr-fr/vcpkg/get_started/get-started.