本文主要是介绍学习使用RenderDoc查看着色器代码,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
0. 准备
首先,我想要一个相对简单的程序来学习。因此,我选择了 DX11官方范例(包含在DirectX11官方SDK中)里的【Tutorial 07: Texture Mapping and Constant 】
需要安装工程,编译出exe,然后将着色器文件(Tutorial07.fx)和贴图文件(seafloor.dds)放到exe的同级目录。随后应该可以打开exe:
1. 截一帧
设置exe的路径:
然后运行。
按F12截下一帧
2. 查看着色器代码
首先,选择到想要观察的那一次DrawCall(当前简单的程序里只有一个)
然后,在Pipeline State的分页下,可以选择顶点着色器或者像素着色器等,这里选择像素着色器。
然后,点击View,就可以查看到代码了:
3*. 修改着色器代码并立即查看效果
点击Edit而不是View可以进行着色器的编辑
此时修改代码后点击Refresh可以看到修改后的效果
例如:
着色器代码也许可读性较差
如果有些shader文件是由抽象层级更高的工具生成的,则这里观察到的代码可读性会较差。
例如,这是UE4里随意一次DrawCall的像素着色器的代码:
可以看到 Constant Buffers(或者叫UniformBuffer)的名字已经全部变为序号了。
这篇关于学习使用RenderDoc查看着色器代码的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!