当前位置:网站首页>UnityShader入门精要-unity shader基础
UnityShader入门精要-unity shader基础
2022-08-10 05:37:00 【hippodu】
Unity中的shader
assets-create-shader创建,共有四个模板可供选择:
standard surface shader 包含标准光照模型的表面着色器模板
unlit shader 不包含光照但包含雾效的基本顶点片元着色器
imageeffect shader实现屏幕后处理效果的基本模板
computeshader 旨在利用GPU并行性进行一些与常规渲染流水线无关的计算
Unity Shader 的结构
Properties属性
在properties中的定义会显示在材质面板中,便于在面板中调整
Properties{
Name("name",PropertyType)=DefaultValue;
}
Subshader
每个shader文件至少要有一个subshader语句块,依次扫描可用的,如果都不可用就使用Fallback语义指定的。subshader下有Tags标签语句块与RenderSetup状态语句块,可以设置显卡的各种状态与搭起shader和引擎间桥梁。完整的渲染流程在Pass语句块中定义,pass过多会造成渲染性能的下降。
UsePass:可以使用该命令服用其他unity shader中的pass
GrabPass:该pass负责抓取屏幕并将结果存储在一张纹理中
UnityShader的形式
表面着色器:
unity自创的一种着色器代码类型,给unity提供一个表面着色器后在背后会被转换成对应的顶点片元着色器,unity帮助处理了许多光照细节。表面着色器被定义在subshader语句块中的 CGPROGRAM和ENDCG之间,其代码用CG/HLSL编写嵌入其中。
顶点、片元着色器、
unity shader形式的选择:各种多个光源-表面着色器,光照数目少--顶点片元,自定义渲染效果-顶点片元。
属性、内置文件(常用结构体、帮助函数)、语义
见p108-111,后续会详细说明。
边栏推荐
猜你喜欢
Talking about 3 common shadow rendering techniques in games (2): shadow cone
R language cluster analysis - code analysis
开源游戏服务器框架NoahGameFrame(NF)客户端环境搭建(三)
Unity插件DOTween使用指南2(简释贝塞尔曲线)
unity在UI界面上展示旋转模型
ASP.NET连接SQL Server的步骤
中间件-Rocktmq
C#对MySQL数据库进行增删改查操作(该操作还有防止MySQL注入功能)
在Unity的Update中通过物体自身位置判断运动方向
浅谈游戏中3种常用阴影渲染技术(1):平面阴影
随机推荐
hanLP探索-语义距离计算的实现
为什么游戏需要热更新
Unity瓦片地图取消部分刚体效果
【fiddler2】使用fiddler mock response 数据
KDE框架介绍
Talking about the realization idea of "frame" of "frame synchronization online game"
Linux的文件IO与标准IO,以及IO缓存
Explore the origin of the garbled problem: the association between GBK, UTF8, UTF16, UTF8BOM, and ASN1
请亲们关注下我,谢谢了。
mkfs.minix.c之minix_super_block.s_ninodes获取解析
工业废酸回收工艺
享元模式-缓存池
链表、栈、队列
电镀废水除六价铬
lua的模块与类
常用模块封装-csv文件操作封装
Why need to hot update game?
序列化、编码、requests库json和data参数
【fiddler4】使用fiddler设置简单并发
Share a professional TA's "Shader Reference"