What used for writing Armory Renderer

Hello Bob!

The renderer is indeed written from scratch and based on Kha. It is intentionally not tied to Armory only and is completely open - you can take it, modify it and build your own things.

It is not Blender’s internal renderer since that would run only inside Blender (might be not entirely true but would be hard to break the tie with OpenGL none the less, which for me is a big deal today with many graphics APIs in use.) and defeat the goals of Armory. However that is not a negative thing for Blender, since the Blender’s viewport renderer (and upcoming 2.8 revision) has clear goals and platform, they can optimize it much easier for target usage. Plus the enhanced viewport editing experience coming in 2.8 will be a god send to make Armory usage itself more pleasant too.

Kha itself is a low-level hardware abstraction library, it has no ‘graphics quality’ built-in - you have to write the shaders and the system to drive those shaders and that will decide on the final look.

To sum it up with essentials of Armory rendering:
Render engine - https://github.com/armory3d/iron
Armory shaders - https://github.com/armory3d/armory/tree/master/Shaders
Cycles material builder - https://github.com/armory3d/armory/blob/master/blender/material/cycles.py
Render path builder - https://github.com/armory3d/armory/blob/master/blender/make_renderpath.py

Hope that helps!

2 Likes