An all-new game engine written in C++; based on the NipSys64 framework I'm working on. This is a retro-gaming oriented engine for indie development. The graphic system is sector-based like good ol' Build engine, but it will bring its ideas into real 3D format with a ton of new features like heightmaps, fast multiple reflections, HDR, lightmaps, voxels and pixel-precise collision detection, as well as native multithreading support. Supporting various rendering techniques, the engine doesn't use Z-buffer, using span records instead, what makes rendering very fast. Having a high degree of module integration and transparency between engine parts, Brahma engine is flexible and adjustable to any needs. With it, one can create very dynamic games with a classic/retro look and feel. Now a working prototype is being developed which has a pure software renderer inspired by Ken Silverman's Build engine, but next iterations will bring even more capabilities and speed.
I've always dreamed of making computer games powered by my own 3D engine. I've been learning programming since early 2000's, my first attempts were pointless garbage, but since I moved my development to Visual C++, things have changed a lot. I've always liked Build engine games like Duke Nukem 3D and Shadow Warrior and wanted to create something similar independently using my technology which has made a start in 2013.
In early 2018, I've learned how to scan sector-based maps like in Build engine, and began experimenting with various CPU-based rendering techniques. As of today, my engine is somewhat slower than Build, but extends far beyond its capabilities, allowing true flat reflections, true sector over sector, emulated true vertical look, a limited form of HDR rendering and a lot more neat things. And with multithreading support, the engine far surpasses Build's performance on many-core processors.
For 120+ Hz display devices, Brahma engine offers a very efficient anti-aliasing solution called 4xTSAA. Owing to subpixel precision of engine's geometry rasterization, we can shift entire frame by a fraction of pixel in any direction. Doing this and varying the direction on time basis, quickly shifting between four states, we can attain a smoother look with virtually NO performance penalty. The framerate must be stable though and perfectly vertically-synchronized.
Recently I've bought a 144 Hz Full HD gaming monitor to test my engine on high refresh rates and 1080p resolution. Having 144 Hz opens a whole new world of rasterization, since pixels now can flicker so fast that it becomes unnoticeable. 4xTSAA is based on this phenomenon and resembles the near-forgotten interlaced scan, but with modern tech brings to whole new level, giving effectively 4K appearance on an ordinary Full HD screen, coupled with a higher refresh rate!
Unfortunately, so far I don't have a support for a high-quality output API which consistently does not skip rendered frames. I gave the engine a test with the Direct2D API, but this didn't solve occasional stuttering (frame skipping), causing other problems instead, so now I'm stuck with the legacy GDI output I've been using since 2006, emulating vsync with timers (which, however, is reasonably fast and offers maximum compatibility). Still I'm in a need of perfect vsync without any stuttering.
When rendering an anti-aliased scene, frames are organized into four 'fields' cycling quickly with slight sampling shift for each field, creating the impression of a static anti-aliased picture if cycling is fast enough. This also removes the need for anisotropic texture filtering, since whole scene is anti-aliased. The sampling pattern is optimal for a raster display, since the samples have evenly spaced X and Y offsets, effectively raising resolution by a factor of four.
No articles were found matching the criteria specified. We suggest you try the article list with no filter applied, to browse all available. Post article and help us achieve our mission of showcasing the best content from all developers. Join now to share your own content, we welcome creators and consumers alike and look forward to your comments.