您的位置:首页 > 移动开发 > Unity3D

Unity 3D 图形学Shader之顶点着色器(四)

2019-03-11 18:17 274 查看

 由这一章节可知Gpu的渲染流程如下所示

Gpu: 渲染管线(管道):顶点着色器——>光栅化——>片段着色器——>alpha测试——>模版测试——>深度测试——>Blend——>Gbuffer——>BrontBuffer——>framebuffer——>显示器

整个流程里面我们能够改变的:顶点着色器,片段着色器以及三大测试。

首先对顶点着色器进行代码编辑:新建TestVertex Shader脚本并打开进行编辑

把Shader脚本相关内容去掉,只剩下简单结构如下:

[code]Shader "Hidden/TestVertex"
{
Properties
{
_MainTex ("Texture", 2D) = "white" {}
}
SubShader
{

Pass
{

}
}
}

顶点着色器:

1.计算顶点的颜色 2. 灯光的作用

计算顶点的颜色两种方式:直接调节,通过变量调节

接下来:灯光来了以后,材质球如何与灯光作用:

下面代码针对光的计算公式分别对相应颜色进行调试

[code]Shader "Hidden/TestVertex"
{
Properties
{
_MainTex ("Texture", 2D) = "white" {}
_TestColor ("Color", Color) = (0,1,1,1)//第二步 为了方便调试定义颜色变量
}
SubShader
{
Pass
{
// Color(0,1,1,1)	//第一步 改变顶点颜色
// Color[_TestColor]//第二步 引用变量

//第三步:定义材质与灯光如何作用
Material
{
// Diffuse(1,1,1,1)//材质球的漫反射如何与灯光作用
// Diffuse[_TestColor] //漫反射
// Ambient[_TestColor]// 环境光
// Specular[_TestColor]//镜面反射
Emission[_TestColor]// 自发光
}
Lighting  On // 负责所有灯光的开关,因为默认是关闭的
SeparateSpecular On // 高光的开关
}

}
}

下一章节讲解:片段着色器

相关知识借鉴:http://video.mobiletrain.org/course/index/courseId/535?pinzhuanbdtg=biaoti

 

 

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: