Upscale Pixel-Art Style Animation with Compositing

I’m making a short faux pixel-art animation and the way I do it now is I render out low-res image sequence, then batch upscale it with IrfanView and then plug it back to Blender Sequence Editor to render it into MKV file.
So I was thinking, is there a way to upscale output images in Blender itself? I tried Scale node but it crops output to fit my low-res render settings and I just get a small piece of the picture.

What I need:

What I get:

Another problem would be getting rid of interpolation I guess but haven’t got there yet.

You need to use the Pixelate node. Just put a couple scale nodes on either side. The pixelate node simply changes the interpolate function.

make it with more contrast and less light bounces.

That would work I guess but the problem is that I’ll have to render at resolution 10 time bigger and that will take a lot of time.

It’s at one light bounce already (if I understood you correctly). Not sure what do you mean by contrast.

Ummm, you don’t have to rerender at a higher resolution, the pixelate node just removes aliasing (smooth colors on edges) by resampling after scaling down and back up. The size of the blocks is determined by the scale factor. I just chose x100 (01- 10.0) because it was obvious. Try it and vary the Y values together.

Pixelate solves the problem of interpolation but I still don’t know how to scale an image to the resolution bigger than render size set in render options. Blender just crops it to the center.

So now I render at 192108 and upscale it to 19201080 outside Blender. If I use your setup then I’ll have to render at 1080 -> scale down -> pixelate -> scale up.

The scale function is just going to be a ratio of your intial and end dimensions. I am amazed at the pixel count you have there! Anyway you could try using the FileOutput node which I don’t think crops the source dimensions.