/// <summary> /// Gets renderer resources /// </summary> /// <param name="result">Resource type</param> /// <returns>Returns renderer specified resource, if renderer produces that resource.</returns> public override EngineShaderResourceView GetResource(SceneRendererResults result) { if (result == SceneRendererResults.LightMap) { return(this.LightMap[0]); } var colorMap = this.GeometryMap?.Length > 0 ? this.GeometryMap[0] : null; var normalMap = this.GeometryMap?.Length > 1 ? this.GeometryMap[1] : null; var depthMap = this.GeometryMap?.Length > 2 ? this.GeometryMap[2] : null; if (result == SceneRendererResults.ColorMap) { return(colorMap); } if (result == SceneRendererResults.NormalMap) { return(normalMap); } if (result == SceneRendererResults.DepthMap) { return(depthMap); } return(base.GetResource(result)); }
/// <summary> /// Gets renderer resources /// </summary> /// <param name="result">Resource type</param> /// <returns>Returns renderer specified resource, if renderer produces that resource.</returns> public virtual EngineShaderResourceView GetResource(SceneRendererResults result) { if (result == SceneRendererResults.ShadowMapDirectional) { return(this.ShadowMapDirectional); } if (result == SceneRendererResults.ShadowMapPoint) { return(this.ShadowMapPoint); } if (result == SceneRendererResults.ShadowMapSpot) { return(this.ShadowMapSpot); } return(null); }