- Home /
RenderTexture is black, nothing rendered
This is my complete component on my 'capture camera' set to depth -2. My Main Camera is set to depth -1 No errors, but my RenderTexture 'top' is black, nothing rendered.
using UnityEngine;
[ExecuteInEditMode]
[RequireComponent(typeof(Camera))]
public class PhysicalLogical_Blit : MonoBehaviour
{
public RenderTexture top;
RenderTexture rt;
RenderTextureDescriptor mainrtdesc;
Camera myCam;
void Start()
{
myCam = GetComponent<Camera>();
}
void OnPreRender()
{
mainrtdesc = new RenderTextureDescriptor(6400,720);
rt = RenderTexture.GetTemporary(mainrtdesc);
myCam.targetTexture = rt; // This makes the camera render to the rt RenderTexture
}
void OnPostRender()
{
myCam.targetTexture = null;
Graphics.Blit(rt, top);
Graphics.Blit(rt,null as RenderTexture);
RenderTexture.ReleaseTemporary(rt);
}
}
Answer by eco_bach · Aug 11, 2019 at 09:33 PM
Ok this seems to be working though I get an occasional flicker. Had to add a OnRenderImage and also play with the Offset values in my RenderTexture material.
Would appreciate ANY feedback or tweaks that might improve this! Thanks again!
using UnityEngine;
[ExecuteInEditMode]
[RequireComponent(typeof(Camera))]
public class PhysicalLogical_Blit : MonoBehaviour
{
public RenderTexture top;
public RenderTexture bottom;
public RenderTexture intermediateRT;
RenderTexture rt;
RenderTextureDescriptor mainrtdesc;
Camera myCam;
void Start()
{
myCam = GetComponent<Camera>();
}
void OnPreRender()
{
mainrtdesc = new RenderTextureDescriptor(3840,720, RenderTextureFormat.ARGB32);
rt = RenderTexture.GetTemporary(mainrtdesc);
myCam.targetTexture = rt; // This makes the camera render to the rt RenderTexture
}
private void OnRenderImage(RenderTexture source, RenderTexture destination)
{
Graphics.Blit(source, rt);
}
void OnPostRender()
{
myCam.targetTexture = null;
Graphics.Blit(rt, top);
Graphics.Blit(rt,null as RenderTexture);
RenderTexture.ReleaseTemporary(rt);
}
}
Your answer
Follow this Question
Related Questions
How would you efficiently access the last N rendered frames every frame? 2 Answers
Where to Graphics.Blit()? 1 Answer
Weird problem with RenderTexture and HDRP Custom Pass 0 Answers
Blitting to RenderTexture does not seem to be accurate 0 Answers
How can i set transparent pixels on a RenderTexture? 1 Answer