Ejemplo n.º 1
0
 private void UpdateDyeParticleOverrides()
 {
     if (this.FaceArmorDye.HasValue)
     {
         this.player.cFace = ShaderHelpers.GetShaderIdByDyeItemType(this.FaceArmorDye.Value);
     }
     if (this.HeadArmorDye.HasValue)
     {
         this.player.cHead = ShaderHelpers.GetShaderIdByDyeItemType(this.HeadArmorDye.Value);
     }
     if (this.BodyArmorDye.HasValue)
     {
         this.player.cBody = ShaderHelpers.GetShaderIdByDyeItemType(this.BodyArmorDye.Value);
     }
     if (this.LegsArmorDye.HasValue)
     {
         this.player.cLegs = ShaderHelpers.GetShaderIdByDyeItemType(this.LegsArmorDye.Value);
     }
 }
        private void CreateMaterialProperties()
        {
            MaterialProperties.Clear();
            CCategoryInfo category = new CCategoryInfo()
            {
                Name = "Material", Priority = 0
            };

            foreach (MaterialParameterViewModel parameterEntry in ParameterEntries)
            {
                Type paramType = ShaderHelpers.GetTypeFromParameterType(parameterEntry.ParameterType);
                if (parameterEntry.ParameterType == EShaderParameterType.Texture)
                {
                    paramType = typeof(CAssetReference <CTextureAsset>);
                }
                PropertyInfo    valuePropertyInfo = typeof(MaterialParameterViewModel).GetProperty("Value");
                CObjectProperty objectProperty    = new CObjectProperty(parameterEntry.Name, category, parameterEntry, parameterEntry.Value, paramType, valuePropertyInfo, null);
                MaterialProperties.Add(objectProperty);
            }

            m_propertyInspector.ShowInspectors(MaterialProperties);
        }
Ejemplo n.º 3
0
 private void UpdateShaderOverrides(ref PlayerDrawInfo drawInfo)
 {
     if (this.HairDye.HasValue)
     {
         drawInfo.hairShader = ShaderHelpers.GetShaderIdByDyeItemType(this.HairDye.Value);
     }
     if (this.FaceArmorDye.HasValue)
     {
         drawInfo.faceShader = ShaderHelpers.GetShaderIdByDyeItemType(this.FaceArmorDye.Value);
     }
     if (this.HeadArmorDye.HasValue)
     {
         drawInfo.headArmorShader = ShaderHelpers.GetShaderIdByDyeItemType(this.HeadArmorDye.Value);
     }
     if (this.BodyArmorDye.HasValue)
     {
         drawInfo.bodyArmorShader = ShaderHelpers.GetShaderIdByDyeItemType(this.BodyArmorDye.Value);
     }
     if (this.LegsArmorDye.HasValue)
     {
         drawInfo.legArmorShader = ShaderHelpers.GetShaderIdByDyeItemType(this.LegsArmorDye.Value);
     }
 }
Ejemplo n.º 4
0
        public void AddParameterTarget(SHashedName name, EShaderParameterType type)
        {
            SShaderParameterTarget newParameterTarget;

            newParameterTarget.parameterName = name;
            newParameterTarget.parameterType = type;

            int sizeInBytes = ShaderHelpers.GetSizeFromParameterType(type);

            if (m_currentRegisterSizeLeft >= sizeInBytes && !m_bInArray)
            {
                m_currentRegisterSizeLeft -= sizeInBytes;
                newParameterTarget.offset  = m_currentOffset;
            }
            else
            {
                m_currentOffset          += m_currentRegisterSizeLeft;
                newParameterTarget.offset = m_currentOffset;
                m_currentRegisterSizeLeft = (16 - sizeInBytes % 16) % 16;
            }
            m_currentOffset += sizeInBytes;

            parameterTargets.Add(newParameterTarget);
        }