/lucid

LucidRaster: real-time GPU software rasterizer for exact OIT

Primary LanguageC++GNU General Public License v3.0GPL-3.0

LucidRaster: GPU Software Rasterizer for Exact Order-Independent Transparency License: GPL v3 Build status

LucidRaster is a software rasterizer running on a GPU which allows for efficient exact rendering of complex transparent scenes. It uses a new two-stage sorting technique and sample accumulation method. On average it's faster than high-quality OIT approximations and only about 3x slower than hardware alpha blending. It can be very efficient especially when rendering scenes with high triangle density or high depth complexity.

Most of LucidRaster's logic is implemented in Vulkan compute shaders, the rest of the code is mainly in C++.

Paper
Windows build + scene files
Project page (more details)
Author's Linkedin profile

This work is licensed under a GNU GPL v3 license.

Building

The easiest way to build LucidRaster is by using github build action, which builds Lucid for windows and prepares an artifact, which can be downloaded.

LucidRaster is using libfwk framework and can be built for Windows and Linux. To build it:

  • properly initialize and recursively update all submodules (libfwk and imgui in libfwk/extern/)
  • make sure that all libfwk dependencies are available (see libfwk's readme for that)
  • under linux build with make
  • under windows simply build with Visual Studio