albedo-engine / albedo

Efficient and easy to use rendering framework for real-time visualization based on WebGPU
MIT License
66 stars 2 forks source link

🌘 Albedo 🌒

Rust framework dedicated to real-time visualization.

Disclaimer


🚧 Albedo is a work-in-progress and might be unstable, use it at your own risks 🚧

Goals


Albedo isn't and will never be a game engine. It's designed to be a rendering framework made for real-time visualization. It's possible to use as the rendering module for a game, but that's not the use case why it was designed.

Features

GPU Raytracing

The albedo_rtx exposes GPU software Raytracing. You can use this crate to perform Ray-Triangle intersections.

The Albedo Pathtracer application is one example of what you can achieve with the albedo_rtx crate:

Pathtracing Example

Lightmapper

The library comes with the albedo_lightmapper_native crate used to generate lightmaps for a mesh.

For now, the lightmapper only generate an ambient occlusion map, but it will soon generate RGB lightmaps.

Examples

GPU Picking

While picking is doable using a rasterized G-Buffer of IDs, this example shows how it can be done using the raytracing crate.

https://github.com/albedo-engine/albedo/assets/8783766/9a4b07e5-d6c3-4be1-9535-15cd1e3235e1