public void Initialize(Device device) {
_b = EffectUtils.Load("SpecialTrackMap");
E = new Effect(device, _b);
TechMain = E.GetTechniqueByName("Main");
TechPp = E.GetTechniqueByName("Pp");
TechFinal = E.GetTechniqueByName("Final");
TechFinalCheckers = E.GetTechniqueByName("FinalCheckers");
TechPpHorizontalBlur = E.GetTechniqueByName("PpHorizontalBlur");
TechPpVerticalBlur = E.GetTechniqueByName("PpVerticalBlur");
for (var i = 0; i < TechMain.Description.PassCount && InputSignaturePNTG == null; i++) {
InputSignaturePNTG = TechMain.GetPassByIndex(i).Description.Signature;
}
if (InputSignaturePNTG == null) throw new System.Exception("input signature (SpecialTrackMap, PNTG, Main) == null");
LayoutPNTG = new InputLayout(device, InputSignaturePNTG, InputLayouts.VerticePNTG.InputElementsValue);
for (var i = 0; i < TechPp.Description.PassCount && InputSignaturePT == null; i++) {
InputSignaturePT = TechPp.GetPassByIndex(i).Description.Signature;
}
if (InputSignaturePT == null) throw new System.Exception("input signature (SpecialTrackMap, PT, Pp) == null");
LayoutPT = new InputLayout(device, InputSignaturePT, InputLayouts.VerticePT.InputElementsValue);
FxWorldViewProj = E.GetVariableByName("gWorldViewProj").AsMatrix();
FxWorldInvTranspose = E.GetVariableByName("gWorldInvTranspose").AsMatrix();
FxInputMap = E.GetVariableByName("gInputMap").AsResource();
FxScreenSize = E.GetVariableByName("gScreenSize").AsVector();
}