4、Shader示例分析

本文介绍了Unity Shader的基本结构,并通过示例代码讲解了RenderPipeline、RenderType、Queue标签的含义。重点讨论了SV_POSITION和SV_Target这两个语义绑定的重要性,它们在图形渲染管线中的作用,以及OpenGL版本的#pragma target指令对Shader支持的最低版本设定。
摘要由CSDN通过智能技术生成

先来看一下之前介绍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;    //贴图
            };
            //定义输
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值