Shader学习笔记(2)Fixed function shader

mac2022-07-05  35

properties

material

lighting

serrexture

Blend

当前渲染的物体为源,其他物体为目标 制作半透明的物体要关注渲染队列

Shader "Sbin/ff2" { Properties { _Color("Main Color", color) = (1,1,1,1) _Ambient("Ambient", color) = (0.3,0.3,0.3,0.3) _Specular("Specular", color) = (1,1,1,1) _Shiness("Shininess", range(0,8)) = 4 _Emission("Emission", color) = (1,1,1,1) _MainTex("MainTex", 2D) = "white"{} _SecondTex("SecondTex", 2D) = "white"{} _Constant("ConstantColor", color) = (1,1,1,0.3) } SubShader { Tags{"Queue" = "Transparent"}//渲染队列 pass{ Blend SrcAlpha OneMinusSrcAlpha//alpha混合 //color(1,0,0,1) //color[_Color] Material { diffuse[_Color]//材质漫反射颜色,本身固有的颜色 ambient[_Ambient]//环境光对物体的影响 specular[_Specular]//高光颜色 shininess[_Shiness]//高光范围 emission[_Emission]//自发光 } Lighting on//启用光照on/off SeparateSpecular on//独立的镜面的高光on/off SetTexture[_MainTex] { Combine texture * primary double//合并 //texture为传进来的贴图,primary为之前计算的顶点光照,double两倍,quad四倍 } SetTexture[_SecondTex]//多张贴图,settexture纹理混合不是无限的显卡有一个混合纹理最大的个数 { //matrix[]可传入矩阵 ConstantColor[_Constant] Combine texture * previous double, texture * constant//合并 //texture为传进来的贴图,previous当前采样的纹理去计算这个settexture之前所有光照和采样之后的解国,double两倍,quad四倍, 最后一个texture意思时取贴图的alpha通道进行透明 } } } }
最新回复(0)