本次调试的项目是DXSDK中的CSM例子来展开说明,如何用VS2015自带的图形调试器来进行调试HLSL着色器代码,供大家交流与学习有不足之处还请指出批评。
1、首先打开VS2015在菜单栏中找到调试一栏,下拉选择图形再次选择启用图形调试。如下图所示:
2、软件打开之后会出现有下图所示的界面
3、找到下图所示的捕获帧,它用来捕获当前帧所渲染的画面也可以用键盘中的
PrintScreen键也可以捕获某一帧的渲染画面。如下图所示:
4、接下来我们就可进行着色器的代码调试了,首先选择你需要调试的渲染画面然后用鼠标双击打开图形分析器的界面
在界面的左侧是每帧所渲染的顶点,可以选择你所需要的会出现如下图的画面,如果没有出现如图所示的界面你可以找到你需要调试的DrawIndexed用鼠标右键选择管道阶段也会出现下图界面。
5、现在就是调试着色器代码,首先关注管段阶段这一栏,可以看到分别是
顶点着色器和像素着色器,用鼠标点击绿色三角调试按钮就会触发对应的VS与PS
的主函数入口,你就可以进行调试着色器代码了。
5.1下图是顶点着色器的调试界面
5.2下图是像素着色器的调试界面
好了,这里如何用VS2015图形调试工具来调试着色器已经说完如果有遗漏或者描述错误
的大家可以批评指正哈,谢谢!!!!!
修改:
由于昨天写得关于VS2015调试着色器代码的方法过于太简单,所以这里再做一点介绍和推荐所需要的网址供大家交流学习。
修改一:DrawIndexed是事件列表中GPU每一帧所渲染的图形,如果没有看到事件列表这一栏那么请选择查看-》第一项事件列表。上图就有可以可以进行查看。
修改二:若在自己的着色器某一处的像素有问题可以通过当前帧选用所需要调试的像素,就可以进行调试了。下图可以说明我刚才说的意思。
首先鼠标选择需要调试的像素如图所示:
其次右侧会出现像素历史记录一栏,通过鼠标选取刚才选取的像素点击下拉箭头,会出现三角形那么它的下一级会有顶点着色器和像素着色器右侧就是调试按钮与停止调试按钮。如图所示:
总结:VS2015调试HLSL着色器可以说是非常好的图形调试器,它可以捕获当前帧的像素值并进行着色器调试可以很好的解决所遇到的问题。若有人对该调试方法进一步的研究和学习可以推荐一条链接供大家学习
HLSL着色器调试功能介绍(详细)