RAYVE GAME ENGINE
An experimental non-rasterized ray traced game engine.


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 used by most game engines.

Ingenious techniques for 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 could be great for rendering game scenes, but is way too slow for full scenes, even with hardware ray tracing cores. Yet, what if a different form of ray tracing was created that compromised some graphic fidelity for fast frame rates, and could replace rasterization?

For several years Raylogic has been working on specialized ray tracing for games. It replaces the entire rasterization pipeline with compute-based shaders that render directly from the scene to the display.

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.

Rayve is a very lightweight engine with a single C++ header. If Unity/Unreal are the size of Jupiter, Rayve is the size of Earth's moon.

Creating a non-rasterized engine is basically starting over like it was 40 years ago. Rayve has enough basic features to write a simple game, but still has a ways to go. For now requires Windows PC's and Visual Studio and is closed source. Rayve is not yet available.

RAYVE GAME ENGINE

Rayve replaces rasterization with specialized ray tracing just for games.
Single C++ header and beautiful graphics.