使用 Intel GPA 与 分析3D程序和抓取模型

原文链接在这里 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角色的绘制,谁要是已经有进展了也分享些经验给我吧

时间: 2024-11-06 15:25:29

使用 Intel GPA 与 分析3D程序和抓取模型的相关文章

分析Ajax请求并抓取今日头条街拍美图

通常我们从网页上爬取内容时,都是HTML代码,内容都已经写好了,直接从页面获取想要的信息即可,但是有的网页是通过ajax获取的数据,将ajax获取的数据通过json格式接受,然后展示在页面上的,也就是说,当我们打开一个页面时,首先请求的是他的html,然后HTML里面通过ajax获取后端数据,将数据以json格式展示在页面上.而近日头条就是这样.下面我们来看看. 我们打开链接:https://www.toutiao.com/search/?keyword=%E8%A1%97%E6%8B%8D,我

广州楼盘抓取分析1-数据抓取

抓取安居客新开楼盘的数据,简单写了个爬虫,没有用什么框架,页面解析用了pyquery,对于有中文的html,解析起来清晰且省事. # -*- coding: utf-8 -*- ####################################################################### # Copyright (C) 2005-2016 UC Mobile Limited. All Rights Reserved # File : first_sale_spid

SNMP报文抓取与分析(一)

SNMP报文抓取与分析(一) 1.抓取SNMP报文 SNMP报文的形式大致如下图所示 我们这里使用netcat这个工具来抓取snmp的PDU(协议数据单元).(因为我们并不需要前面的IP和UDP首部) 关于netcat的一些基本使用可以看这里http://www.cnblogs.com/oloroso/p/4610563.html netcat获取snmp报文 1 先获取snmpwalk发出的(get-next-request) 我们使用nc来监听161端口,然后把输出重定向到文件a.hex.因

python写的多线程 代理服务器 抓取,保存,验证程序【转】

于是决定用python重新写,python支持多线程啊. 已经有一年多没有用过 python了,很多语法,语言特性都快忘记得差不多了. 经过三天业余时间的 摸索,今天我写的这个程序终于可以和大家交流了. 下面放出源代码: 希望有高手能帮我共同完善,  这个程序是我学python语言以来写的第二个程序,应该有很多写得不够简洁的地方,希望行家多多指点 程序现有功能:    1. 能自动从12个网站抓取代理列表,并保存到数据库里面    2. 自动验证每个代理是否可用,并保存验证时的响应时间做为判断代

sqlserver 抓取所有执行语句 SQL语句分析 死锁 抓取

原文:sqlserver 抓取所有执行语句 SQL语句分析 死锁 抓取 在多人开发中最头疼的是人少事多没有时间进行codereview,本来功能都没时间写,哪有时间来开会细细来分析代码.软件能跑就行,但是一些影响性能的语句写出来,有可能本人都不知道.找就更 麻烦了.幸亏sqlserver提供了工具可以导出执行语句进行分析.可以看看是哪些语句影响整体性能.工具叫sql server profiler,这玩意可以抓取实例上执行的所有语句\死锁\事物,为分析提供帮助. 开始->sqlserver目录-

Archlinux 下Intel + NVIDIA 双显卡3D 游戏配置([email protected])

贴吧里问这问那中午睡醒后做好的,下午打了几场dota2 感觉流畅度还算很不错的,写点东西记录一下.用Archlinux 的一般来说都会用搜索引擎,所以只说下需要注意的地方即可. 1. steam 自带的OpenGL 库是过时的,运行可能会抱怨"Cannot find OpenGL GX" 之类的东西,看ArchWiki 「steam」条目,删除steam 自带的几个库. 2. 但是删除了steam 自带的那些库之后你需要在系统中安装新版的库,除去64 位的库之外(不可能还有人在用32

Intel CPU 漏洞分析

Intel CPU漏洞分析报告 预备知识 存储分级 由于计算机存储分级的特性(第一级:寄存器,第二级:高速缓存,第三级:内存,第四级:磁盘),每一级之间的访问速度差距高达数量级.所以处理器会将用到的数据和指令加载进高速缓存(现代CPU分指令高速缓存与数据高速缓存),以提高计算机的执行速度.其加载数据或指令进高速缓存的原则是(空间局部性.时间局部性): 1. 时间局部性:如果一个数据被访问,那么在近期它很可能还会被再次访问. 2. 空间局部性: 与当前访问的数据紧挨着的数据,近期将会被访问 分支预

如何利用 JConsole观察分析Java程序的运行,进行排错调优(转)

如何利用 JConsole观察分析Java程序的运行,进行排错调优 博客分类: JAVA JavaOracleSUNEclipseJDK 一.JConsole是什么 从Java 5开始 引入了 JConsole.JConsole 是一个内置 Java 性能分析器,可以从命令行或在 GUI shell 中运行.您可以轻松地使用 JConsole(或者,它更高端的 “近亲” VisualVM )来监控 Java 应用程序性能和跟踪 Java 中的代码. 二.如何启动JConsole 如果是从命令行启

分析Android程序之破解第一个程序

破解Android程序通常的方法是将apk文件利用ApkTool反编译,生成Smali格式的反汇编代码,然后阅读Smali文件的代码来理解程序的运行机制,找到程序的突破口进行修改,最后使用ApkTool重新编译生成apk文件并签名,最后运行测试,如此循环,直至程序被成功破解. 1. 反编译APK文件 ApkTool是跨平台的工具,可以在windows平台与linux平台下直接使用.使用前到:http://code.google.com/p/android-apktool/  下载ApkTool,