public void Initialize(DeviceContextHolder contextHolder) { _effect = contextHolder.GetEffect<EffectDeferredGObject>(); if (_kn5Material == null) return; _txDiffuse = GetTexture("txDiffuse", contextHolder); _txNormal = _kn5Material.ShaderName.Contains("damage") ? null : GetTexture("txNormal", contextHolder); _txMaps = GetTexture("txMaps", contextHolder); _txDetails = GetTexture("txDetail", contextHolder); _txDetailsNormal = GetTexture("txNormalDetail", contextHolder); uint flags = 0; if (_txNormal != null) { flags |= EffectDeferredGObject.HasNormalMap; } if (_txMaps != null) { flags |= EffectDeferredGObject.HasMaps; } if (_kn5Material.GetPropertyValueAByName("useDetail") > 0) { flags |= EffectDeferredGObject.HasDetailsMap; } if (_txDetailsNormal != null) { flags |= EffectDeferredGObject.HasDetailsNormalMap; } if (_kn5Material.ShaderName == "ksTyres" || _kn5Material.ShaderName == "ksBrakeDisc") { flags |= EffectDeferredGObject.UseDiffuseAlphaAsMap; } if (IsBlending) { flags |= EffectDeferredGObject.AlphaBlend; } if (Equals(_kn5Material.GetPropertyValueAByName("isAdditive"), 1.0f)) { flags |= EffectDeferredGObject.IsAdditive; } var specularExp = _kn5Material.GetPropertyValueAByName("ksSpecularEXP"); if (Equals(_kn5Material.GetPropertyValueAByName("isAdditive"), 2.0f)) { specularExp = 250f; } _material = new EffectDeferredGObject.Material { Ambient = _kn5Material.GetPropertyValueAByName("ksAmbient"), Diffuse = _kn5Material.GetPropertyValueAByName("ksDiffuse"), Specular = _kn5Material.GetPropertyValueAByName("ksSpecular"), SpecularExp = specularExp, Emissive = _kn5Material.GetPropertyValueCByName("ksEmissive"), FresnelC = _kn5Material.GetPropertyValueAByName("fresnelC"), FresnelExp = _kn5Material.GetPropertyValueAByName("fresnelEXP"), FresnelMaxLevel = _kn5Material.GetPropertyValueAByName("fresnelMaxLevel"), DetailsUvMultipler = _kn5Material.GetPropertyValueAByName("detailUVMultiplier"), DetailsNormalBlend = _kn5Material.GetPropertyValueAByName("detailNormalBlend"), Flags = flags }; }
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 }; }
public override void Initialize(IDeviceContextHolder contextHolder) { _txNormal = Kn5Material.ShaderName.Contains("damage") ? null : GetTexture("txNormal", contextHolder); _txMaps = GetTexture("txMaps", contextHolder); _txDetails = GetTexture("txDetail", contextHolder); _txDetailsNormal = GetTexture("txNormalDetail", contextHolder); if (_txNormal != null) { Flags |= EffectSimpleMaterial.HasNormalMap; } if (Equals(Kn5Material.GetPropertyValueAByName("isAdditive"), 2.0f)) { Flags |= EffectSimpleMaterial.IsCarpaint; } if (Kn5Material.GetPropertyValueAByName("useDetail") > 0) { Flags |= EffectSimpleMaterial.HasDetailsMap; } if (Kn5Material.ShaderName.Contains("_AT")) { Flags |= EffectSimpleMaterial.UseNormalAlphaAsAlpha; } _material = new EffectSimpleMaterial.MapsMaterial { DetailsUvMultipler = Kn5Material.GetPropertyValueAByName("detailUVMultiplier"), DetailsNormalBlend = _txDetailsNormal == null ? 0f : Kn5Material.GetPropertyValueAByName("detailNormalBlend") }; base.Initialize(contextHolder); }
public static bool SetResource(this EffectOnlyResourceVariable variable, IRenderableTexture texture) { var res = texture?.Resource; variable.SetResource(res); return(res != null); }
internal GenericMaterialDark(bool isBlending) : base(new Kn5MaterialDescription(new Kn5Material { BlendMode = isBlending ? Kn5MaterialBlendMode.AlphaBlend : Kn5MaterialBlendMode.Opaque })) { Material = default(EffectDarkMaterial.StandartMaterial); TxDiffuse = null; }
public override void Initialize(DeviceContextHolder contextHolder) { _txNormal = Kn5Material.ShaderName.Contains("damage") ? null : GetTexture("txNormal", contextHolder); _txMaps = GetTexture("txMaps", contextHolder); _txDetails = GetTexture("txDetail", contextHolder); _txDetailsNormal = GetTexture("txNormalDetail", contextHolder); if (_txNormal != null) { Flags |= EffectSimpleMaterial.HasNormalMap; } if (Equals(Kn5Material.GetPropertyValueAByName("isAdditive"), 2.0f)) { Flags |= EffectSimpleMaterial.IsCarpaint; } if (Kn5Material.GetPropertyValueAByName("useDetail") > 0) { Flags |= EffectSimpleMaterial.HasDetailsMap; } if (Kn5Material.ShaderName.Contains("_AT")) { Flags |= EffectSimpleMaterial.UseNormalAlphaAsAlpha; } _material = new EffectSimpleMaterial.MapsMaterial { DetailsUvMultipler = Kn5Material.GetPropertyValueAByName("detailUVMultiplier"), DetailsNormalBlend = _txDetailsNormal == null ? 0f : Kn5Material.GetPropertyValueAByName("detailNormalBlend") }; base.Initialize(contextHolder); }
public void EnsureInitialized(IDeviceContextHolder contextHolder) { if (_effect != null) { return; } _effect = contextHolder.GetEffect <EffectSimpleMaterial>(); _txDiffuse = contextHolder.Get <ITexturesProvider>().GetTexture(contextHolder, _description.Filename); }
protected override void Initialize(IDeviceContextHolder contextHolder) { _txNormal = GetTexture("txNormal", contextHolder); if (Kn5Material.GetPropertyValueAByName("nmObjectSpace") != 0) { Flags |= EffectDarkMaterial.NmObjectSpace; } base.Initialize(contextHolder); }
public ShaderResourceView GetValue([NotNull] DeviceContextHolder device, [CanBeNull] IPaintShopObject obj) { if (obj != _object) { _object = obj; _texture = _object?.GetTexture(device, TextureName); } return(_texture?.Resource); }
public override void Initialize(IDeviceContextHolder contextHolder) { _txNormal = GetTexture("txNormal", contextHolder); _txDiffuseBlur = GetTexture("txBlur", contextHolder); _txNormalBlur = GetTexture("txNormalBlur", contextHolder); _material = new EffectDarkMaterial.TyresMaterial { BlurLevel = 0f, DirtyLevel = 0f }; base.Initialize(contextHolder); }
private bool TryGetTexture(string name, out IRenderableTexture result) { foreach (var texture in Textures.Values) { if (string.Equals(texture.Name, name, StringComparison.OrdinalIgnoreCase)) { result = texture; return(true); } } result = null; return(false); }
protected override void Initialize(IDeviceContextHolder contextHolder) { _txNormal = Kn5Material.ShaderName.Contains("damage") ? null : GetTexture("txNormal", contextHolder); _txMaps = GetTexture("txMaps", contextHolder); _txDetails = GetTexture("txDetail", contextHolder); _txDetailsNormal = GetTexture("txNormalDetail", contextHolder); if (_txNormal != null) { _hasNormalMap = true; Flags |= EffectDarkMaterial.HasNormalMap; if (Kn5Material.GetPropertyValueAByName("nmObjectSpace") != 0) { Flags |= EffectDarkMaterial.NmObjectSpace; } } if (Equals(Kn5Material.GetPropertyValueAByName("isAdditive"), 2.0f)) { Flags |= EffectDarkMaterial.IsCarpaint; } if (Kn5Material.GetPropertyValueAByName("useDetail") > 0) { Flags |= EffectDarkMaterial.HasDetailsMap; } if (Kn5Material.ShaderName.Contains("_AT") || Kn5Material.ShaderName == "ksSkinnedMesh") { Flags |= EffectDarkMaterial.UseNormalAlphaAsAlpha; } if (Kn5Material.ShaderName == "ksSkinnedMesh") { Flags |= EffectDarkMaterial.UseNormalAlphaAsAlpha; } _material = new EffectDarkMaterial.MapsMaterial { DetailsUvMultiplier = Kn5Material.GetPropertyValueAByName("detailUVMultiplier"), DetailsNormalBlend = _txDetailsNormal == null ? 0f : Kn5Material.GetPropertyValueAByName("detailNormalBlend"), SunSpecular = Kn5Material.GetPropertyValueAByName("sunSpecular"), SunSpecularExp = Kn5Material.GetPropertyValueAByName("sunSpecularEXP"), }; base.Initialize(contextHolder); }
public override void Initialize(DeviceContextHolder contextHolder) { base.Initialize(contextHolder); if (Kn5Material.AlphaTested) { Flags |= EffectSimpleMaterial.AlphaTest; } _txDiffuse = GetTexture("txDiffuse", contextHolder); _material = new EffectSimpleMaterial.StandartMaterial { Ambient = Kn5Material.GetPropertyValueAByName("ksAmbient"), Diffuse = Kn5Material.GetPropertyValueAByName("ksDiffuse"), Specular = Kn5Material.GetPropertyValueAByName("ksSpecular"), SpecularExp = Kn5Material.GetPropertyValueAByName("ksSpecularEXP"), Emissive = Kn5Material.GetPropertyValueCByName("ksEmissive"), Flags = Flags }; }
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 }; }
public void Initialize(IDeviceContextHolder contextHolder) { _effect = contextHolder.GetEffect <EffectSimpleMaterial>(); _txDiffuse = contextHolder.Get <ITexturesProvider>().GetTexture(contextHolder, _description.Filename); }
public void Initialize(DeviceContextHolder contextHolder) { _effect = contextHolder.GetEffect<EffectSimpleMaterial>(); var texturesProvider = contextHolder.Get<TexturesProvider>(); _txDiffuse = texturesProvider.GetTexture(_filename, contextHolder); }
public void Initialize(DeviceContextHolder contextHolder) { _effect = contextHolder.GetEffect<EffectDeferredGObject>(); var texturesProvider = contextHolder.Get<TexturesProvider>(); _txDiffuse = texturesProvider.GetTexture(_filename, contextHolder); }
public void Initialize(IDeviceContextHolder contextHolder) { _effect = contextHolder.GetEffect <EffectDeferredGObject>(); _txDiffuse = GetTexture("txDiffuse", contextHolder); _txNormal = Kn5Material.ShaderName.Contains("damage") ? null : GetTexture("txNormal", contextHolder); _txMaps = GetTexture("txMaps", contextHolder); _txDetails = GetTexture("txDetail", contextHolder); _txDetailsNormal = GetTexture("txNormalDetail", contextHolder); uint flags = 0; if (_txNormal != null) { flags |= EffectDeferredGObject.HasNormalMap; } if (_txMaps != null) { flags |= EffectDeferredGObject.HasMaps; } if (Kn5Material.GetPropertyValueAByName("useDetail") > 0) { flags |= EffectDeferredGObject.HasDetailsMap; } if (_txDetailsNormal != null) { flags |= EffectDeferredGObject.HasDetailsNormalMap; } if (Kn5Material.ShaderName == "ksTyres" || Kn5Material.ShaderName == "ksBrakeDisc") { flags |= EffectDeferredGObject.UseDiffuseAlphaAsMap; } if (IsBlending) { flags |= EffectDeferredGObject.AlphaBlend; } if (Equals(Kn5Material.GetPropertyValueAByName("isAdditive"), 1.0f)) { flags |= EffectDeferredGObject.IsAdditive; } var specularExp = Kn5Material.GetPropertyValueAByName("ksSpecularEXP"); if (Equals(Kn5Material.GetPropertyValueAByName("isAdditive"), 2.0f)) { specularExp = 250f; } _material = new EffectDeferredGObject.Material { Ambient = Kn5Material.GetPropertyValueAByName("ksAmbient"), Diffuse = Kn5Material.GetPropertyValueAByName("ksDiffuse"), Specular = Kn5Material.GetPropertyValueAByName("ksSpecular"), SpecularExp = specularExp, Emissive = Kn5Material.GetPropertyValueCByName("ksEmissive"), FresnelC = Kn5Material.GetPropertyValueAByName("fresnelC"), FresnelExp = Kn5Material.GetPropertyValueAByName("fresnelEXP"), FresnelMaxLevel = Kn5Material.GetPropertyValueAByName("fresnelMaxLevel"), DetailsUvMultipler = Kn5Material.GetPropertyValueAByName("detailUVMultiplier"), DetailsNormalBlend = Kn5Material.GetPropertyValueAByName("detailNormalBlend"), Flags = flags }; }
public void Initialize(IDeviceContextHolder contextHolder) { _effect = contextHolder.GetEffect <EffectDeferredGObject>(); _txDiffuse = contextHolder.Get <ITexturesProvider>().GetTexture(contextHolder, _filename); }
public override void Initialize(DeviceContextHolder contextHolder) { _txNormal = GetTexture("txNormal", contextHolder); base.Initialize(contextHolder); }
protected override void Initialize(IDeviceContextHolder contextHolder) { _txNormal = GetTexture("txNormal", contextHolder); base.Initialize(contextHolder); }
public static void SetResource(this EffectResourceVariable variable, IRenderableTexture texture) { variable.SetResource(texture?.Resource); }