原文链接在这里 http://dev.cra0kalo.com/?p=213

背景信息

Intel的GPA本身是一款图形分析软件,并没有设计从3D程序里抓取模型资源的功能,但这里作者是通过hook GPA应用,让他可以把捕捉到的顶点缓冲和索引缓冲。

Intel GPA 64位的下载链接

http://registrationcenter-download.intel.com/akdlm/irc_nas/4674/gpa_14.3_release_231370_windows_x64.msi

Intel GPA 32位的下载链接

http://registrationcenter-download.intel.com/akdlm/irc_nas/4674/gpa_14.3_release_231370_windows_x86.msi

patch的补丁见附件

http://files.cnblogs.com/TracePlus/FrameAnalyzer.patched.zip

设置和捕捉

安装GPA后,启动Graphics Monitor,浏览你的3D应用,并选择,这里是ce3.6的sdk demo

有些游戏或应用崩溃的话,可以关闭tracing

进入游戏后,可以看到GPA的HUD,按CTRL+F1可以显示全部UI,CTRL+SHIFT+C就可以捕捉当前的frame

这时,即便关闭游戏后,也可以运行Graphics Frame Analyzer,来分析已经捕捉的frame。

或者运行附件里的patched的程序,还可以捕捉模型数据。

找到绘制部分,选择右边Geometry table,就可以看到这个draw call绘制的几何体,找到你想要导出的模型,右键的话,会出现额外一个save geomegry的选项

选择导出格式,就可以保存几何体的信息了,可惜没有UV- -

这个dc使用的贴图也可以在texture table里导出

很可惜,目前这个导出功能并不能导出法线和更多信息。。如果有经验的美术自己重新分UV和绘制贴图了。。

使用GPA来分析游戏的绘制

GPA另外一个用处是可以分析别人游戏的绘制技术,而且截取的frame也方便分析(保存在文档/GPA_2014_XX里)

像一些需要登录器启动的游戏,可以在这里勾选自动检测启动的应用。这里用Blade and Soul的“模拟器”来做个测试,

基本的调试功能,教学关0 0。

还是登陆界面分析起来简单一些

这里就可以定位到绘制角色

这样就定位到绘制角色用draw call上了。接下来可能会具体分析下BNS角色的绘制,谁要是已经有进展了也分享些经验给我吧

最新文章

  1. 无法向会话状态服务器发出会话状态请求。请确保 ASP.NET State Service (ASP.NET 状态服务)已启动,并且客户端端口与服务器端口相同。如果服务器位于远程计算机上,请检查。。。
  2. 【python】安装指定模块
  3. JVM的垃圾回收机制详解和调优
  4. ctrl + z fg bg
  5. css3属性 transition transform
  6. 将序列设置为字段的默认值 - oracle
  7. Linux 伙伴算法简介
  8. System Generator入门笔记
  9. DllImport的具体用法
  10. penetration testers渗透测试,hack,vnc,nat,
  11. 如何去掉Protel99se汉化菜单
  12. synapse socket总结一:服务器模型
  13. 安装ipvsadm报错
  14. (中等) POJ 3660 Cow Contest,Floyd。
  15. k-选取问题
  16. DNS 到底怎么工作的? (How does dns work?)
  17. JavaSE| 面向对象的三大特征
  18. 项目实战03:Keepalived 实现高可用
  19. MySQL数据库自动备份
  20. 漫谈C指针:参数传递的三道题目

热门文章

  1. Apache Shiro去掉URL中的JSESSIONID
  2. CSS3水平翻转样式和background-size兼容问题
  3. POJ 3522 最小差值生成树(LCT)
  4. ubuntu15.04下安装jdk8
  5. iOS中的自由桥接
  6. leetcode-821-Shortest Distance to a Character
  7. AlvinZH掉坑系列讲解(背包DP大作战H~M)
  8. Smarty带来的神秘的数字1
  9. NASA的10条代码编写原则
  10. c# Config配置文件读写