Skip to content

Armory 2020 #1545

@luboslenco

Description

@luboslenco

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!

Metadata

Metadata

Assignees

No one assigned

    Labels

    help wantedOpen discussion/more expertise needed

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions