• Register

Brahma is a 3D game engine with a rather retrofuturistic design, intended for small studios and solo developers. It's being written from scratch in C++ using standard Windows API and no third-party libraries. This technology introduces an entirely new class of low-latency real-time engines that make special timing requirements, treating frames as video fields with a target time budget of 2-4 ms each, down from 16-33 ms frame budgets normally seen in game engines. It evolves in a different way than other modern engines, rejecting conventional BSP, Z-buffer, floating-point coordinates, and most of the lame screen-space effects in favor of innovative and efficient techniques. The engine is non-Euclidean capable to some degree; also it supports true displacement mapping for sectors as a means to virtualize geometry that affects collisions. The engine is also carefully designed to be easy and convenient to develop for, yet versatile and adaptive to any needs.

Description

This is a script for Evaldraw that contains my proof-of-concept prototype of a software rasterizer for spheres. I came up with an algorithm that can fill perfect spheres with series of 2D slices. Each sphere on the screen is composed of tiny crescent or annular shapes that are parallel to the viewing plane. This helps simplify the calculation of normals and texture coordinates. Beside that, a collection of spheres can be rasterized concurrently in order to perform Z-culling without a Z-buffer of any kind. It also gracefully handles overlapping translucent objects which used to cause problems if one uses a Z-buffer.

Preview
Bresensolids (concurrent sphere rasterization prototype)
Post a comment

Your comment will be anonymous unless you join the community. Or sign in with your social account:

Tags

Bresensolids (concurrent sphere rasterization prototype) has not been tagged yet.