unity 集成 RenderDoc 调试shader的方法

之前我是知道在Visual Studio里调试的方法的,但是不知道为什么,这个方法在unity5的环境下,各种报错,捕获不了,4的时候好好的。今天在翻文档时,发现又多了一种新的调试方法,就是用RenderDoc,下面来说说这个工具。

RenderDoc调试的官方文档:
http://docs.unity3d.com/Manual/RenderDocIntegration.html
Visual Studio 调试的官方文档:
http://docs.unity3d.com/Manual/SL-DebuggingD3D11ShadersWithVS.html

Renderdoc™是一款独立程序,它可以在任何使用Direct3D 11.0 或11.1的Windows应用中捕捉和回放帧,提供工具进行深入分析、图形探察以及API使用的详细检查,这些功能让开发人员在他们的程序中 定位错误和问题。

Renderdoc™由Crytek完全从头开发,就是为了满足图形程序员的真实需求,并在其CRYENGINE引擎的各款游戏制作过程中广泛使用和改进优化。

计划逐步地增加Renderdoc™功能,并且支持其他平台及API (比如OpenGL)。

另外Crytek已经将这个公会开源出来了,也就是说大家可以完全免费的使用它了!


特点:
RenderDoc 可以查看一些 dx函数堆栈调用,纹理信息,像素颜色值,渲染步骤,顶点坐标的详细数值这种信息。挺直观,详细的。但是不能在shader中断点,在这一点上不如 Visual Studio 的调试。


API的支持:
这里写图片描述
也就是说,这个工具不打算向下兼容所有的API,起点是 dx11。


安装时需要注意的地方:

官方文档里提供一个RenderDoc的获取地址,不过这个地址是指向Github上c++开源工程的地址,也就是说我们下下来还要自己编译一次,不过这都不是重点。。。。。。
重点是,编译出来的程序,不能集成到unity里面去呀!这个玩意有一个很重要的特性就是可以集成到unity编辑器当中去~
然后我就又去研究文档了(请体谅我悲惨的英文水平,这里省略1万字~),然后重新仔细的看了一遍文档,发现里面是这么说的:

If a RenderDoc installation is detected, then at any time after loading the Editor you can right click on the tab for the Game View or Scene View and click the ‘Load RenderDoc’ option.

第一句是重点,如果检测到RenderDoc的安装!然后我发现,我编译出来的工具虽然是能运行的,但是没安装过呀,尼玛!
这里给大家提供一下可以下载编译好,且已经封装制作好了的.msi文件下载地址,当然如果你想自己编译好了,再自己给它制作成安装包也可以。。。
地址:
https://renderdoc.org/builds
在列表里选择自己对应的版本就好了。

安装好了以后,你再进入unity的时候,在Scene和Game窗口右键就可以看到多出来一个Load RenderDoc选项了(这里我就直接偷官网的图用了)
这里写图片描述
点一下它,unity就会在后台启动RenderDoc,然后界面上会多出一个按钮(这一步操作每次新启动unity,都要来一遍)
这里写图片描述
是不是很眼熟,没错,就是RenderDoc自己的log图标
这里写图片描述


使用方法:
这里只简单说说在unity中的使用,当然这个工具也是可以用来探测其它程序的dx调用的。

我们在Scene或Game窗口里运行我们的游戏,然后在想进行探测的地方点击那个log按钮,然后你发现,好像没发生什么嘛
┑( ̄Д  ̄)┍,我们先不管这个,先来启动RenderDoc,这个东西不会在桌面生成快捷方式,我是win10,所以我就直接去问小娜了,也就是左下角的Cortana搜索窗。(这里必须吐槽,微软这个心机婊,为了宣传win10,连halo里的梗都用上了!)
在打开的RenderDoc里,我们可以看到这样的画面
这里写图片描述
这个时候你就应该明白了,咱们点了几次logRenderDoc就给咱们截了几次的屏幕,然后我们打开其中一帧数据,这里要loading一下。然后我们就发现它的TimelinePipeline StateEvent BrowserAPI CallsMesh OutputTexture Viewer窗口里都有数据了,然后我们就可以开始进行调试了。

最后补一个RenderDoc的官方使用文档:
http://docs.renderdoc.org/

以上,就是我尝试RenderDoc工具的一些体验了,希望对你有用,我也就没白码这么多字,觉得有用的话,记得给哥点个赞!

评论 13
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值