Welcome! With 2020 already in full swing, I would like to outline some plans for Armory architecture in the upcoming year. 🔨
- Move rendering to Graphics5. G5 is a newer API being developed in Kinc, leveraging modern graphics APIs like D3D12 / Vulkan / ..
- As a result, support for D3D12, Vulkan, Metal and WebGPU will be priority. Once running smoothly, older graphics APIs will be dropped.
- Implement ray-tracing for dynamic scenes. Right now Armory already has DXR support, but only handles static scenes. The goal is to have tanks demo running on a ray-tracing render path.
- Move low-level parts of Armory (like iron) to C. This is to better take advantage of multi-threading coupled with Graphics5 API. As a result, Armory will not be dependant on Kha (Haxe), but will interface directly with Kinc (C). An extended version of Krom which exposes Armory-specific functionality from C to Haxe/JS will be developed to accomplish this.
- Armory traits will be written in Haxe/JS like usual, or anything which compiles into WebAssembly.
- For web deployment, WebAssembly and WebGPU will be used.
Feel welcome to bring up any of these points for a discussion. If you have additional ideas which may improve the project further, please bring those up as well. The goal is to keep Armory viable long-term with a modern base ready for upcoming years.
My biggest thanks to everyone who already contributed to the project in any form over the years!
Welcome! With 2020 already in full swing, I would like to outline some plans for Armory architecture in the upcoming year. 🔨
Feel welcome to bring up any of these points for a discussion. If you have additional ideas which may improve the project further, please bring those up as well. The goal is to keep Armory viable long-term with a modern base ready for upcoming years.
My biggest thanks to everyone who already contributed to the project in any form over the years!