您当前的位置: 首页 >  unity

Jave.Lin

暂无认证

  • 1浏览

    0关注

    704博文

    0收益

  • 0浏览

    0点赞

    0打赏

    0留言

私信
关注
热门博文

Unity Shader - Get Screen Pos

Jave.Lin 发布时间:2018-11-30 23:52:17 ,浏览量:1

Unity Shader 中获取屏幕像素坐标

Coding
Shader "Unity Shaders Book/Chapter 4/Chapter4-ScreenXY"
{
	SubShader
	{
		Pass
		{
			Tags { "RenderType"="Opaque" }

			CGPROGRAM

			#pragma vertex vert
			#pragma fragment frag

			#include "UnityCG.cginc"

			// method1:
			float4 vert(float4 vertex : POSITION) : SV_POSITION
			{
				return UnityObjectToClipPos(vertex);
			}
			
			fixed4 frag(float4 vertex : SV_POSITION) : SV_TARGET
			{
				return fixed4(vertex.xy / _ScreenParams.xy, 0, 1.0);
			}
			
			/*
			// method2:
			struct v2f
			{
				float4 pos : SV_POSITION;
				float4 screenPos : TEXCOORD0;
			};

			v2f vert(float4 vertex : POSITION)
			{
				v2f o = (v2f)0;
				o.pos = UnityObjectToClipPos(vertex);
				o.screenPos = ComputeScreenPos(o.pos);
				return o;
			}
			
			fixed4 frag(v2f i) : SV_TARGET
			{
				return fixed4(i.screenPos.xy / i.screenPos.w, 0, 1.0);
			}
			*/

			/*
			// method3:
			float4 vert(float4 vertex : POSITION) : SV_POSITION
			{
				return UnityObjectToClipPos(vertex);
			}

			fixed4 frag(float4 sPos : VPOS) : SV_TARGET
			{
				return fixed4(sPos.xy / _ScreenParams.xy, 0, 1.0);
			}
			*/

			ENDCG
		}
	}
	FallBack "Diffuse"
}
Effect

在这里插入图片描述

Project

Screen XY Move

关注
打赏
1664331872
查看更多评论
立即登录/注册

微信扫码登录

0.0394s