Beispiel #1
0
        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
            };
        }
Beispiel #2
0
 public void EnsureInitialized(IDeviceContextHolder contextHolder)
 {
     if (Effect != null)
     {
         return;
     }
     Effect = contextHolder.GetEffect <EffectDarkMaterial>();
 }
Beispiel #3
0
 public void EnsureInitialized(IDeviceContextHolder contextHolder)
 {
     if (_effect != null)
     {
         return;
     }
     _effect    = contextHolder.GetEffect <EffectDarkMaterial>();
     _txDiffuse = contextHolder.Get <ITexturesProvider>().GetTexture(contextHolder, _description.Filename);
 }
Beispiel #4
0
        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
            };
        }
Beispiel #5
0
 public virtual void Initialize(IDeviceContextHolder contextHolder)
 {
     Effect = contextHolder.GetEffect <EffectDarkMaterial>();
 }
Beispiel #6
0
 public void Refresh(IDeviceContextHolder contextHolder)
 {
     // Because Dispose() is empty, we can just re-initialize shader
     _effect = null;
     EnsureInitialized(contextHolder);
 }
Beispiel #7
0
 protected virtual void RefreshOverride(IDeviceContextHolder contextHolder)
 {
     Effect = null;
     EnsureInitialized(contextHolder);
 }
 public void Initialize(IDeviceContextHolder contextHolder)
 {
     _effect    = contextHolder.GetEffect <EffectDarkMaterial>();
     _txDiffuse = contextHolder.Get <ITexturesProvider>().GetTexture(contextHolder, _description.Filename);
 }
Beispiel #9
0
 public virtual void Initialize(IDeviceContextHolder contextHolder)
 {
     Effect      = contextHolder.GetEffect <EffectDarkMaterial>();
     InputLayout = Effect.LayoutPNTG;
 }