是否可以在绘制后查看后缓冲区?

Nav*_*Nav 2 directx direct3d visual-c++

使用断点,我试图找出使用DirectX缓冲区的复杂应用程序的工作.
我看到Blt命令绘制到后台缓冲区/表面的许多地方,我需要知道它在代码中的那个点究竟是什么.

不幸的是,我只能在绘制整个帧并翻转缓冲区时才能看到绘制的内容.

有没有办法在绘制时看到后面的缓冲区/表面?在翻转之前?

kro*_*lth 6

您可以使用PIX for Windows来调试GPU中的渲染问题或性能瓶颈.PIX是一个分析器,可以为您提供有关渲染时每个步骤的详细信息.

因此,它允许您查看每个Direct3D调用时在后台缓冲区中呈现的内容.您还可以在最终图像中选择给定像素,并查看该像素历史记录中发生的事件(例如,应用于它的着色器).

这里有几个教程:

http://blogs.msdn.com/b/manders/archive/2006/12/15/a-painless-introduction-to-pix-for-windows.aspx

http://www.garagegames.com/community/blogs/view/14251

http://www.youtube.com/watch?v=-3PISvNTeB0&feature=player_embedded