UnityShader从入门到放弃(四)漫反射—逐顶点光照
来源:互联网 发布:淘宝退货流程图 编辑:程序博客网 时间:2024/06/08 02:16
在UnityShader的标准光照模型中共分为四种 : 自发光
高光反射
漫反射
环境光
下边的代码将实现逐顶点光照的漫反射效果
Shader "Luoxiaoxiao/Shader_4"{ Properties{_DiffuseColor("Diffuse Color",Color)=(1,1,1,1)}SubShader{ Tags{"LightMode"="ForwardBase"}//引入LightMode标签 使系统捕捉光照信息Pass{CGPROGRAM#include "Lighting.cginc"//引入Unity内置的一些光照的变量#pragma vertex vert#pragma fragment frag fixed4 _DiffuseColor;struct a2v{float4 vertex:POSITION;float3 normal:NORMAL;};struct v2f{float4 position:SV_POSITION;float3 color:COLOR0;};v2f vert(a2v v){v2f f;f.position=UnityObjectToClipPos(v.vertex);fixed3 normalDir=normalize(mul(v.normal,(float3x3)unity_WorldToObject));//将模型的发现从模型的坐标转换到世界坐标fixed3 lightDir=normalize(_WorldSpaceLightPos0.xyz);//对于每个顶点来说 光的位置就是光的方向 因为是平行光fixed3 diffuse=_LightColor0.rgb*max(dot(normalDir,lightDir),0)*_DiffuseColor.rgb;//顶点法线的颜色和设置的物体本身的颜色的融合 用相乘 对亮度几乎没有影响 f.color=diffuse;return f;}fixed4 frag(v2f f):SV_TARGET{ return fixed4(f.color,1);}ENDCG} }Fallback "VertexLit"}
效果如下
第四个与之前的相比较,已经有了明暗的变化,对于背光面会较暗。
阅读全文
0 0
- UnityShader从入门到放弃(四)漫反射—逐顶点光照
- UnityShader从入门到放弃(五)漫反射—逐片元光照
- UnityShader初级篇——实现逐顶点漫反射光照模型
- 漫反射-逐顶点光照
- 【UnityShader入门精要】Unityshader中的漫反射(逐顶点漫反射diffuse)
- UnityShader从入门到放弃(二)表面着色器和顶点、片元着色器
- UnityShader从入门到放弃(一)UnityShader的结构
- UnityShader初级篇——实现逐像素漫反射光照模型
- 《unityshader 入门精要》漫反射光照与高光反射光照模型学习笔记
- 【UnityShader入门精要】Unityshader中的漫反射(逐像素漫反射diffuse)
- unity Shader 的漫反射逐顶点的光照模型
- JavaScript从入门到放弃(四)
- UnityShader初级篇——实现逐顶点高光反射光照模型
- UnityShader入门精要学习笔记(五):Unity中实现漫反射光照模型
- UnityShader从入门到放弃(三)将法线的颜色填充给物体
- UnityShader入门精要学习笔记(四):光照模型理论
- FPGA视觉从入门到放弃——可变光照下结构化模板对边缘提取的影响
- Python从入门到放弃(四):函数细讲
- 蒋勋说宋词
- html相关3
- 微信公众号开发(五)个性化菜单
- VBA遍历文件夹并正则表达式匹配文本所在位置
- 关于错误:Uncaught Error: Bootstrap's JavaScript requires jQuery bootstrap.js:8 at bootstrap.js:8
- UnityShader从入门到放弃(四)漫反射—逐顶点光照
- 大数据常见150坑
- maven+Thymeleaf笔记-1
- Android中的四大组件Service
- Git的简单使用
- POJ总结(2255)
- 百度云的高速下载技巧系列1---油猴插件和脚本(PC)
- nginx静态资源缓存策略配置
- SPPNET 和RCNN