public void Initialize(IDeviceContextHolder contextHolder) { _effect = contextHolder.GetEffect <EffectDarkMaterial>(); _txDiffuse = GetTexture("txDiffuse", contextHolder); _txNormal = Kn5Material.ShaderName.Contains("damage") ? null : GetTexture("txNormal", contextHolder); uint flags = 0; if (Kn5Material.AlphaTested) { flags |= EffectDarkMaterial.AlphaTest; } if (_txNormal != null) { flags |= EffectDarkMaterial.HasNormalMap; } if (Kn5Material.ShaderName.Contains("_AT")) { flags |= EffectDarkMaterial.UseNormalAlphaAsAlpha; } _material = new EffectDarkMaterial.StandartMaterial { Ambient = Kn5Material.GetPropertyValueAByName("ksAmbient"), Diffuse = Kn5Material.GetPropertyValueAByName("ksDiffuse"), Specular = Kn5Material.GetPropertyValueAByName("ksSpecular"), SpecularExp = Kn5Material.GetPropertyValueAByName("ksSpecularEXP"), Emissive = Kn5Material.GetPropertyValueCByName("ksEmissive"), Flags = flags }; }
internal GenericMaterialDark(bool isBlending) : base(new Kn5MaterialDescription(new Kn5Material { BlendMode = isBlending ? Kn5MaterialBlendMode.AlphaBlend : Kn5MaterialBlendMode.Opaque })) { Material = default(EffectDarkMaterial.StandartMaterial); TxDiffuse = null; }
public void SetEmissive(Vector3 value) { SetEmissiveNext(value); var material = _material; material.Emissive = value; _material = material; }
protected override void Initialize(IDeviceContextHolder contextHolder) { _material = new EffectDarkMaterial.StandartMaterial { Ambient = 0, Diffuse = 0, Specular = 1, SpecularExp = 1000, Emissive = Vector3.Zero, Flags = 0 }; _reflMaterial = new EffectDarkMaterial.ReflectiveMaterial { FresnelC = 1, FresnelExp = 1, FresnelMaxLevel = 1 }; base.Initialize(contextHolder); }
public override void Initialize(IDeviceContextHolder contextHolder) { base.Initialize(contextHolder); if (Kn5Material.AlphaTested) { Flags |= EffectDarkMaterial.AlphaTest; } _txDiffuse = GetTexture("txDiffuse", contextHolder); _material = new EffectDarkMaterial.StandartMaterial { Ambient = Kn5Material.GetPropertyValueAByName("ksAmbient"), Diffuse = Kn5Material.GetPropertyValueAByName("ksDiffuse"), Specular = Kn5Material.GetPropertyValueAByName("ksSpecular"), SpecularExp = Kn5Material.GetPropertyValueAByName("ksSpecularEXP"), Emissive = Kn5Material.GetPropertyValueCByName("ksEmissive"), Flags = Flags }; }
public void EnsureInitialized(IDeviceContextHolder contextHolder) { if (_effect != null) { return; } _effect = contextHolder.GetEffect <EffectDarkMaterial>(); _txDiffuse = GetTexture("txDiffuse", contextHolder); _txNormal = Kn5Material.ShaderName.Contains("damage") ? null : GetTexture("txNormal", contextHolder); uint flags = 0; if (Kn5Material.AlphaTested) { flags |= EffectDarkMaterial.AlphaTest; } if (_txNormal != null) { flags |= EffectDarkMaterial.HasNormalMap; if (Kn5Material.GetPropertyValueAByName("nmObjectSpace") != 0) { flags |= EffectDarkMaterial.NmObjectSpace; } } if (Kn5Material.ShaderName.Contains("_AT") || Kn5Material.ShaderName == "ksSkinnedMesh") { flags |= EffectDarkMaterial.UseNormalAlphaAsAlpha; } _emissive = Kn5Material.GetPropertyValueCByName("ksEmissive"); _material = new EffectDarkMaterial.StandartMaterial { Ambient = Kn5Material.GetPropertyValueAByName("ksAmbient"), Diffuse = Kn5Material.GetPropertyValueAByName("ksDiffuse"), Specular = Kn5Material.GetPropertyValueAByName("ksSpecular"), SpecularExp = Kn5Material.GetPropertyValueAByName("ksSpecularEXP"), Flags = flags }; }