Maintain Texture Pixel to Screen Pixel size

If I have a material with a texture on a plane how can I scale/transform the plane so that 1 texture pixel = 1 pixel on the screen?

Naturally the plane would need to be face on to the camera.

You can use GUI.DrawTexture the texture will always face the camera and the texture pixel always will be 1 pixel.

I just wanted to jump in and say that using GUI.DrawTexture doesn’t necessarily mean perfect texture pixel to screen pixel ratio, but it’s much easier to have complete control over it. :wink:

It needs to be a 3D plane so I can rotate it and translate it.

I realise that these operations will mean that 1 texture pixel != 1 screen pixel but I do need to guarantee this for a plane perpendicular to the camera.

I’m thinking you’d have to set your camera pixel width/height to match you windows/screens pixel size, and you’d have to keep your plane at a depth of zero: any other depth would cause it to be clipped or scaled. Rotation would be a problem, as rotation about the X or Y would also lead to clipping.