前几天去一家公司面试,因为简历上写着“能写简单的Shader”,就被问了一个问题:怎么自定义一个光照模型?
直接懵逼了,隐隐约约能联想到的什么漫反射光+镜面反射光+环境光...难道是这个?光照模型就是#pragam surface surf Lambert里面的那个Lambert呗?这不都是写好的吗?还能自定义啊?!本着“程序是严谨的”的心态,宁可说不知道,也不能瞎说。。。
今天有空,抓紧学习一下自定义光照模型...
首先,新建一个SurfaceShader,打开后做如下修改
#pragma surface surf Standard fullforwardshadows >> #pragma surface surfMyLightingModel
之后,在SubShader块儿中实现这个光照模型:
inline float4 LightingMyLightingModel(SurfaceOutput s, fixed3 ligh