顶点/片元着色器的基本架构

本文介绍了Unity中顶点/片元着色器(US)的基本架构,强调其在GPU管线中的重要角色,以及与标准表面着色器(SSS)的区别。内容涵盖US的顶点函数和片元函数,如何在Shader中定义属性、Subshader、Pass以及数据类型和语义。此外,还讨论了渲染平台的差异,并提供了一个简单的示例代码展示。
摘要由CSDN通过智能技术生成

《Unity Shader 入门精要读书笔记--初级篇--第五章》


顶点/片元着色器的基本架构

顶点/片元着色器不能说是Unity Shader族群中最闪耀的那一个,但却是最为强大的一个。在Unity中,顶点/片元着色器的英文名称是Unlit Shader(以下简称为US),尽管拥有着较为复杂原始的代码,但是US的功能可谓是王者级别的存在。除了US之外,在剩余三种着色器中,最常用的当属标准表面着色器Standard Surface Shader(以下简称SSS)了,而SSS可以实现的,US也全部都能实现。
US与GPU管线的关系相较于SSS看起来更为紧密。在GPU管线中,顶点着色器和片元着色器分属于几何阶段与光栅化阶段;而在US中,顶点着色器由顶点函数实现,片元着色器由片元函数实现。因此,虽然SSS广为人知,但想要真正一窥Unity实时渲染的奥妙与精髓,则需要掌握US的使用说明。
一、 US基本架构:

Shader "ShaderName"{
   
	Properties{
   
	//各种面板属性
	}
	SubShader{
   
	//显卡A的Subshader
	//标签设置
	Pass{
   
	//标签设置
	CGPRAGMA
	#......
	#......//各种预编译指令
	
	...
	...
	
	ENDCG
	}
	//一个Pass为一个渲染模块
	//其他pass
	}
	
	SubShader{
   }//其他显卡的
	
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值