public void Initialize(Device device) {
_b = EffectUtils.Load("KunosShader");
E = new Effect(device, _b);
TechPerPixel = E.GetTechniqueByName("PerPixel");
for (var i = 0; i < TechPerPixel.Description.PassCount && InputSignaturePNT == null; i++) {
InputSignaturePNT = TechPerPixel.GetPassByIndex(i).Description.Signature;
}
if (InputSignaturePNT == null) throw new System.Exception("input signature (KunosShader, PNT, PerPixel) == null");
LayoutPNT = new InputLayout(device, InputSignaturePNT, InputLayouts.VerticePNT.InputElementsValue);
FxWorld = E.GetVariableByName("gWorld").AsMatrix();
FxWorldInvTranspose = E.GetVariableByName("gWorldInvTranspose").AsMatrix();
FxWorldViewProj = E.GetVariableByName("gWorldViewProj").AsMatrix();
FxDiffuseMap = E.GetVariableByName("gDiffuseMap").AsResource();
FxEyePosW = E.GetVariableByName("gEyePosW").AsVector();
FxMaterial = E.GetVariableByName("gMaterial");
}