gamemaker吧 关注:13,647贴子:95,127
  • 20回复贴,共1

【dream】使用PIX for windows来debug你的工程

只看楼主收藏回复

虽然gms的debuger功能相比gm8来说已经很强了,但有的时候图像上的问题还是十分难以解决,或者有的时候我们写了一个shader,需要查看顶点来帮助调试,而gms没有更多关于shader的功能,那么使用PIX可以大幅提高你的工作效率


IP属地:江苏1楼2016-04-25 13:27回复
    首先我们先打开一个工程,这里用的是yoyo官方提供的angry_cats的demo

    然后将其导出,导出时选择以zip方式导出

    然后将其解压,得到下面的文件


    IP属地:江苏2楼2016-04-25 13:30
    收起回复
      打开开始菜单,在directx sdk目录下找到pix for windows
      (如果没有的请在这里下载http://www.microsoft.com/en-gb/download/details.aspx?id=6812
      或者在你sdk的安装目录下\Utilities\bin\x86的文件夹中找到PIXWin.exe打开


      IP属地:江苏3楼2016-04-25 13:34
      回复
        打开后我们会看到这样一个界面
        program项中选择刚刚解压出来的游戏
        然后点More Options按钮,窗口会变成这样


        IP属地:江苏本楼含有高级字体4楼2016-04-25 13:39
        回复
          单击工具栏的“T”按钮,添加两个新的触发器,并更改Trigger Type



          如图设置,将新添加的两个触发器更改为按键触发,并设置按键为f5和f6(或者是其他你喜欢的)
          然后将两个触发器下的Action Type照图中设置


          IP属地:江苏5楼2016-04-25 13:42
          回复
            保存项目,点击工具栏上的绿色箭头运行游戏

            如果成功的话你的游戏左上角应该会显示这个
            按一下f5键(刚刚设置的触发器)开始捕捉画面
            等到你想停止捕捉的时候按下f6,会自动关闭游戏并弹出如下窗口

            把下面的两个窗口调整一下

            展开你刚刚捕捉到的Frame xxx


            IP属地:江苏6楼2016-04-25 13:46
            回复
              点击render,过一段时间后,你会得到如下画面,确定你能正确看到画面
              如果说你在列表里找到了SetTexture()函数的调用,用鼠标左键双击十六进制参数,便可以查看纹理的使用了。



              IP属地:江苏8楼2016-04-25 13:53
              回复
                除了纹理之外,在这个列表里有整个d3d渲染序列,您可以查看纹理、着色器,网格,顶点缓冲以及其他很多的东西,PIX是一个强大的调试工具,尤其是对于shader,你可以看到所有的数据交换,不仅如此,你还可以得到表面,纹理的创建顺序,以及他们是如何交换的,最后,你在这里得到的结果,到了其他平台也是一样的,灵活使用PIX可以让你的工作更有效率
                (PS:这东西好像gm8不能用)


                IP属地:江苏本楼含有高级字体9楼2016-04-25 14:03
                回复
                  赞赞赞!


                  IP属地:上海来自Android客户端10楼2016-04-25 17:31
                  回复
                    gm能不能支持OpenGL库呀[滑稽],还是要自己弄dll?


                    IP属地:福建来自手机贴吧11楼2016-04-25 21:29
                    收起回复
                      shader调试一般是输出颜色看效果就够用了(对窝来说……)
                      不知有没有hacker大神直接用ollydbg反汇编看程序怎么调用directX或opengl接口(雾)


                      13楼2016-05-01 12:24
                      收起回复