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

Intel GPA 抓取3d模型的更多相关文章

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

    原文链接在这里 http://dev.cra0kalo.com/?p=213 背景信息 Intel的GPA本身是一款图形分析软件,并没有设计从3D程序里抓取模型资源的功能,但这里作者是通过hook G ...

  2. D3D-GetBackBuffer &GetFrontBufferData 抓屏&D3D抓取GPU数据

    HRESULT GetBackBuffer( [in]          UINT                iSwapChain, [in]          UINT              ...

  3. Python抓取微博评论(二)

    对于新浪微博评论的抓取,首篇做的时候有些考虑不周,然后现在改正了一些地方,因为有人问,抓取评论的时候“爬前50页的热评,或者最新评论里的前100页“,这样的数据看了看,好像每条微博的评论都只能抓取到前 ...

  4. Intel GPA + 夜神模拟器

    环境:Win10,Intel GPA 2019R2,Nox(夜神模拟器)6.2.8.3 记录下注意的事项 1. 夜神模拟器下载地址建议 : https://www.bignox.com/ 2. 先运行 ...

  5. Python爬虫之抓取豆瓣影评数据

    脚本功能: 1.访问豆瓣最受欢迎影评页面(http://movie.douban.com/review/best/?start=0),抓取所有影评数据中的标题.作者.影片以及影评信息 2.将抓取的信息 ...

  6. Phantomjs+Nodejs+Mysql数据抓取(1.数据抓取)

    概要: 这篇博文主要讲一下如何使用Phantomjs进行数据抓取,这里面抓的网站是太平洋电脑网估价的内容.主要是对电脑笔记本以及他们的属性进行抓取,然后在使用nodejs进行下载图片和插入数据库操作. ...

  7. 记一次企业级爬虫系统升级改造(二):基于AngleSharp实现的抓取服务

    爬虫系统升级改造正式启动: 在第一篇文章,博主主要介绍了本次改造的爬虫系统的业务背景与全局规划构思: 未来Support云系统,不仅仅是爬虫系统,是集爬取数据.数据建模处理统计分析.支持全文检索资源库 ...

  8. Unity3D游戏开发初探—2.初步了解3D模型基础

    一.什么是3D模型? 1.1 3D模型概述 简而言之,3D模型就是三维的.立体的模型,D是英文Dimensions的缩写. 3D模型也可以说是用3Ds MAX建造的立体模型,包括各种建筑.人物.植被. ...

  9. [转]使用Scrapy建立一个网站抓取器

    英文原文:Build a Website Crawler based upon Scrapy 标签: Scrapy Python 209人收藏此文章, 我要收藏renwofei423 推荐于 11个月 ...

随机推荐

  1. Android-ContentProvider-UriMatcher

    注意:在ContentProvider里面写对数据库增删改查的时候,千万不能 db.close();  cursor.close(); 等操作,不然其他应用访问不到数据,也没有必要写isOpen(); ...

  2. [LeetCode 题解]:Gas Station

    前言   [LeetCode 题解]系列传送门:  http://www.cnblogs.com/double-win/category/573499.html   1.题目描述 There are ...

  3. Iframe 高度自适应 example (跨子域实现)

    跨子域的iframe高度自适应 比如 'https://www.kzwr.com/topics/baidu' 嵌入了 'http://pan.kzwr.com/',这种跨子域的页面,实现起来也比较简单 ...

  4. vs附加调试

    已解决.项目-属性-调试-启用调试器选择启用本机代码调试,不知道怎么的选成启用Visual Studio承载进程了.

  5. c# 委托与事件的区别

    委托与事件的区别 委托和事件没有可比性,因为委托是数据类型,事件是对象(可以理解为对委托变量的封装.),下面说的是委托的对象(用委托方式实现的事件)和(标准的event方式实现)事件的区别.事件的内部 ...

  6. Eclipse搭建Android开发环境(安装ADT,Android4.4.2)

    1.检查是否安装JDK, 如果没安装请下载安装 JDK官网http://www.Oracle.com/technetwork/Java/javase/downloads/index.html 2.下载 ...

  7. Servlet实现Cookie读写

    前言 程序员老婆让程序员去外面买东西,说,老公,你出去买一笼包子吧,遇到卖西瓜的就买一个.老公高兴的出去了,一会儿带着一个包子回来了,老婆很是郁闷问,怎么只买了一个包子,程序员说:因为我看到卖西瓜的了 ...

  8. redis删除指定前缀的缓存

    redis作为缓存服务器为MySQL数据库提供较高的防御性,对于一些数据的查询可以直接从缓存中可以进行查询. 但是,某些情况下,我们需要清除缓存. 以下场景: 公司经常做活动,每个活动都存在大量的数据 ...

  9. cap-insets

    原文链接 在很多编程语言中都有resizable image这样的概念,比如android中的NinePatch graphic ,css3中的border image,微软的Nine-Grid Re ...

  10. POJ3074 Sudoku

    POJ3074 Sudoku 与POJ2676相比,这一题搜索时每一步都找到最好确定的点进行枚举 对于每行.每列.每个九宫格,都分别用一个9位二进制数保存还有那些数还可以填 对于每个位置,将其所在行. ...