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 making a wall texture alignment tool able to work with textures of any size and configuration. A single keystroke will make adjacent walls with the same texture seamless and also propagate texture scale and rotation.
I like the curved reflection a lot, looks very realistic! But will be possible to choose how much reflective a surface can be? A varnished wooden floor for example can be reflective, but not as much as a mirror. If I can choose then I might be able to use reflections on lots of different surfaces.
Of course there's a bytecode to tweak reflections, although I'm yet to add a tool for managing bytecode instructions (they are auto-generated during import).
The reflectivity is based on real world Fresnel equations. As you can see, glossy surfaces reflect only a small bit of light energy (4%) when viewed head-on.
The main limitation is that all mirrors are currently perfectly smooth. I think that a roughness parameter could help better approximate real materials.