Game engines have always used rasterization pipelines for rendering. Rayve replaces rasterization with ray tracing.
Rasterization was invented long ago to flatten 3D scenes to 2D so that VGA hardware blitters could render
a scene faster. OpenGL, DirectX and Vulkan are the direct evolution of rasterization.
Rasterization involves draw calls, frustum culling, occlusion culling, overdraw reduction, vertex / pixel
processing, screen space projection, environment / cube mapping, forward / deferred rendering, transparency
ordering, shadow mapping, depth buffers, filtering and more.
The reason for all this complexity is that rasterization focuses on projecting scenes to 2D, but lighting is
a better focus for rendering.
Rayve replaces rasterization with a fully compute-based rendering pipeline built around deterministic ray tracing.
Scene objects are ray traced directly to the display buffer for greatly simplified rendering.
Deterministic ray tracing is Raylogic's own variation on ray tracing. Alternate techniques are used in some
places to balance frame rates with visuals. No noise is generated with this form of ray tracing.
Many current game engines include ray tracing, but it's just for lighting related tasks. The core rendering
pipeline remains rasterization-based.
Rayve is a C++ game engine that has a straighforward entity/component framework and API that makes writing
games with Rayve fun. Rayve uses the smallest subset of C++ possible to keep things uncomplicated.
Rayve is code-centric and does not have a level editor. But importing entire levels with collision from a 3D modeling tool
is very easy.
Rayve comes as a zip file that extracts to a folder. Double click on the Visual Studio solution and Rayve is ready
to start creating games. Windows and Visual studio are required. A perpetual license is $35. Rayve is close sourced.
Raylogic is working on a space game "Dark Ore". Once complete, Rayve will be released along with the
"Dark Ore" project for learning Rayve.
