public void Initialize(Device device) {
_b = EffectUtils.Load("SimpleMaterial");
E = new Effect(device, _b);
TechStandard = E.GetTechniqueByName("Standard");
TechAlpha = E.GetTechniqueByName("Alpha");
TechReflective = E.GetTechniqueByName("Reflective");
TechNm = E.GetTechniqueByName("Nm");
TechNmUvMult = E.GetTechniqueByName("NmUvMult");
TechAtNm = E.GetTechniqueByName("AtNm");
TechMaps = E.GetTechniqueByName("Maps");
TechDiffMaps = E.GetTechniqueByName("DiffMaps");
TechGl = E.GetTechniqueByName("Gl");
TechAmbientShadow = E.GetTechniqueByName("AmbientShadow");
TechMirror = E.GetTechniqueByName("Mirror");
for (var i = 0; i < TechAmbientShadow.Description.PassCount && InputSignaturePT == null; i++) {
InputSignaturePT = TechAmbientShadow.GetPassByIndex(i).Description.Signature;
}
if (InputSignaturePT == null) throw new System.Exception("input signature (SimpleMaterial, PT, AmbientShadow) == null");
LayoutPT = new InputLayout(device, InputSignaturePT, InputLayouts.VerticePT.InputElementsValue);
for (var i = 0; i < TechStandard.Description.PassCount && InputSignaturePNTG == null; i++) {
InputSignaturePNTG = TechStandard.GetPassByIndex(i).Description.Signature;
}
if (InputSignaturePNTG == null) throw new System.Exception("input signature (SimpleMaterial, PNTG, Standard) == null");
LayoutPNTG = new InputLayout(device, InputSignaturePNTG, InputLayouts.VerticePNTG.InputElementsValue);
FxWorld = E.GetVariableByName("gWorld").AsMatrix();
FxWorldInvTranspose = E.GetVariableByName("gWorldInvTranspose").AsMatrix();
FxWorldViewProj = E.GetVariableByName("gWorldViewProj").AsMatrix();
FxDiffuseMap = E.GetVariableByName("gDiffuseMap").AsResource();
FxNormalMap = E.GetVariableByName("gNormalMap").AsResource();
FxMapsMap = E.GetVariableByName("gMapsMap").AsResource();
FxDetailsMap = E.GetVariableByName("gDetailsMap").AsResource();
FxDetailsNormalMap = E.GetVariableByName("gDetailsNormalMap").AsResource();
FxEyePosW = E.GetVariableByName("gEyePosW").AsVector();
FxMaterial = E.GetVariableByName("gMaterial");
FxReflectiveMaterial = E.GetVariableByName("gReflectiveMaterial");
FxMapsMaterial = E.GetVariableByName("gMapsMaterial");
FxAlphaMaterial = E.GetVariableByName("gAlphaMaterial");
FxNmUvMultMaterial = E.GetVariableByName("gNmUvMultMaterial");
}