学习使用RenderDoc查看着色器代码
0. 准备首先,我想要一个相对简单的程序来学习。因此,我选择了 DX11官方范例(包含在DirectX11官方SDK中)里的【Tutorial 07: Texture Mapping and Constant 】需要安装工程,编译出exe,然后将着色器文件(Tutorial07.fx)和贴图文件(seafloor.dds)放到exe的同级目录。随后应该可以打开exe:1. 截一帧设置exe的路径:
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)的名字已经全部变为序号了。
开放原子开发者工作坊旨在鼓励更多人参与开源活动,与志同道合的开发者们相互交流开发经验、分享开发心得、获取前沿技术趋势。工作坊有多种形式的开发者活动,如meetup、训练营等,主打技术交流,干货满满,真诚地邀请各位开发者共同参与!
更多推荐
所有评论(0)