先来看一下之前介绍Shader基本结构的shaser 示例代码。
关键位置都已经加了注释、了解一下就可以,后面我们会用示例的方式一点点的去了解、学习。
Shader "Mark/Unlit" { //名字
Properties {
_MainTex ("Base (RGB)", 2D) = "white" {} //定义贴图属性
_Color("Main Color", Color) = (1,1,1,1) //定义一个主颜色
}
SubShader {
Tags {"RenderPipeline"="UniversalRenderPipeline" "RenderType"="Opaque" "Queue" = "Geometry"} //指明Shader为URPshader、渲染类型为不透明
Pass {
HLSLPROGRAM //指明这是一个HLSL代码片段
#pragma vertex vert //定义顶点着色器的函数名
#pragma fragment frag //定义片段着色器的函数名
#pragma target 3.0 //定义支持的opengl的版本
#include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/Core.hlsl" //引入core库
//定义输入数据结构
struct appdata_t {
float4 vertex : POSITION; //顶点坐标
float2 texcoord : TEXCOORD0; //贴图
};
//定义输