在实现该模型之前,我对shader和计算机图形学的知识可谓是空白,但是立志成为伟大游戏设计师的我又怎么能放弃对梦想的探寻,在网上寻找相应的课程,恰好看到一篇关于Shader入门的教程,学完之后觉得有所收获,这里记录也顺便分享给大家。一个基础的Shader编程,实现高光漫反射模型。
在正式编写shader代码前,我们首先得对一些基础知识做相应的了解,这里涉及到GPU的渲染流程和Shader编程的数学知识,在后面我会再写相应的博客介绍其内容,这里我将贴出Shader的源代码,在源码中我已经做了详尽的注释,还有不清楚的可以评论中问我,知无不言!
首先我们在Unity中创建一个Material材质球作为Shader的载体,之后我们再右键创建一个Shader编码文件,双击打开之后我们就可以编写啦,这里要提示,因为Shader语言是比较特殊的语言,所以用VS打开编写的话,代码提示和自动缩进都是没有的,这点比较痛苦,大家在编写的时候要养成良好的代码习惯,及时检查,避免不必要的错误~
Shader编程语法的基本格式框架如下:
了解框架后,高光漫反射模型的源码如下:
//名称,也声明了目录路径,默认为Customer
Shader "Unlit/UnlitShader005HalfSpec"
{
//可以呈现在组件面板中的属性ÿ