- Blinn光照模型
- cosθ= dot(reflectDir, viewDir)
- 直射光 Specular = 直射光 * pow( max(cosθ,0),10) θ:是反射光方向和视野方向的夹角 10可以控制高光的范围参数越小范围越大
// Upgrade NOTE: replaced '_World2Object' with 'unity_WorldToObject' // Upgrade NOTE: replaced '_World2Object' with 'unity_WorldToObject' Shader "LXC/07 Specular Vertex" { Properties{ _Diffuse("Diffuse Color",Color) = (1,1,1,1) } SubShader { Pass{ Tags{ "LightMode" = "ForwardBase" } CGPROGRAM #include "Lighting.cginc" #pragma vertex vert #pragma fragment frag fixed4 _Diffuse; struct a2v { float4 vertex:POSITION; float3 normal:NORMAL; }; struct v2f { float4 position:SV_POSITION; fixed3 color : COLOR0; }; v2f vert(a2v v) { v2f f; f.position = UnityObjectToClipPos(v.vertex); fixed3 ambient = UNITY_LIGHTMODEL_AMBIENT.rgb; fixed3 normalDir = normalize(mul(v.
Shader-高光反射(顶点实现);控制高光范围;控制高光颜色
最新推荐文章于 2023-05-10 14:18:17 发布
本文介绍了Blinn光照模型在顶点着色器中如何实现高光反射效果,通过计算反射光方向与视野方向的夹角cosθ来控制高光范围,并详细说明了如何利用pow函数的指数参数调整高光的大小。同时,文章探讨了如何自定义高光的颜色,以增强场景的视觉表现。
摘要由CSDN通过智能技术生成