shader回顾02 --- 固定管线编程基础
来源:互联网 发布:java重写的作用 编辑:程序博客网 时间:2024/05/23 11:05
固定管线编程是很老的一种shader编程,约束性比较高,但是还是必须要了解的,因为很多功能shader说真的不需要重头到尾部编写,但是必须要看得懂,可以修改。好不多说上代码。
//fix function shader,逐步添加
Shader "myShader/fixShader" {
//3.属性
properties{
//3.外部颜色
_Color02("Color02" , color) = (1,1,0,1)
// 5.漫反射
_diffuseColor("diffuse",color) = (1,0,1,1)
//6.环境光
_Ambient("Ambient",color) = (1,0,1,1)
//7.高光
_Specular("Specular",color) = (0,1,1,1)
//8.条件高光的范围
_SpecularRang("SpecularRang",range(0,1)) = 0.5
//9.自发光
_Emission("Emission",color) = (0,1,1,1)
//10.贴图
_MainTex("MainTex",2d) = ""
}
SubShader {
//4.没有立体感,必须打开光照 on/off 但是此时没有环境光全黑
lighting on
//7. 使用高光必须打开separatespecular
separatespecular on
//12.渲染顺序
Tags{"Queue" = "Transparent"}
//1.至少一个pass通道
pass{
//11.透明度
Blend SrcAlpha OneMinusSrcAlpha
//2.第一个颜色值
//color(1,1,0,1)
//3.外部颜色,注意就是参数在fix function 里面使用[]
//color[_Color02]
//5.材质块
material{
//5.漫反射其实可以理解为自己的颜色
//diffuse(1,1,0,1)
diffuse[_diffuseColor]
Ambient[_Ambient]
Specular[_Specular]
shininess[_SpecularRang]
emission[_Emission]
}
//10.贴图
setTexture[_MainTex]
{
//透明度有关
constantColor(1,1,1,0.4)
//combine 命令 texture代表就是当前的纹理贴图 primary使用上之前的顶点数据 double 就是两倍因为纹理相乘之后更加小了都是float
combine texture * primary double,texture*constant
}
//多张贴图 previous
setTexture[_MainTex]
{
//透明度有关
constantColor(1,1,1,0.4)
//combine 命令 texture代表就是当前的纹理贴图 previous 使用之前所有计算包括贴图过后的数据
combine texture * previous double,texture*constant
}
}
}
}
- shader回顾02 --- 固定管线编程基础
- Shader编程笔记(一)<新手入门> 固定管线Shader
- Shader编程笔记(二)<新手入门> 固定管线Shader
- Shader 固定管线 详解
- 固定渲染管线Shader
- Shader编程学习笔记(五)—— 固定管线shader (Fixed function shader)_1
- Shader编程学习笔记(六)—— 固定管线shader (Fixed function shader)_2
- Unity固定管线shader总结
- Shader 固定管线详解二
- Fixed Function Shader(固定渲染管线)
- 固定管线shader以及unity旋转四元数
- 固定管线shader编写:基本属性
- Shader(固定管线着色器)
- U3D:Shader固定管线关闭雾
- unity shader 固定管线实例(一) 基础光照效果纯颜色
- unity shader的固定管线(fixed function shader)
- shader 入门 《从固定图形管线到可编程流处理器》
- unity shader 固定管线实例(二) 光照 颜色和纹理
- OBJ-C组合模式学习笔记
- OBJ-C @property和@synthesize关键字学习笔记
- OBJ-C实例变量修饰符;私有变量;私有方法;description;多态;点语法学习笔记
- mongodb副本集的配置及node.js的使用
- Mongodb事务模拟
- shader回顾02 --- 固定管线编程基础
- 为什么Java中1000==1000为false而100==100为true?
- 项目记录38--tolua 股市网络爬虫软件解析json,html
- 易經大意 421_440
- 使用wpa_supplicant中犯的小错误
- 欢迎使用CSDN-markdown编辑器
- Xsolla与GPay合作,全面开通土耳其市场
- Object-C高级编程读书笔记(6)—— GCD的一些函数
- 关系型数据库工作原理-数据结构(翻译自Coding-Geek文章)