Is it possible to make unity's camera render in chunky pixels?

Hi there all! This is my first question so I hope it won’t suck but here it goes…

I was wondering if there is a way to instead of down-sampling, can you in fact, Up-sample the game?
it would be very helpful indeed, because I’m making a game where it needs to look like a old 1990s game.

Thanks for taking the time to reply! I love it! :smiley:

Thanks to tanoshimi’s answer I created my own pixelizer, pretty easy.

Create a new RenderTexture and set it’s width and height to 256x256 or whatever you want (has to be Power of Two, though!)

Drag this texture to your camera’s target texture field.

Add this script to the camera:

using UnityEngine;
using System.Collections;

public class Pixelation : MonoBehaviour {

	public RenderTexture renderTexture;

	void Start() {
		int realRatio = Mathf.RoundToInt(Screen.width / Screen.height);
		renderTexture.width = NearestSuperiorPowerOf2(Mathf.RoundToInt(renderTexture.width * realRatio));
		Debug.Log("(Pixelation)(Start)renderTexture.width: " + renderTexture.width);
	}

	void OnGUI() {
		GUI.depth = 20;
		GUI.DrawTexture(new Rect(0,0, Screen.width, Screen.height), renderTexture);
	}

	int NearestSuperiorPowerOf2( int n ) {
		return (int) Mathf.Pow( 2, Mathf.Ceil( Mathf.Log( n ) / Mathf.Log( 2 ) ) );
	} 
}

Drag the Render Texture to the script’s renderTexture field.

Hit play and watch in amazement :wink:

Note that if you update the renderTexture’s width and height every frame, you performance takes a big hit, so I oly do it once in Start().

You mean like at http://shambles.notch.net/ ?

Sure - render the output of your main camera to a low-resolution RenderTexture (say, 320x240), and then scale that rendertexture up to fill the screen - that’s how Notch did it.