Unity3D Shader之路 VS2015下Graphics Debugger调试Shader

版本:unity 5.4.1  语言:Unity Shader

 

首先推荐一下candycat的《Unity Shader入门精要》,渲染流水线讲得清清楚楚、有用的数学知识一个没落,基于这两点再来看Shader代码简直简单的不像人话。总之吐血推荐,想学Shader就买这本书好了。

 

然后这本书里面讲到了使用Visual Studio调试Shader,但没有说到具体的方法,我就来按照Unity官方文档来补充一下。

 

官方网址:

https://docs.unity3d.com/Manual/SL-DebuggingD3D11ShadersWithVS.html

 

首先申明调试环境只能使用win64,使用DirectX 11,然后跟着我一步步做吧。

 

1.Shader代码中添加以下预处理命令,跟其他的#pragma放在一起就好:

#pragma enable_d3d11_debug_symbols

 

完成之后保存,并出包,要求是64位包:



2.接下来是运行VS2015,注意不是从Unity中启动,Unity现在可以关掉了,直接运行VS2015程序,点File -> New -> Project新建项目,新建个VC++的Empty Project就好:



3.Debug -> (项目名) Properties打开属性界面,在点到属性界面的Configuration Properties -> Debugging:



我们要调整的是Command行和Command Arguments行,Command行写刚刚出包的绝对路径,而另一个则是-force-d3d11,强制使用d3d11渲染程序。

 

4.配置完毕之后,点Debug -> Graphics -> Start Graphics Debugging,接下来我们的出包程序就直接运行了,我是这么一个测试画面:



5.回到VS2015,点Capture Frame截取画面(时间可能有点长。好吧,我在它截取的过程中又写了这么一大段话。还没有结束,电脑好一点的可能快一点吧。某种意义上来说这样的调试还是蛮麻烦的,因为你得出包之后再进行调试,想改个参数什么的,得重新出包,但拥有这样逐行代码调试的能力简直赞):



我发现为什么要这么长时间来截取画面了,得点一下调试的程序,让它进行渲染,不点的话画面停在那里所以截取画面程序一直在等待。或者就开后台运行应该也行。

 

6.好,获取到以上画面之后点一下Frame 822这行字,出现了详细的报告,我在图片中选取了自己渲染的小球,想看看他是怎么渲染出来的:



点中后,右边窗口出现了详细信息:



7.点开棕色的那次渲染,就能看到我们写的Shader了,点三角运行就能进行调试了:



以上内容就是Unity官方教程中的内容,网上搜了一下貌似没有相关的介绍,如果在学Shader的话最好按照以上操作来试一试,很强大的功能。


  • 2
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 7
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 7
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值