protected override void UpdateInternalVariables(DeviceContextProxy context)
 {
     if (NeedUpdate)
     {
         materialStruct = new PhongMaterialStruct
         {
             Ambient                  = material.AmbientColor,
             Diffuse                  = material.DiffuseColor,
             Emissive                 = material.EmissiveColor,
             Reflect                  = material.ReflectiveColor,
             Specular                 = material.SpecularColor,
             Shininess                = material.SpecularShininess,
             HasDiffuseMap            = material.RenderDiffuseMap && TextureResources[DiffuseIdx] != null ? 1 : 0,
             HasDiffuseAlphaMap       = 0,
             HasNormalMap             = 0,
             HasDisplacementMap       = 0,
             DisplacementMapScaleMask = material.DisplacementMapScaleMask,
             RenderShadowMap          = 0,
             HasCubeMap               = 0,
             UVTransformR1            = material.UVTransform.Column1,
             UVTransformR2            = material.UVTransform.Column2
         };
         NeedUpdate = false;
     }
 }
Example #2
0
 protected sealed override void UpdateInternalVariables(DeviceContextProxy context)
 {
     if (NeedUpdate)
     {
         materialStruct = new PhongMaterialStruct
         {
             Ambient                  = material.AmbientColor,
             Diffuse                  = material.DiffuseColor,
             Emissive                 = material.EmissiveColor,
             Reflect                  = material.ReflectiveColor,
             Specular                 = material.SpecularColor,
             Shininess                = material.SpecularShininess,
             HasDiffuseMap            = material.RenderDiffuseMap && TextureResources[DiffuseIdx] != null ? 1 : 0,
             HasDiffuseAlphaMap       = material.RenderDiffuseAlphaMap && TextureResources[AlphaIdx] != null ? 1 : 0,
             HasNormalMap             = material.RenderNormalMap && TextureResources[NormalIdx] != null ? 1 : 0,
             HasDisplacementMap       = material.RenderDisplacementMap && TextureResources[DisplaceIdx] != null ? 1 : 0,
             DisplacementMapScaleMask = material.DisplacementMapScaleMask,
             RenderShadowMap          = material.RenderShadowMap ? 1 : 0,
             HasCubeMap               = material.RenderEnvironmentMap ? 1 : 0,
             MaxTessDistance          = material.MaxTessellationDistance,
             MinTessDistance          = material.MinTessellationDistance,
             MaxDistTessFactor        = material.MaxDistanceTessellationFactor,
             MinDistTessFactor        = material.MinDistanceTessellationFactor,
             UVTransformR1            = material.UVTransform.Column1,
             UVTransformR2            = material.UVTransform.Column2
                                        //UVTransformRow1 = new Vector2(material.UVTransform.M11, material.UVTransform.M12),
                                        //UVTransformRow2 = new Vector2(material.UVTransform.M21, material.UVTransform.M22),
                                        //UVTransformRow3 = Vector2.Zero,
                                        //UVTransformRow4 = new Vector2(material.UVTransform.M41, material.UVTransform.M42)
         };
         NeedUpdate = false;
     }
 }
Example #3
0
 protected override void UpdateInternalVariables(DeviceContextProxy context)
 {
     if (NeedUpdate)
     {
         materialStruct = new PhongMaterialStruct
         {
             Diffuse            = material.DiffuseColor,
             HasDiffuseMap      = material.ColorStripeXEnabled && (textureIndex & 1u) != 0 ? 1 : 0,
             HasDiffuseAlphaMap = material.ColorStripeYEnabled && (textureIndex & 1u << 1) != 0 ? 1 : 0,
             UVTransformR1      = new Vector4(1, 0, 0, 0),
             UVTransformR2      = new Vector4(0, 1, 0, 0)
         };
         NeedUpdate = false;
     }
 }