当前位置:网站首页>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
- 【备份】《Unity Shader入门精要》配图
- unityFps射击
- A*Pathfinding插件(3D)
- 序列化、编码、requests库json和data参数
- 享元模式-缓存池
- 链表、栈、队列
- ArgumentException: GetComponent requires that the requested component ‘GameObject‘ derives from Mono
- AR Foundation Editor Remote插件使用方法
- 一小时极速掌握游戏资源远程热更新
猜你喜欢

Unity plug-in DOTween User Guide 2 (Brief explanation of Bezier curves)

系统架构和问题定位

通过adb devices命令在控制台显示企业级PicoNeo3设备号

mysql使用常见问题和解决

中间件-Rocktmq

从零开始构建Google Protocol Buffer / protobuf 的helloworld工程(超级详细)

Myunity框架笔记

每日刷题(day01)——leetcode 53. 最大子数组和

Unity中实现Animation Clip动画片段的倒播(该案例可以防止动画延迟)

Talking about 3 common shadow rendering techniques in games (2): shadow cone
随机推荐
【接口自动化】
Unity中Xml简介以及通过脚本读取Xml文本中的内容
观察者模式-数据池
请亲们关注下我,谢谢了。
Unity screen coordinates to world coordinates, mouse click to get 3D position
OpenGL学习笔记(LearnOpenGL)-第三部分 绘制矩形
Kernel performance analysis summary
过大数组导致爆栈的解决方法记录(堆栈)
lua循环
clickhouse出现数据重复问题
LruCache与DiskLruCache结合简单实现ImageLoader
动态规划、背包问题 6/23 101-105
电路分析中的电容器的基本知识
mysql分组排序并取各分组前几个数据
Unity瓦片地图取消部分刚体效果
Introduction to KDE Framework
享元模式-缓存池
二叉树 6/16 81-85
Unity中暂停、继续播放、杀死、正放、倒放Dotween动画
为什么游戏需要热更新?