GetTexDim() private method

private GetTexDim ( Shader s, int propertyIdx ) : TextureDimension
s UnityEngine.Shader
propertyIdx int
return TextureDimension
示例#1
0
 /*
  * private static string[] kShaderLevels = new string[]
  * {
  *      "Fixed function",
  *      "SM1.x",
  *      "SM2.0",
  *      "SM3.0",
  *      "SM4.0",
  *      "SM5.0"
  * };
  */
 private static string GetPropertyType(Shader s, int index)
 {
     ShaderUtil.ShaderPropertyType propertyType = ShaderUtil.GetPropertyType(s, index);
     if (propertyType == ShaderUtil.ShaderPropertyType.TexEnv)
     {
         return(ShaderForgeInspector.kTextureTypes[(int)ShaderUtil.GetTexDim(s, index)]);
     }
     return(ShaderForgeInspector.kPropertyTypes[(int)propertyType]);
 }
示例#2
0
 private static string GetPropertyType(Shader s, int index)
 {
     ShaderUtil.ShaderPropertyType type = ShaderUtil.GetPropertyType(s, index);
     if (type == ShaderUtil.ShaderPropertyType.TexEnv)
     {
         return(kTextureTypes[(int)ShaderUtil.GetTexDim(s, index)]);
     }
     return(kPropertyTypes[(int)type]);
 }
        protected override void InitializeExtraDataInstance(Object extraTarget, int targetIndex)
        {
            var data = (ShaderProperties)extraTarget;

            data.CleanUp();

            var importer = targets[targetIndex] as ShaderImporter;

            if (importer == null)
            {
                return;
            }

            var shader = importer.GetShader();

            if (shader == null)
            {
                return;
            }

            var propertyCount = ShaderUtil.GetPropertyCount(shader);

            for (var i = 0; i < propertyCount; i++)
            {
                if (ShaderUtil.GetPropertyType(shader, i) != ShaderUtil.ShaderPropertyType.TexEnv)
                {
                    continue;
                }

                var propertyName = ShaderUtil.GetPropertyName(shader, i);
                var displayName  = ShaderUtil.GetPropertyDescription(shader, i); // might be empty
                var modifiable   = !ShaderUtil.IsShaderPropertyNonModifiableTexureProperty(shader, i);

                Texture tex;
                if (!modifiable)
                {
                    tex = importer.GetNonModifiableTexture(propertyName);
                }
                else
                {
                    tex = importer.GetDefaultTexture(propertyName);
                }

                var temp = new TextureProp
                {
                    propertyName = propertyName,
                    texture      = tex,
                    dimension    = ShaderUtil.GetTexDim(shader, i),
                    displayName  = displayName,
                    modifiable   = modifiable
                };
                data.m_Properties.Add(temp);
            }
        }
        protected override void ResetValues()
        {
            base.ResetValues();

            m_Properties.Clear();

            var importer = target as ShaderImporter;

            if (importer == null)
            {
                return;
            }

            var shader = importer.GetShader();

            if (shader == null)
            {
                return;
            }

            var propertyCount = ShaderUtil.GetPropertyCount(shader);

            for (var i = 0; i < propertyCount; i++)
            {
                if (ShaderUtil.GetPropertyType(shader, i) != ShaderUtil.ShaderPropertyType.TexEnv)
                {
                    continue;
                }

                var propertyName = ShaderUtil.GetPropertyName(shader, i);
                var displayName  = ShaderUtil.GetPropertyDescription(shader, i); // might be empty
                var modifiable   = !ShaderUtil.IsShaderPropertyNonModifiableTexureProperty(shader, i);

                Texture tex;
                if (!modifiable)
                {
                    tex = importer.GetNonModifiableTexture(propertyName);
                }
                else
                {
                    tex = importer.GetDefaultTexture(propertyName);
                }

                var temp = new TextureProp
                {
                    propertyName = propertyName,
                    texture      = tex,
                    dimension    = ShaderUtil.GetTexDim(shader, i),
                    displayName  = displayName,
                    modifiable   = modifiable
                };
                m_Properties.Add(temp);
            }
        }
示例#5
0
        /*
         * private static string[] kShaderLevels = new string[]
         * {
         *      "Fixed function",
         *      "SM1.x",
         *      "SM2.0",
         *      "SM3.0",
         *      "SM4.0",
         *      "SM5.0"
         * };
         */
        private static string GetPropertyType(Shader s, int index)
        {
#pragma warning disable CS0436 // Type conflicts with imported type

            ShaderUtil.ShaderPropertyType propertyType = ShaderUtil.GetPropertyType(s, index);
            if (propertyType == ShaderUtil.ShaderPropertyType.TexEnv)
            {
                return(ShaderForgeInspector.kTextureTypes[(int)ShaderUtil.GetTexDim(s, index)]);
            }
#pragma warning restore CS0436 // Type conflicts with imported type

            return(ShaderForgeInspector.kPropertyTypes[(int)propertyType]);
        }
示例#6
0
        private static string GetPropertyType(Shader s, int index)
        {
            ShaderUtil.ShaderPropertyType propertyType = ShaderUtil.GetPropertyType(s, index);
            string result;

            if (propertyType == ShaderUtil.ShaderPropertyType.TexEnv)
            {
                result = ShaderInspector.kTextureTypes[(int)ShaderUtil.GetTexDim(s, index)];
            }
            else
            {
                result = ShaderInspector.kPropertyTypes[(int)propertyType];
            }
            return(result);
        }
        protected override void ResetValues()
        {
            base.ResetValues();
            this.m_Properties.Clear();
            ShaderImporter shaderImporter = base.target as ShaderImporter;

            if (!(shaderImporter == null))
            {
                Shader shader = shaderImporter.GetShader();
                if (!(shader == null))
                {
                    int propertyCount = ShaderUtil.GetPropertyCount(shader);
                    for (int i = 0; i < propertyCount; i++)
                    {
                        if (ShaderUtil.GetPropertyType(shader, i) == ShaderUtil.ShaderPropertyType.TexEnv)
                        {
                            string  propertyName        = ShaderUtil.GetPropertyName(shader, i);
                            string  propertyDescription = ShaderUtil.GetPropertyDescription(shader, i);
                            bool    flag = !ShaderUtil.IsShaderPropertyNonModifiableTexureProperty(shader, i);
                            Texture texture;
                            if (!flag)
                            {
                                texture = shaderImporter.GetNonModifiableTexture(propertyName);
                            }
                            else
                            {
                                texture = shaderImporter.GetDefaultTexture(propertyName);
                            }
                            ShaderImporterInspector.TextureProp item = new ShaderImporterInspector.TextureProp
                            {
                                propertyName = propertyName,
                                texture      = texture,
                                dimension    = ShaderUtil.GetTexDim(shader, i),
                                displayName  = propertyDescription,
                                modifiable   = flag
                            };
                            this.m_Properties.Add(item);
                        }
                    }
                }
            }
        }