3 using SiliconStudio.Paradox.Graphics;
4 using SiliconStudio.Paradox.Shaders;
6 namespace SiliconStudio.
Paradox.Effects
13 private EffectShaderPass minPass;
14 private EffectShaderPass maxPass;
40 throw new System.NotImplementedException();
43 DefaultShaderPass = maxPass;
50 maxPass.Shader.Mixins.Add(MinMaxShader);
51 minPass.Shader = maxPass.Shader;
56 base.SetupResources(effectMesh);
58 Effect.Parameters.RegisterParameter(BlendStateKey);
59 Effect.Parameters.RegisterParameter(RasterizerStateKey);
63 bbBlendDesc.SetDefaults();
64 bbBlendDesc.AlphaToCoverageEnable =
false;
65 bbBlendDesc.IndependentBlendEnable =
false;
66 bbBlendDesc.RenderTargets[0].BlendEnable =
true;
67 bbBlendDesc.RenderTargets[0].ColorSourceBlend = Blend.One;
68 bbBlendDesc.RenderTargets[0].ColorDestinationBlend = Blend.One;
70 bbBlendDesc.RenderTargets[0].ColorBlendFunction = BlendFunction.Max;
73 blendMinState.Name =
"MinBlend";
76 bbBlendDesc.RenderTargets[0].ColorBlendFunction = BlendFunction.Max;
78 var blendMaxState = BlendState.New(GraphicsDevice, bbBlendDesc);
79 blendMaxState.Name=
"MaxBlend";
81 maxPass.Parameters.Set(RasterizerStateKey, GraphicsDevice.RasterizerStates.CullFront);
82 maxPass.Parameters.Set(BlendStateKey, blendMaxState);
84 minPass.Parameters.Set(RasterizerStateKey, GraphicsDevice.RasterizerStates.CullBack);
85 minPass.Parameters.Set(BlendStateKey, blendMinState);
MinMaxShaderPlugin(string name)
Initializes a new instance of class LightShaftsPlugin.
MinMaxShaderPlugin()
Initializes a new instance of class LightShaftsPlugin.
override void SetupPasses(EffectMesh effectMesh)
override void SetupShaders(EffectMesh effectMesh)
Performs primitive-based rendering, creates resources, handles system-level variables, adjusts gamma ramp levels, and creates shaders. See The+GraphicsDevice+class to learn more about the class.
override void SetupResources(EffectMesh effectMesh)
ColorWriteChannels
Identify which components of each pixel of a render target are writable during blending.
A shader class used for mixin.