Example #1
0
        /// <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);
 }