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\shaders\BasicShaders.pdxfx"
19 using SiliconStudio.Paradox.Effects.Data;
22 using SiliconStudio.Paradox.Effects.Modules;
25 namespace BasicShaders
37 internal static partial class ShaderMixins
46 internal static void __Initialize__()
49 ShaderMixinManager.Register(
"ParadoxTessellation",
new ParadoxTessellation());
55 internal static partial class ShaderMixins
71 context.SetParam(MaterialParameters.SkinningMaxBones, context.GetParam(MaterialParameters.SkinningBones));
75 mixin.Mixin.AddMacro(
"SkinningMaxBones", context.GetParam(MaterialParameters.SkinningMaxBones));
78 context.Mixin(mixin,
"TransformationSkinning");
85 if (context.GetParam(BasicShadersParameters.UsedNormalMap))
88 context.
Mixin(mixin,
"TangentToViewSkinning");
94 context.Mixin(mixin,
"NormalVSSkinning");
97 context.Mixin(mixin,
"NormalSkinning");
104 context.
Mixin(mixin,
"TangentSkinning");
109 internal static void __Initialize__()
112 ShaderMixinManager.Register(
"ParadoxSkinning",
new ParadoxSkinning());
118 internal static partial class ShaderMixins
132 mixin.Children.Add(__subMixin);
135 context.BeginChild(__subMixin);
138 context.Mixin(__subMixin,
"ShadowMapCaster");
146 internal static void __Initialize__()
149 ShaderMixinManager.Register(
"ParadoxShadowCast",
new ParadoxShadowCast());
155 internal static partial class ShaderMixins
163 context.Mixin(mixin,
"ShaderBase");
166 context.Mixin(mixin,
"ShadingBase");
169 context.Mixin(mixin,
"TransformationWAndVP");
172 context.Mixin(mixin,
"PositionVSStream");
179 context.Mixin(mixin,
"NormalMapTexture");
187 context.Mixin(__subMixin, context.GetParam(MaterialParameters.NormalMap));
188 mixin.Mixin.AddComposition(
"normalMap", __subMixin.Mixin);
200 context.Mixin(mixin,
"NormalVSStream");
205 internal static void __Initialize__()
208 ShaderMixinManager.Register(
"ParadoxBaseShader",
new ParadoxBaseShader());
Key of an effect parameter.
Parameters used for mixin.
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.
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< ShaderMixinSource > NormalMap
static readonly ParameterKey< bool > HasSkinningPosition
SiliconStudio.Paradox.Graphics.Buffer Buffer
static readonly ParameterKey< bool > CastShadows
Flag stating if the mesh casts shadows.
Interface to be implemented for dynamic mixin generation.
static readonly ParameterKey< bool > UsedNormalMap