Example #1
0
        private void ExecuteTechnique(Image source, RenderImage destination, string techniqueName, RenderImage shadowMap)
        {
            Vector2D renderTargetSize;

            renderTargetSize           = new Vector2D(baseSize, baseSize);
            Gorgon.CurrentRenderTarget = destination;
            Gorgon.CurrentRenderTarget.Clear(Color.White);

            Gorgon.CurrentShader = resolveShadowsEffect.Techniques[techniqueName];
            resolveShadowsEffect.Parameters["renderTargetSize"].SetValue(renderTargetSize);
            if (source != null)
            {
                resolveShadowsEffect.Parameters["InputTexture"].SetValue(source);
            }
            if (shadowMap != null)
            {
                resolveShadowsEffect.Parameters["ShadowMapTexture"].SetValue(shadowMap);
            }

            quadRender.Render(new Vector2D(1, 1) * -1, new Vector2D(1, 1));

            Gorgon.CurrentRenderTarget = null;
        }