Exemplo n.º 1
0
        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 |= EffectDarkMaterial.HasNormalMap;
            }

            if (Equals(Kn5Material.GetPropertyValueAByName("isAdditive"), 2.0f))
            {
                Flags |= EffectDarkMaterial.IsCarpaint;
            }

            if (Kn5Material.GetPropertyValueAByName("useDetail") > 0)
            {
                Flags |= EffectDarkMaterial.HasDetailsMap;
            }

            if (Kn5Material.ShaderName.Contains("_AT"))
            {
                Flags |= EffectDarkMaterial.UseNormalAlphaAsAlpha;
            }

            _material = new EffectDarkMaterial.MapsMaterial {
                DetailsUvMultipler = Kn5Material.GetPropertyValueAByName("detailUVMultiplier"),
                DetailsNormalBlend = _txDetailsNormal == null ? 0f : Kn5Material.GetPropertyValueAByName("detailNormalBlend")
            };

            base.Initialize(contextHolder);
        }
Exemplo n.º 2
0
        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);
        }