您当前的位置: 首页 >  unity

Unity Shader - Get Screen Pos

发布时间:2018-11-30 23:52:17 ,浏览量:5

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

关注
打赏
1688896170
查看更多评论

暂无认证

  • 5浏览

    0关注

    115984博文

    0收益

  • 0浏览

    0点赞

    0打赏

    0留言

私信
关注
热门博文
立即登录/注册

微信扫码登录

0.0540s