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.
Testing the new physically based shot noise effect that mimics a real Poisson distribution of photon density, and thus yields very realistic and immersive results in a dark setting. The noise level depends on the sensor size, quantum efficiency and ISO sensitivity, reflecting the actual number of photons that hit a specific pixel on your screen. The overall frame exposure is also affected by camera's f-number and shutter speed.
Also notice the realtime barrel distortion effect that has been recently prototyped. If coupled with a vignette, lens flare and some grain, this can produce a really cinematic look.
Lightning has always been an issue in Eduke/Build engine. Still map daily with Ion Fury on Eduke32 and making the right shadows take away so much time. So, your engine will be great when it does handle things differently. Read what you wrote in Description but it is a mystery to me what you mean with;
"....the sensor size, quantum efficiency, and ISO sensitivity, reflecting the actual number of photons that hit a specific pixel on your screen. "
Still, will be much better than Eduke, lol.
Thanks for your new update!
greetings,
Leon
Yes, I agree that the old sector-based lighting is very limited and can't yield good-looking results for most scenes. However, I have a plan to implement lighting with lightmaps and normalmaps. The tricky part is caching of the calculated light to make it render fast. Currently I'm experimenting with lighting baked into dynamic textures like it was done in Quake, but with color and HDR support. Thank you for your comment!