尝试使用RenderDoc查看UE的Shader代码

这篇具有很好参考价值的文章主要介绍了尝试使用RenderDoc查看UE的Shader代码。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

问题

在《学习使用RenderDoc查看着色器代码》我学习了如何使用RenderDoc查看shader代码。
在《在UE4中使用RenderDoc》中我学习了如何在UE4中使用RenderDoc。
不过有个问题是,如果我直接在UE中截帧尝试看shader代码,看到的是不具有可读性的汇编指令:
尝试使用RenderDoc查看UE的Shader代码
本篇的目标是尝试解决这个问题。

必要操作:r.Shaders.Optimize 和 r.Shaders.KeepDebugInfo

通过查阅《UE4中使用RenderDoc截帧 - 可可西 - 博客园》资料,发现这个问题相关的两个关键控制台变量是r.Shaders.Optimizer.Shaders.KeepDebugInfo
需要的值是:

r.Shaders.Optimize=0
r.Shaders.KeepDebugInfo=1

这两个控制台变量在编辑器运行时可以查询到,默认情况下的值刚好相反,而且不能在编辑器内修改。
要想修改,就要在\Engine\Config\ConsoleVariables.ini中修改。
默认情况下,这两个变量的赋值语句都被注释掉了,去掉他们的注释即可:
尝试使用RenderDoc查看UE的Shader代码


随后,再启动引擎编辑器,截帧,即可看到可读的shader代码了:
尝试使用RenderDoc查看UE的Shader代码

可能不是必要的步骤*:设置为Debug?

因为之前有听到说法是,需要将VS解决方案的配置(原始的这个窗口可能较短,变长的方法见【附录】)

尝试使用RenderDoc查看UE的Shader代码
改为
尝试使用RenderDoc查看UE的Shader代码
可我换了以后没看到对这个问题有帮助。最后发现只要设置了r.Shaders.Optimizer.Shaders.KeepDebugInfo,那么就算在Development下也能看到可读的shader代码。
所以暂时认为Debug可能不是必要步骤。

不过,设置为Debug可能在其他方面有帮助,所以我暂时记录下遇到的问题。


换过去之后启动后遇到问题:
尝试使用RenderDoc查看UE的Shader代码
在 这里 看到了解决方法,即先找一个能进去的模式然后点 File > Cook Content for Windows
尝试使用RenderDoc查看UE的Shader代码
等待Cook完成:
尝试使用RenderDoc查看UE的Shader代码
随后再换成Debug启动,就看不到这个报错了。

附录:让解决方案配置窗口变长一些

在《修改VS2017解决方案配置窗口宽度》中找到了方法:

工具>自定义
尝试使用RenderDoc查看UE的Shader代码
命令>工具栏中选“标准”
选择“解决方案配置”
点击“修改所选内容”
尝试使用RenderDoc查看UE的Shader代码
修改宽度,之后点确定。
尝试使用RenderDoc查看UE的Shader代码文章来源地址https://www.toymoban.com/news/detail-405006.html

到了这里,关于尝试使用RenderDoc查看UE的Shader代码的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • [ue4] 着色器绑定(Shader Binding)

            当我们在ue4中制作了一个美术材质之后,引擎本身会为我们做很多事情,它会把结点翻译为hlsl,生成多个shader变体,并在多个mesh pass中去选择性的调用所需的shader,其中一个重要的过程就是获取shader绑定的数据。         本文将主要讨论ue4是如何处理来自材质的不

    2024年02月10日
    浏览(47)
  • 【UE5】第一次尝试项目转插件(Plugin)的时候,无法编译

    VS显示100条左右的错误,UE热编译也不能通过。原因可能是[名字.Build.cs]文件的错误,缺少一些内容,比如说如果要写UserWidget类,那么就要在 ]名字.Build.cs] 中加入如下内容: 根据你的文件进行添加。如果说依然有如图的问题,那你就去原来的项目里看看哪些没加上去。 正在创

    2024年01月22日
    浏览(52)
  • [Carla/UE4]树木阴影闪烁问题及阴影出现黄色代码问题解决方式

    在使用Carla官方库和一些网上下载的UE4树木、植物时会发现运行后树叶上的阴影在闪烁、移动。 ----------》 放大了看还会发现阴影里出现这样的报错提示:Your scene contains a skydome mesh with a sky material but it does not cover that part of the screen。 这个警告信息通常会出现在UE里面天空球不

    2024年01月21日
    浏览(47)
  • UE4/5C++多线程插件制作(十三、优化,bug,尝试打包【尚未完成插件封装,初次测试】)

    目录 MTPPlatform.h MTPMarco.h  MTPSemaphore.h  MTPSemaphore.cpp  RTPRunnable.cpp  模板问题 打包问题 /

    2024年02月15日
    浏览(46)
  • 菜鸡shader:L4三色环境光原理妙用并在ue4中实现

    我的上一篇博客写了关于三色环境光的原理,这次就来简单拓展一下。最重要的核心思想其实就是取法线向量的第二个分量,因为它控制方法是指向xz平面的上或者下。 所以这次要用这个原来来单独摘出上层环境光,乘上菲涅尔,会有种高光的感觉。先放个图,还是小人模型

    2024年02月16日
    浏览(36)
  • 由于找不到Qt5widgets.dll,无法继续执行代码。重新安装程序可能会解决此问题。(尝试了多种方法最后通过这个方法解决)

            开发工具:visual studio2017         问题情况:目前已经生成了解决方案,此时点击.exe文件报错。 推测这种运行exe文件报系统错误的情况不论是Qt5Widget.dll或者是找不到类似的文件都是一个原因。         前提:已经正确安装qt。         报错原因:没有正确配置系统

    2024年02月05日
    浏览(72)
  • HadoopYarn常用命令、yarn application查看任务、yarn logs查看日志、yarn applicationattempt查看尝试运行的任务、查看容器、Yarn生产环境核心参数

    Yarn状态的查询,除了可以在hadoop103:8088页面查看外,还可以通过命令操作。常见的命令操作如下所示: 需求:执行WordCount案例,并用Yarn命令查看任务运行情况。 [summer@hadoop102 ~]$ myhadoop.sh start 这个是之前写的脚本,想了解的可用看我之前写的文章 https://blog.csdn.net/Redamancy06/

    2024年01月18日
    浏览(53)
  • 解决Vue项目F12查看源代码问题

    在Vue项目中,Vue-cli默认可以通过F12查看前端代码,这可能会造成前端代码泄露。 为了代码的安全性,隐藏掉比较好。配置如下: Vue-cli2配置 打开config目录中的index.js文件,将build对象里的productionSourceMap设置成false Vue-cli3及以上版本配置 在跟目录打开Vue.config.js文件,如果没有

    2024年02月15日
    浏览(46)
  • renderdoc源码分析(四) 重放

    //TODO  先贴下飞书文档,后续找时间再整理到这 Docs

    2024年02月13日
    浏览(34)
  • UE4 关于使用Webbrowser插件遇到的问题以及解决办法

    解决办法:第一种办法,重新编译了cef源码,改成支持H.264,然后在UE4安装目录下替换相关文件,网上有教程自己搜。第二种办法是直接找改好的插件,桃宝 解决办法:使用webbrowser的ExecuteJavascript函数执行js代码,这段代码的大概意思就是将滑动条的长宽设置为0以此来达到隐

    2024年02月12日
    浏览(62)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包