使用Pix For Windows调试Shader傻瓜教程

下面,我们来介绍一下怎么使用DX SDK自带的工具PIX For Windows来调试Shader。这里只做简要的介绍,具体的情参看PIX的文档哈。如何找到文档呢?打开DX SDK开始菜单下面的DirectX Documentation for C++,我的版本是09年8月版本的,到目前为止好像是最新版,呵呵。然后依次:DirectX Software Development Kit/Tools/DirectX Performance Tools/PIX

        好了开始吧。首先,让我们选择一个例子吧,就用微软自带的BasicHLSL这个Demo吧。首先呢,我们要用可调式Shader的方式编译和链接我们的程序。对于这个Demo来说,就是简单的把下面这两句解注释就OK了:

        #define DEBUG_VS   // Uncomment this line to debug vertex shaders
         #define DEBUG_PS   // Uncomment this line to debug pixel shaders

        好了,现在我们应该会生成一个可执行文件了。我的这个可执行文件的地址是:E:/Documents/Visual Studio 2008/Projects/DirectXSamples/BasicHLSL/Debug/BasicHLSL.exe 记住它哦。

         然后我们去开始菜单DXSDK下面打开PIX for Windows.如果不出意外的话,你应该能看到这个界面:

 

     好了,让我们新建一个Experiment吧。方法是File>New Experiment(PS:Ctrl+N或者直接点工具栏都可以)。然后你会看到下面一个界面:

 

          如上所示,这样选择好,点Start Experiment就可以启动应用程序了。

注意,由于开启了Pixel Shader调试,因此会切换到参考设备,所以会出现一个警告,且运行期间会很卡,但是,忍住吧,呵呵。造成这个的罪魁祸首在此:

    // Debugging vertex shaders requires either REF or software vertex processing
    // and debugging pixel shaders requires REF.
#ifdef DEBUG_VS
    if( pDeviceSettings->d3d9.DeviceType != D3DDEVTYPE_REF )
    {
        pDeviceSettings->d3d9.BehaviorFlags &= ~D3DCREATE_HARDWARE_VERTEXPROCESSING;
        pDeviceSettings->d3d9.BehaviorFlags &= ~D3DCREATE_PUREDEVICE;
        pDeviceSettings->d3d9.BehaviorFlags |= D3DCREATE_SOFTWARE_VERTEXPROCESSING;
    }
#endif
#ifdef DEBUG_PS
    pDeviceSettings->d3d9.DeviceType = D3DDEVTYPE_REF;
#endif

       当程序运行之后,让我们在想调试的Frame按下F12键。(也可以是其它键,这取决于你的设置,你可以去上面那个界面的More Option里修改。) 然后咱们就退出吧,同时也退出新建Experiment的向导对话框吧,然后出现了一个这个界面:


     OK,这就是我们要分析的第六帧哦。在Detail窗口中选择Render,事件中选择Frame6.然后应该能看到这个界面:

      接下来选择一个我们要调试的像素,右键之后选Debug This Pixel。

 

看到左边的链接了吗?(如上图所示的Debug Vertex0等)点击它们试试吧。



       是不是很简单呢?这是一个轻量级的工具不怎么占资源也挺好用的。

 

 

 

 

 

 

 

 

 

 

 

 

呵呵。Pixel也是同样的道理哦:

 


       我也是刚刚接触到PIX,到处找资料都找不到,所以只好自己自学了,希望这一点点东西对大家能有帮助。另外PIX是很强大的一个工具,它能做的不仅仅是这点,它还可以用来查Bug用来检查性能消耗,起Nvidia PerfHUD的作用哦~~ 向导窗口下面的四个选项选第一个试试看~~

       就此了,有其它好的方法和用法欢迎大家共享,谢谢。

 

个人注解:

     此处的VS和PS在编译时必须指定D3DXSHADER_DEBUG(/Zi)和D3DXSHADER_SKIPOPTIMIZATION(/Od),否则就只能在反汇编模式下调试了,哈哈!

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Mathpix是一个非常方便的工具,可以将图片、PDF文档、网页中甚至是手写的数学公式直接转换成LaTeX格式,然后可以贴入Markdown、Mathtype、WinEdt或Word自带的公式编辑器中。你可以通过以下步骤来使用Mathpix: 1. 首先,你需要下载并安装Mathpix软件。你可以点击链接https://mathpix.com/#downloads,选择适合你系统的版本进行下载。Mathpix也支持手机设备哦。 2. 安装完成后,打开Mathpix软件。你可以使用Mathpix的在线服务,所以需要保持联网状态。 3. 当你需要将数学公式转换成LaTeX格式时,你可以使用Mathpix的截图功能。你可以截取图片、PDF文档、网页中的数学公式,甚至是手写的数学公式。 4. 截取完数学公式后,Mathpix会自动识别并将其转换成LaTeX格式。你可以将转换后的结果复制到你需要的地方,比如Markdown、Mathtype、WinEdt或Word自带的公式编辑器中。 总结起来,使用Mathpix的步骤包括下载安装软件、打开软件、截取数学公式、复制转换结果。希望这个教程对你有帮助!\[1\]\[2\]\[3\] #### 引用[.reference_title] - *1* *3* [数学公式截图识别神器Mathpix无限使用教程](https://blog.csdn.net/qq_22163371/article/details/126462884)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insertT0,239^v3^insert_chatgpt"}} ] [.reference_item] - *2* [数学公式识别工具mathpix的安装和使用](https://blog.csdn.net/hqllqh/article/details/123063480)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insertT0,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值