基于Unity2021的URP的RenderFeature进行Outline内容的手写Shader补充

基于Unity2021的URP的RenderFeature进行Outline的另一种方法里面使用的Shader是基于Shader Graph开发的。但是我一直想把这里面给的两个shader替换成手写代码的,经过两天断断续续的编写,算是走通了,希望以后能够对手写URP的shader越来越熟悉。

首先是ViewSpaceNormal这个shader的代码:

Shader "URP/ViewSpaceNormal"
{
	SubShader
	{
		Pass
		{
			HLSLPROGRAM
			#pragma vertex vert
			#pragma fragment frag

			#include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/Core.hlsl"

			struct Attributes
			{
				float3 positionOS : POSITION;
				float3 normal:NORMAL;
			};

			struct Varyings
			{
				float4 positionCS : SV_POSITION;
				float3 normal:COLOR0;
			};

			Varyings vert(Attributes v)
			{
				Varyings o = (Varyings)0;
				o.positionCS = TransformObjectToHClip(v.positionOS);
				o.normal = (TransformWorldToViewDir(TransformObjectToWorldDir(v.normal)) + float3(1,1,1)) * 0.5;
				//o.normal = 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值