Git Product home page Git Product logo

violet's Introduction

🌈 violet

License GitHub last commit (branch)

violet is a hobby project for experimenting new rendering techniques with 🦀Rust and 🌋Vulkan. Currently it features:

  • A ReSTIR-based hybrid-renderer, with real-time ray-traced GI
  • SVGF/ReLAX style denoiser, filtering indirect diffuse and specular separately
  • Spatial Hash Grid world radiance cache (scratch)
  • Reference Path tracer
  • glTF model loading
  • Render graph (scratch)

Sponza rendered with restir (Sponza rendererd with violet-restir)

Dig into the Codebase

Building and Running

Firstly, you need to install Rust and, if necessary, the Vulkan driver for your graphics card (e.g. nvdia).

Then, you can build and run the violet-restir app to view the "Sponza" model:

cargo run --bin violet-restir --release -- "./assets/Sponza/Sponza.gltf"

Acknowledgments

This project benefits from a bunch of wonderful open-source projects, including:

  • ash: thin and simple, should be your go-to rust binding for Vulkan!
  • egui: lovely ImGUI written in pure rust.
  • puffin: easy to use profile for Rust (it also comes with a integration with egui👏)
  • rspirv-reflect: minimalism SPIR-V reflection libray.
  • MinimalAtmosphere: single-file atmospheric scattering implementation from Felix Westin.

And special thanks to @h3r2tic for his brilliant 💡kajiya, which inspired this entire journey into Rust and Vulkan rendering.

violet's People

Contributors

lhiuming avatar

Stargazers

 avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.