Cg入门15:Vertex Shader - 几何变换 —波

Posted Potter

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Cg入门15:Vertex Shader - 几何变换 —波相关的知识,希望对你有一定的参考价值。

Shader "Sbin/vf36" {
	SubShader {
		
		pass{
			CGPROGRAM
			#pragma vertex vert
			#pragma fragment frag

			#include "UnityCG.cginc"

			struct v2f{
				float4 pos : POSITION;
				float4 col : COLOR;
			};

			v2f vert(appdata_base v){
				//v.vertex.y += sin(-length(v.vertex.xz)+_Time.y)/2;
				
				v.vertex.y +=sin((v.vertex.x+v.vertex.z)+_Time.y)/2;
				v.vertex.y +=sin((v.vertex.x-v.vertex.z)+_Time.y)/2;
				
				v2f o;
				o.pos = mul(UNITY_MATRIX_MVP,v.vertex);
				o.col = fixed4(0,v.vertex.y,1,1);

				return o;
			}
			
			fixed4 frag(v2f v):COLOR
			{
				return v.col;
			}

			ENDCG
		}
	} 
}
石头丢进水里效果:
技术分享
技术分享
xz方向水波纹效果:
技术分享
技术分享


以上是关于Cg入门15:Vertex Shader - 几何变换 —波的主要内容,如果未能解决你的问题,请参考以下文章

Cg入门14:Vertex Shader - 几何变换 —顶点扭曲

Cg入门11:Vertex Shader - 几何变换 —MVP矩阵变换(旋转缩放)

Cg入门14:Vertex Shader - 几何变换 —顶点扭曲

Cg入门10:Vertex Shader - 几何变换 —MVP矩阵变换

Cg入门10:Vertex Shader - 几何变换 —MVP矩阵变换

Cg入门9:Vertex Shader - Uniform 与 properties属性