public Texture GetTexture(ProbeSettings.Mode targetMode) { switch (targetMode) { case ProbeSettings.Mode.Baked: return(m_BakedTexture); case ProbeSettings.Mode.Custom: return(m_CustomTexture); case ProbeSettings.Mode.Realtime: return(m_RealtimeTexture); default: throw new ArgumentOutOfRangeException(); } }
public static Texture CreateRenderTargetForMode(HDProbe probe, ProbeSettings.Mode targetMode) { Texture target = null; var hd = (HDRenderPipeline)RenderPipelineManager.currentPipeline; var settings = probe.settings; switch (targetMode) { case ProbeSettings.Mode.Realtime: { switch (settings.type) { case ProbeSettings.ProbeType.PlanarProbe: target = HDRenderUtilities.CreatePlanarProbeRenderTarget( (int)hd.renderPipelineSettings.lightLoopSettings.planarReflectionTextureSize ); break; case ProbeSettings.ProbeType.ReflectionProbe: target = HDRenderUtilities.CreateReflectionProbeRenderTarget( (int)hd.renderPipelineSettings.lightLoopSettings.reflectionCubemapSize ); break; } break; } case ProbeSettings.Mode.Baked: case ProbeSettings.Mode.Custom: { switch (settings.type) { case ProbeSettings.ProbeType.PlanarProbe: target = HDRenderUtilities.CreatePlanarProbeRenderTarget( (int)hd.renderPipelineSettings.lightLoopSettings.planarReflectionTextureSize ); break; case ProbeSettings.ProbeType.ReflectionProbe: target = HDRenderUtilities.CreateReflectionProbeTarget( (int)hd.renderPipelineSettings.lightLoopSettings.reflectionCubemapSize ); break; } break; } } return(target); }
public static void AssignRenderData( HDProbe probe, HDProbe.RenderData renderData, ProbeSettings.Mode targetMode ) { switch (targetMode) { case ProbeSettings.Mode.Baked: probe.bakedRenderData = renderData; break; case ProbeSettings.Mode.Custom: probe.customRenderData = renderData; break; case ProbeSettings.Mode.Realtime: probe.realtimeRenderData = renderData; break; } }
static Texture CreateAndSetRenderTargetIfRequired(HDProbe probe, ProbeSettings.Mode targetMode) { var settings = probe.settings; Texture target = probe.GetTexture(targetMode); if (target != null) { return(target); } target = CreateRenderTargetForMode(probe, targetMode); probe.SetTexture(targetMode, target); return(target); }
public Texture SetTexture(ProbeSettings.Mode targetMode, Texture texture) { if (targetMode == ProbeSettings.Mode.Realtime && !(texture is RenderTexture)) { throw new ArgumentException("'texture' must be a RenderTexture for the Realtime mode."); } switch (targetMode) { case ProbeSettings.Mode.Baked: return(m_BakedTexture = texture); case ProbeSettings.Mode.Custom: return(m_CustomTexture = texture); case ProbeSettings.Mode.Realtime: return(m_RealtimeTexture = (RenderTexture)texture); default: throw new ArgumentOutOfRangeException(); } }