display a modified texture on Display 1 in place of camera ,Display modified texture on Display 1 instead of original camera image

Hello,
I need to find a way to read in the image from a Unity Camera (say Main Camera, but essentially any camera) modify it and put the modified texture back to the screen. So far I have managed to read the camera to a texture, access the image data and modify it. But I cannot seem to close the loop and put the modified texture to the display. Can anyone suggest how I can get the texture to Display 1 ?

The code so far is:

public class ImageProcessor : MonoBehaviour
{
public RenderTexture RT;
int width;
int height;
public Texture2D texture;
public Camera cam;
Rect rectReadPicture;

// Start is called before the first frame update
void Start()
{
    Debug.Log("In start function");
    width = RT.width;
    height = RT.height;
    texture = new Texture2D(width, height, TextureFormat.RGB24, false);
    Debug.Log("Width = " + width + "Height = " + height);
    rectReadPicture = new Rect(0, 0, width, height);
}

// Update is called once per frame
void Update()
{
    Debug.Log("in update function");

    RenderTexture.active = RT;

    texture.ReadPixels(rectReadPicture, 0, 0);
    texture.SetPixel(10, 10, Color.red);
    Color c = texture.GetPixel(10, 10);
    Debug.LogFormat("pixel[{0},{1}] = {2}", 10, 10, c);

    c = texture.GetPixel(100, 100);
    Debug.LogFormat("pixel[{0},{1}] = {2}", 100, 100, c);

    c = texture.GetPixel(500, 500);
    Debug.LogFormat("pixel[{0},{1}] = {2}", 500, 500, c);

    ////**********************************   Display modified texture on Display 1   ************************************************///

}

}

Any suggestions greatly appreciated.

A

Hi,

You cannot “overlay” a texture directly into your camera. A reverse render texture is not supported by Unity.

But you can easily bypass this, by creating a UI Sprite that fills the area that you want to modify. Set the source texture of the sprite to your generated texture. I’m currently unsure whether UI elements get rendered into a render texture as well, be wary of this!