What used for writing Armory Renderer

#1

Hi
i still can’t understood, what used to render image instead of cycles renderer in Armory. is used Blender internal OpenGL renderer or what? is it yourself made renderer that you create using Kha engine? but when i see games made with Kha it is very simple rendered images.
i just want to understood what can show so beautiful image in real time.

2)actually i also like what image appears in blender when it switched to Cycles renderer and Viewport Shading is Material - is it opengl blender renderer.

0 Likes

#2

after seeing armory API and codebase: looks like rendering wroted with Kha and it located in iron project. so looks like Blender is just informator for iron, who really make rendering work using Kha. so iron.Scene.renderFrame (g:Graphics):Void g is from package kha.graphics4.

so looks like it posssible to use Your libraries without blender - as hi level library over Kha, but needed viewport and models import, but ofcourse with blender it’s perfect.

0 Likes

#3

i just can’t believe that so quality image can be rendered by Kha, it’s just a shaders. so i find what i currently need http://armory3d.org/iron/

0 Likes

#4

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

#5

@lubos pour info the 2 last links are no more working

0 Likes

#6

I guess the “arm” part of the link slipped, here’s corrected links for the last two:
Cycles material builder - https://github.com/armory3d/armory/blob/master/blender/arm/material/cycles.py
Render path builder - https://github.com/armory3d/armory/blob/master/blender/arm/make_renderpath.py

But yeah, Armory, Iron and Kha is fantastic :slight_smile:

2 Likes