RAYVE GAME ENGINE
Non-rasterized ray tracing experiment.


Rasterization

Game engines have always used rasterization for rendering. Rasterization's original purpose was to flatten 3D triangles to 2D so that VGA blitters could be used to render the triangles. OpenGL, DirectX and Vulkan are the evolution of rasterization and used by most game engines.


Hmm...

Ingenious techniques with rasterization deliver amazing graphics. But is rasterization the best way? Rendering 3D scenes is about lighting. Rasterization is about processing triangles into 2D. This seems fundamentally misaligned.


Ray Tracing?

Instead of just handling lights, shadows and reflections, ray tracing could replace the entire rasterization pipeline. This would streamline rendering so much. Unfortunately, traditional ray tracing is too slow to handle everything, even with hardware ray tracing cores.


Something New

For several years Raylogic has been experimenting with specialized ray tracing to overcome this obstacle. Compute-based shaders are used that render directly from scene to frame buffer. Deterministic ray tracing is used that doesn't require denoising or other AI help.


Cleaning Up

Eliminating rasterization removes draw calls, frustum culling, occlusion culling, overdraw reduction, vertex / pixel processing, screen space projection, environment / cube mapping, forward / deferred rendering, level of detail meshes, transparency ordering, lightmap baking, shadow mapping, depth buffers, mip-mapping, filtering.


Lightweight and Fast

Rayve is a very lightweight engine with a single C++ header and a comfortable workflow. The framework is based on Raylogic's own data-oriented entity and component design. Rayve is still in progress with demos coming soon.

RAYVE GAME ENGINE
Non-rasterized ray tracing experiment.


Rasterization

Game engines have always used rasterization for rendering. Rasterization's original purpose was to flatten 3D triangles to 2D so that VGA blitters could be used to render the triangles. OpenGL, DirectX and Vulkan are the evolution of rasterization and used by most game engines.
Hmm...

Ingenious techniques with rasterization deliver amazing graphics. But is rasterization the best way? Rendering 3D scenes is about lighting. Rasterization is about processing triangles into 2D. This seems fundamentally misaligned.
Ray Tracing?

Instead of just handling lights, shadows and reflections, ray tracing could replace the entire rasterization pipeline. This would streamline rendering so much. Unfortunately, traditional ray tracing is too slow to handle everything, even with hardware ray tracing cores.
Something New

For several years Raylogic has been experimenting with specialized ray tracing to overcome this obstacle. Compute-based shaders are used that render directly from scene to frame buffer. Deterministic ray tracing is used that doesn't require denoising or other AI help.
Cleaning Up

Eliminating rasterization removes draw calls, frustum culling, occlusion culling, overdraw reduction, vertex / pixel processing, screen space projection, environment / cube mapping, forward / deferred rendering, level of detail meshes, transparency ordering, lightmap baking, shadow mapping, depth buffers, mip-mapping, filtering.
Lightweight and Fast

Rayve is a very lightweight engine with a single C++ header and a comfortable workflow. The framework is based on Raylogic's own data-oriented entity and component design. Rayve is still in progress with demos coming soon.