当前位置:网站首页>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,后续会详细说明。
边栏推荐
- 内核性能分析总结
- ASP.NET有关于文件上传、下载、全选、删除选中重要干货(亲测有效)
- 酸回收树脂工艺技术详解
- Talking about 3 common shadow rendering techniques in games (1): plane shadow
- unity守则(随时持续更新\自我总结)
- 每日刷题(day03)——leetcode 899. 有序队列
- 二次元卡通渲染之描边
- 【fiddler2】使用fiddler mock response 数据
- 动态规划、背包问题 6/22 96-100
- 从零开始构建Google Protocol Buffer / protobuf 的helloworld工程(超级详细)
猜你喜欢
随机推荐
在TypeScript中使用parseInt()
开源游戏服务器框架NoahGameFrame(NF)服务器端环境搭建(二)
Explore the origin of the garbled problem: the association between GBK, UTF8, UTF16, UTF8BOM, and ASN1
在Unity中让主摄像机发射一条射线,判断射线在游戏场景中所碰撞的游戏物体名字和标签名称(亲测有效)
Kernel Image File Format
动态规划、背包问题 6/24 106-110
KDE框架介绍
Unity object pool implementation
开源游戏服务器框架NoahGameFrame(NF)简介(一)
最简单的字符设备驱动
剑指 Offer(第 2 版)7/7 14-17
手把手教你改内核源码--sysfs虚拟文件系统2
手把手教你改内核源码--sysfs虚拟文件系统1
【C语言】结构体变量学习笔记1
clickhouse出现数据重复问题
工业废酸回收工艺
Unity中暂停、继续播放、杀死、正放、倒放Dotween动画
Share a professional TA's "Shader Reference"
ASP.Net利用代码点击相应按钮来关闭当前的页面(亲测有效)
常用模块封装-pymysql、pymongo(可优化)