10 using SiliconStudio.Core;
11 using SiliconStudio.Paradox.Effects;
12 using SiliconStudio.Paradox.Graphics;
13 using SiliconStudio.Paradox.Shaders;
14 using SiliconStudio.Core.Mathematics;
18 #line 3 "D:\Code\Paradox\sources\engine\SiliconStudio.Paradox.Engine\Effects\BasicEffect.pdxfx"
19 using SiliconStudio.Paradox.Effects.Data;
22 using SiliconStudio.Paradox.Shaders.Compiler;
25 namespace SiliconStudio.
Paradox.Effects
29 internal static partial class ShaderMixins
37 context.Mixin(mixin,
"ShaderBase");
40 context.Mixin(mixin,
"TransformationWAndVP");
43 context.Mixin(mixin,
"PositionVSStream");
48 var hasNormals = context.GetParam(MaterialParameters.NormalMap) != null;
55 context.Mixin(mixin,
"NormalMapTexture");
63 context.Mixin(__subMixin, context.GetParam(MaterialParameters.NormalMap));
64 mixin.Mixin.AddComposition(
"normalMap", __subMixin.Mixin);
73 context.Mixin(mixin,
"NormalVSStream");
77 context.Mixin(mixin,
"BRDFDiffuseBase");
80 context.Mixin(mixin,
"BRDFSpecularBase");
83 context.Mixin(mixin,
"LightMultiDirectionalShadingPerPixel", 2);
86 context.Mixin(mixin,
"TransparentShading");
89 context.Mixin(mixin,
"DiscardTransparent");
101 context.Mixin(__subMixin,
"ComputeBRDFDiffuseLambert");
102 mixin.Mixin.AddComposition(
"DiffuseLighting", __subMixin.Mixin);
111 context.Mixin(__subMixin, context.GetParam(MaterialParameters.AlbedoDiffuse));
112 mixin.Mixin.AddComposition(
"albedoDiffuse", __subMixin.Mixin);
126 context.Mixin(__subMixin,
"ComputeBRDFColorSpecularBlinnPhong");
127 mixin.Mixin.AddComposition(
"SpecularLighting", __subMixin.Mixin);
136 context.Mixin(__subMixin, context.GetParam(MaterialParameters.AlbedoSpecular));
137 mixin.Mixin.AddComposition(
"albedoSpecular", __subMixin.Mixin);
145 context.Mixin(mixin,
"SpecularPower");
153 context.Mixin(__subMixin, context.GetParam(MaterialParameters.SpecularPowerMap));
154 mixin.Mixin.AddComposition(
"SpecularPowerMap", __subMixin.Mixin);
168 context.Mixin(__subMixin, context.GetParam(MaterialParameters.SpecularIntensityMap));
169 mixin.Mixin.AddComposition(
"SpecularIntensityMap", __subMixin.Mixin);
183 context.SetParam(MaterialParameters.SkinningMaxBones, context.GetParam(MaterialParameters.SkinningBones));
187 mixin.Mixin.AddMacro(
"SkinningMaxBones", context.GetParam(MaterialParameters.SkinningMaxBones));
190 context.Mixin(mixin,
"TransformationSkinning");
200 context.Mixin(mixin,
"TangentToViewSkinning");
206 context.Mixin(mixin,
"NormalVSSkinning");
209 context.Mixin(mixin,
"NormalSkinning");
216 context.
Mixin(mixin,
"TangentSkinning");
221 internal static void __Initialize__()
224 ShaderMixinManager.Register(
"BasicEffect",
new BasicEffect());
static readonly ParameterKey< ShaderMixinSource > AlbedoDiffuse
static readonly ParameterKey< bool > HasSkinningNormal
Contains a tree of ShaderMixinSource.
A context used when mixin ShaderSource.
static readonly ParameterKey< bool > HasSkinningTangent
static readonly ParameterKey< int > SkinningBones
All-in-One Buffer class linked SharpDX.Direct3D11.Buffer.
SiliconStudio.Paradox.Graphics.Buffer Buffer
static readonly ParameterKey< ShaderMixinSource > SpecularIntensityMap
static readonly ParameterKey< ShaderMixinSource > AlbedoSpecular
void Mixin(ShaderMixinSourceTree mixinTree, string name, params object[] genericParameters)
Mixins a ShaderClassSource identified by its name/generic parameters into the specified mixin tree...
static readonly ParameterKey< bool > HasSkinningPosition
static readonly ParameterKey< ShaderMixinSource > SpecularPowerMap
Interface to be implemented for dynamic mixin generation.