- Home /
Rendering objects into another camera with a different material in HDRP
Hello there, I'm struggling since three days to obtain a simple visual effect: I would like to have a camera able to reproduce a depth map of the scene. For example:
I tried to write my own Custom Full Pass, but in HDRP it seems that any attempt to modify a rendering doesn't work! As a first attempt, I tried simply to overwrite the HDAdditionalCameraData, as it follows: using System.Collections; using System.Collections.Generic; using UnityEngine; using UnityEngine.Rendering; using UnityEngine.Rendering.HighDefinition;
public class DepthScript: MonoBehaviour
{
HDAdditionalCameraData HDData;
public Material mat;
void Start()
{
HDData = GetComponent<HDAdditionalCameraData>();
if (HDData != null)
HDData.customRender += CameraRenderer;
}
public void CameraRenderer(ScriptableRenderContext context, HDCamera camera)
{
CommandBuffer cameraBuffer = new CommandBuffer
{
name = "Render Camera"
};
cameraBuffer.BeginSample("Render Camera");
context.ExecuteCommandBuffer(cameraBuffer);
cameraBuffer.Clear();
context.SetupCameraProperties(camera.camera);
cameraBuffer.ClearRenderTarget(false, false, camera.backgroundColorHDR);
context.ExecuteCommandBuffer(cameraBuffer);
//1: Culling
camera.camera.TryGetCullingParameters(out ScriptableCullingParameters cullingParameters);
CullingResults cullingResults = context.Cull(ref cullingParameters);
//2: Rendering
DrawingSettings drawRendererSettings = new DrawingSettings();
//var drawRendererSettings = new DrawRendererSettings(camera, new ShaderPassName("ShadowCaster"));
drawRendererSettings.SetShaderPassName(0, new ShaderTagId("ShadowCaster"));
FilteringSettings filteringSettings = new FilteringSettings();
context.DrawRenderers(cullingResults, ref drawRendererSettings, ref filteringSettings);
cameraBuffer.EndSample("Render Camera");
context.ExecuteCommandBuffer(cameraBuffer);
cameraBuffer.Clear();
context.Submit();
}
}
I already tried with drawingSetting.overrideMaterial, but it doesn't work at all.
Any suggestions?
Your answer
Follow this Question
Related Questions
Render tooltip on top of everything with MRTK 0 Answers
HD render pipeline camera issue 0 Answers
Green Creep? Any idea what might be causing this visual glitch? 0 Answers
LWRP: Set custom shader at runtime 1 Answer
Render objects with different materials when switching between two cameras in HDRP 0 Answers