当前位置:网站首页>Unity Shader 学习 004-Shader 调试 平台差异性 第三方调试工具
Unity Shader 学习 004-Shader 调试 平台差异性 第三方调试工具
2022-06-13 03:48:00 【荷兰猪小灰灰】
文章目录
学习时间:
2022.5.27
学习产出:
1.调试Shader
1.1 我们打开FrameDebug窗口
Frame Debugger可以让我们单独的观察一帧的渲染过程,观察到每一个DrawCall的渲染情况,它会把DrawCall一个一个按顺序列出来,通过点击每一个DrawCall,可以看到执行到该DrawCall时的渲染图,一步一步的点就可以看到整个场景渲染非常详细的构建过程。


1.2 通过FrameDebug窗口查看我们shader渲染目标的状态
比如这里我们前向渲染的一个Cube
1.首先Shader是Unlit/004,SubShader #0 因为我们这个shader里面只有一个渲染通道
SubShader是整个着色器的一个子着色器,当一个Mesh(网格)需要被绘制时,Unity就会在Shader中寻找渲染它的方式,并从Shader中挑选第一个能被完全支持的SubShader去实现。为了让材质,或者说让游戏画面能够在不同平台发挥其最佳的效果,我们可以定义多个SubShader。每一个SubShader都包含完整的渲染参数,渲染设置,渲染方法等。在初学阶段,我们为材质编写一个SubShader即可,剩下的工作我们可以交给强大的FallBack去完成。
2.然后我们的通道Pass是#0
3.ZClip设置 GPU 的深度剪辑模式
4.ZTest深度检测LessEqual小于目标值
LEqual 绘制位于现有几何体前面或相同距离的几何体。不绘制位于现有几何体后面的几何体。
5.ZWrite:深度写入,开启后决定片元的深度值是否写入深度缓冲,可配置

2.平台差异性
2.1 抗锯齿
由于我们Unity是跨平台的,所以有OpenGL和DirectX两种坐标系
通常情况下,Unity是会帮我们自动翻转的
但是,如果开启了抗锯齿,那么DX平台,就需要手动翻转
Unity里面这样打开抗锯齿(Anti Aliasing)
手动翻转的方法,就是首先判断是不是DX平台,然后判断是不是开启了抗锯齿,如果都满足,那么就翻转
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-YzkCKEBZ-1655041487014)(https://liuwenxin-oss.oss-cn-hangzhou.aliyuncs.com/img/4cbba614e4f348858f2809c17e776dc0.png)]
如图,Unity是DX平台
2.2 DX平台定义变量更严格

3.第三方调试工具

边栏推荐
- 【多线程】多线程到底是个甚——多线程初阶(复习自用)
- V-bind and v-on
- 单片机:PCF8591 应用程序
- On the value of line height
- leetcode. 1 --- sum of two numbers
- [test development] file compression project practice
- [test development] advanced part - Classification of various test technologies
- 大五人格学习记录
- Triggers & built-in packages
- Fundamentals of robot obstacle avoidance system
猜你喜欢

UDP connection map collection

Translation of ego planner papers

Big Five personality learning records

【测试开发】进阶篇——各种测试技术分类

Synching build your own synchronization cloud

【測試開發】自動化測試selenium(三)——unittest框架解析

LVS four layer load balancing cluster (4) main methods of load balancing

GoFrame第五天

2022春学期总结

MCU: pcf8591 hardware interface
随机推荐
单片机/嵌入式的实时性疑问解答
单片机:EEPROM 多字节读写操作时序
任总与系统工程领域科学家、专家会谈纪要
Precautions for stream flow
Detailed explanation of MySQL storage process
【测试开发】自动化测试selenium篇(一)
ROS话题与节点
Wechat payment configuration
【愚公系列】2022年06月 .NET架构班 080-分布式中间件 ScheduleMaster的Master集群和数据库切换
Lightweight digital mall system based on PHP
Lambda终结操作查找与匹配findAny
OKR和KPI的区别
单片机:Modbus 多机通信程序设计
User and permission configuration in SQL Server database to ensure database security
【MySQL】索引与事务
Lambda termination operation find and match nonematch
Single chip microcomputer: infrared remote control communication principle
【测试开发】软件测试基础篇
Student management system
【测试开发】文件压缩项目实战