真Unity3d_Shader语法HLSL之(四)光照信息Lightmap代码实现

本文介绍了Unity3d中Shader的光照信息处理,特别是Lightmap的实现,包括点光源与烘焙的组合使用,以及在不同版本Unity中遇到的坑,如宏定义、烘培信息获取的正确方式。同时,讨论了如何获取平行光的颜色和角度,文中引用了乐乐的《入门精要》作为参考。
摘要由CSDN通过智能技术生成

如果你碰到一个文章,是举了很多例子,并有截图的,而不是名词解释的,真的要珍惜;今时今日不多了。

《入门精要》里面的光

非典型代码

v2f vert (appdata v)
			{
				v2f o;
				/ 不重要  /
				o.vertex = UnityObjectToClipPos(v.vertex);
				o.uv = TRANSFORM_TEX(v.uv, _MainTex);
				UNITY_TRANSFER_FOG(o,o.vertex);
				/
				fixed3 ambient = UNITY_LIGHTMODEL_AMBIENT.xyz;
				fixed3 worldNormal = normalize(mul(v.normal, (float3x3)unity_WorldToObject));
				fixed3 worldLight = normalize(_WorldSpaceLightPos0.xyz);
				fixed3 diffuse = _LightColor0.rgb * _Diffuse.rgb * saturate(dot(worldNormal, worldLight));
				o.color = ambient + diffuse;
				return o;
			}
			
			fixed4 frag (v2f i) : SV_Target
			{
				// sample the texture
				fixed
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

avi9111

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值