I’m fighting the renderer here and I feel like I’m missing something.
I’m trying to render to a fairly low resolution (say, 320x200) and pixel double my way to a more sensible resolution.
I tried setting the render size in “dimensions” low and running at 200%, but this seems to give me a much higher resolution output than I would expect.
Is there a good way to do this in Armory without hacking up the renderer?
There is a way to upscale from defined resolution if you set Armory Render Path - Post Process - Resolution. Sadly it was meant as perf option for mobile and the lowest option there is 480p. I will enable entering arbitrary value there.
Using that option the window is created at specified “dimensions”, but the actual rendering happens at “Resolution” defined property.
Ah yes, I saw that option, but it’s not quite what I need; it’s using some kind of linear scaling to bring the texture back up to target, but in this case I specifically want chunky pixels.
Is there a way to override both the resolution and scaling behaviors in code? I’m assuming the renderpath class has some secrets but I don’t know how much is going to get code-genned away, vs what’s actually tweakable.
I have finally pushed some more control over this, sorry it took this long. With Armory Render Path - Post Process - Resolution set to Custom, you can now set Filter to Closest, which should preserve the chunky pixels. Not sure if this is enough for what you need, but hopefully a start.
Size set to 120 and closest filter applied to celshade example: