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.
I'm reworking my 3D model rendering support to make it work with my new polygon rasterizer that does frustum culling on scanline level, making 3D graphics more convenient to work with. There are still lots of things to fix and optimize, but the new algorithm seems to do its job well.
Brahma meshes can contain arbitrary 3D polygons with up to 255 sides, with possible holes. This will cut polygon count considerably and make the model rendering pipeline more flexible. Ability to render such polygons without traditional frustum clipping even when they partially lie behind the viewer is crucial for performance.
Very cool! Excuse my ignorance, but will be possible to cache models into billboards and use it as a LOD system like you did with voxels? Also, can I send you two models I made just to see how they look inside the engine?
Yes, I'd like to check how well your models will be imported.
The model of the human, shown above, looks awesome. Makes this engine go from a Build engine like to a completely new better looking engine!
Leon
Thanks! Hopefully multi-domain graphics (i.e. sectors, voxels, models etc.) will work well for this engine.