C++:世界上唯一能让程序员在配置环境上比写代码还累的语言 😅|

香菇0_0

园龄:2年7个月粉丝:10关注:1

【Unity Shader学习】2D纹理采样

Shader "Sbin/Textures/Texture01"
{
	Properties
	{
		_MainTex("MainTex",2D) = ""{}
		_U("U",Range(-0.001,0.001)) = 0
	}

	SubShader
	{
	pass
	{
		CGPROGRAM
		#pragma vertex vert
		#pragma fragment frag
		#include "unitycg.cginc"

		sampler2D _MainTex;
		float _U;


		struct v2f
		{
			float4 pos:POSITION;
			float2 uv:TEXCOORD0;

		};

		v2f vert(appdata_base v)
		{
			v2f o;
			o.pos = UnityObjectToClipPos(v.vertex);
			o.uv = v.texcoord.xy;
			return o;
		}

		fixed4 frag(v2f IN) :COLOR
		{
			fixed4 color = tex2D(_MainTex,IN.uv); 
			return color;
		}
		ENDCG
	}
	}
}

效果截图:

 

1.如果在Properties使用2D,CG里要用sampler2D,代表使用的是2维纹理.

2.进行2维纹理贴图时,将图片横向设为U轴,纵向设为V轴,最大值为1.

3.通过tex2D函数进行采样时,采样的第一个参数是一个二维纹理,第二个参数是一个float2类型的uv坐标,如果采样坐标大于1或小于0,采样的图片默认以重复的形式进行计算。

本文作者:香菇0_0

本文链接:https://www.cnblogs.com/Xiang-gu/p/16512362.html

版权声明:本作品采用知识共享署名-非商业性使用-禁止演绎 2.5 中国大陆许可协议进行许可。

posted @   香菇0_0  阅读(313)  评论(0编辑  收藏  举报
评论
收藏
关注
推荐
深色
回顶
收起
  1. 1 404 not found REOL
404 not found - REOL
00:00 / 00:00
An audio error has occurred.
点击右上角即可分享
微信分享提示