0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

一款基于帧捕捉的开源图形调试器应用设计

电子设计 来源:互联网 作者:佚名 2018-04-03 09:13 次阅读

作者:Dev Tech

如果你是一名图形开发者,那么你很可能在某个项目中遇到过RenderDoC,它是一款图形调试器,帮助很多开发者节省了大量的时间,现在,RenderDoC在PowerVR上获得了支持,并且也支持 PVRTC压缩格式。

RenderDoC是什么?

RenderDoc是一款基于帧捕捉的开源图形调试器,它遵从MIT协议,涵盖了一系列的图形API和开发平台:Vulkan、D3D11、D3D12、OpenGL、OpenGL ES以及Windows 7/10、Linux和安卓等操作系统

RenderDoc起初是一个业余项目,仅支持Windows和D3D11,对于游戏开发者来说,RenderDoc天生就是一款可靠的调试器,它一直关注于实际的应用案例、直观的工作流程并且不断满足开发人员的要求。随着时间的推移,它逐渐扩展到支持更多的API和平台上,目前该软件的作者与Valve Software公司达成合约全职开发这个项目。

最新推出的V1.0版本增加了很多新的特性,因为三星和谷歌提供的帮助,安卓平台也实现了对OpenGL ES和Vulkan的支持。

RenderDoc的操作与PVRTrace非常的相似,它们都是采集每帧数据用于调试,PVRTrace适合调试多帧数据,RenderDoc则非常适合检查每一帧的细节。因此这些工具在使用时无疑是互补的。

RenderDoc获得PowerVR支持

纹理查看器选项:在这个视图中你可以查看所有输入和输出纹理,同时也包括了PVRTC。现在还提供了叠加层,支持所有的mip层、纹理分片和表面。

具体特性都包括哪些?

RenderDoc包括非常多有用的特性,尤其在分析图形应用时起到了非常大的帮助。

• 灵活的纹理查看器,包括不同可见范围、通道以及子资源的查看。同时支持复杂的自定义着色器实现可视化的纹理打包或解码。
• 网格查看器展示了顶点流的输入和输出,通过可视化选项来查找选择具体要检查的顶点资源。
• 有组织的管道状态视图,能够监测不同类型的资源。
• 着色器编辑,可以替换不同的着色来查看对于数据帧的影响。
• 统一资源查看器,链接资源到UI,以及查看所涉及到的API调用。
• 运行调试特性,比如书签、资源重命名,使项目案例能够自动保存,通过注释能够定位到具体的问题。
• 为渲染对象调试不同的图层,可以显示哪些像素通过或失败,比如深度、模板或背面消除等,以便能够快速的诊断问题。
• 导出缓存、网格和纹理数据到文件,可借助外部工具进一步检查。
• 深度Python脚本能够访问所有UI上提供的数据,控制整个分析过程。

关于RenderDoC的完整使用说明可以详细查看应用文档。

Imagination科技与RenderDoc

如上文所述,PVRTC是PowerVR和iOS设备上的实际格式,目前RenderDoc也开始支持这种格式。

PVRTC已经获得虚幻4、Unity、CryEngine和Lumberyard等游戏引擎的支持。Imagination已经与RenderDoc的开发者展开合作增加Vulkan对PVRTC纹理支持、选择PowerVR设备来测试RenderDoc,确保可靠的使用体验,一些用于测试的设备包括:

• 魅族 Pro 7 Plus
• 宏碁 Iconia One 10 B3-A40
• 宏碁 Chromebook R13

你可以查看我们的网站获取更多关于我们平台的信息

RenderDoc获得PowerVR支持

管道流查看选项:你可以看到所有已绑定到图形应用的资源

PVRTC

PVRTC是PowerVR系列专有的纹理压缩方案,提供每个像素4或2比特的颜色数据压缩(4/2bpp)。它使用插值和调制方案来压缩纹理数据,纹理数据被编码为两幅低分辨率的图像,以及全分辨率、低比特精度的调制信号。更多关于这个压缩技术的具体信息可以查看白皮书:使用低频信号调制实现纹理压缩。

目前PVRTC已经分为两代,PVRTC1和PVRTC2都支持4bpp和2bpp压缩比,它们大体上相似,但是PVRTC2有其他的优势:

• 图像质量:一般来说,相比PVRTC1,PVRTC2将提供更好的图像质量,在色彩大面积不连续的图像中,不需要纹理处理技术比如边界扩展,图像质量将显著提高。在skybox中的图像边界也不再需要了,而且非贴片的纹理也会有很大的改善。这主要是因为添加了专门的模式来处理纹理部分之间的高对比区域。

• 无二次幂限制维度:PVRTC2为开发者提供了任意大小的NPOT(无二次幂限制)纹理,它是一个没有维度的纹理,不需要限制在二次幂范围内。

• 子纹理(Sub-texturing):与PVRTC1不同,sub-texturing仅在PVRTC2中支持,提供数据字边界(分别适用于PVRTC2 4bpp或2bpp的4x4或8x4)。这将会进一步支持应用程序的纹理映射等技术,应该注意的是,这需要在要替换纹理的各部分启动硬转换标志模式。

PVRTC在相同的数据内存中支持不透明(RGB)和半透明(RGBA)纹理(不像其他格式比如S3TC等需要额外的数据来支持一个完整的alpha通道)。PVRTC具备竞争力的压缩比率(4bpp或2bpp)同时提供非常高的图像质量,与未压缩的32位像素纹理相比这表示节省内存空间比达到8:1或16:1。Alpha通道数据是在每个数据字基础上编码的,因此完全不透明的纹理部分就不需要对Alpha通道信息进行不必要的编码了。

在PVRTC中,数据范围可达到64位的字,每个数据都包括低分辨率图像和4x4或8x4调制数据中的某一个像素。与传统基于块的格式不同,PVRTC使用相邻的数据字来重建原始图像,而前者使用单个块的内容来重建纹理上的像素点(texel),因此,与基于块的压缩技术相比,这将会带来相当可观的视觉增强。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 调试器
    +关注

    关注

    1

    文章

    305

    浏览量

    23739
  • powervr
    +关注

    关注

    0

    文章

    98

    浏览量

    31068
  • imagination
    +关注

    关注

    1

    文章

    573

    浏览量

    61327
收藏 人收藏

    评论

    相关推荐

    MSP调试器用户指南

    电子发烧友网站提供《MSP调试器用户指南.pdf》资料免费下载
    发表于 12-05 14:56 0次下载
    MSP<b class='flag-5'>调试器</b>用户指南

    请问TAS5756M在图形调试软件是哪个?在哪下载?

    我想用TAS5756M 做一款2.0音箱,需要TAS5756完成分频 ,限幅。请问TAS5756M在图形调试软件是哪个?在哪下载?请提供链接,谢谢啦。
    发表于 10-30 06:26

    ​介绍一款Java开发的开源MES系统

    ​介绍一款Java开发的开源MES系统,万界星空科技开源的MES系统。该系统基于Java开发,具有广泛的适用性和高度的可定制性,能够满足不同行业、不同规模企业的智能制造需求。
    的头像 发表于 09-05 17:39 652次阅读
    ​介绍<b class='flag-5'>一款</b>Java开发的<b class='flag-5'>开源</b>MES系统

    TC3XX只能在连接调试器时启动,为什么?

    在 AP32555 中,有章:\"\"当调试器被移除时,设备无法启动 \"描述了与 BMHD 有关的内容,我发现如果将十六进制文件编入个没有 UCB_BMHD 的空
    发表于 07-03 06:53

    做了个DAPLink调试器,最高支持1500V隔离!静电多不了点!

    工程名称:基于AT32F415的隔离DAP-Link调试器前言做了一款隔离DAPLink调试器,最高支持1500V隔离(不接入隔离电源情况下可以达到5KV)。能隔离大部分静电!基于AT32F415
    的头像 发表于 06-06 08:05 261次阅读
    做了个DAPLink<b class='flag-5'>调试器</b>,最高支持1500V隔离!静电多不了<b class='flag-5'>一</b>点!

    STM32F103用CAN调试器接到该板子后给其发消息,调试器会显示总线数据错误的原因?

    项目里有个CAN收发相关的板子,用的是STM32F103芯片。在与上位机的CAN交互过程中经常会出现通讯错误的情况,表现在上位机发送报文后没有收到回复。用CAN调试器接到该板子后给其发消息,调试器会显示总线数据错误
    发表于 05-27 07:42

    开源项目!设计一款智能手语翻译眼镜

    这个项目是一款创新的智能手语翻译眼镜,它能够实时地将手语转换为听得见的语音。这款眼镜采用了VIAM平台和树莓派Zero 2 W,能够帮助聋人或听力受损的人士更自由、独立地与他人交流,减少对第三方
    发表于 05-20 15:59

    Aurix development studio是否支持GCC调试器

    当我尝试使用 Aurix development studio 调试 Aurix 示例时,我发现只有两个选项 TASKING C/C++ 调试器 winIDEA 调试器 我的问题是,GCC
    发表于 05-20 06:57

    如何自制CAN调试器

    candleLight固件还支持BUSMASTER(这个也就很厉害了,用过的都懂),BUSMASTER是一款功能强大的专业级CAN总线调试软件,不仅能够应对般的CAN调试开发,还
    的头像 发表于 04-15 11:18 959次阅读
    如何自制CAN<b class='flag-5'>调试器</b>?

    jlink调试器的工作原理

    我们平时使用的jlink调试器就是使用JTAG接口,JTAG以前是用于测试芯片的种通信方式,现在部分ARM或者DSP等都存在JTAG接口,这样我们就可以通过JTAG接口访问CPU以及其内部状态信息等。
    的头像 发表于 03-08 12:32 3122次阅读
    jlink<b class='flag-5'>调试器</b>的工作原理

    应用单片机开发的ST LINK调试器设计制作

    调试ST单片机的过程中,ST-LINK是个很好使用的调试工具。今天,我们就根据网络上的设计方案进行简化,设计制作个ST LINK调试器
    发表于 03-06 10:26 1132次阅读
    应用单片机开发的ST LINK<b class='flag-5'>调试器</b>设计制作

    FX3有办法让SDK1.3.5与JTAG调试器配合使用吗?

    ,并将其切换到 FX3 SDK 1.3.4,则切正常。 看来 SDK 1.3.5 中的预置库出了问题,因为这是唯真正发生变化的地方。 有办法让 SDK 1.3.5 与 JTAG 调试器配合使用吗?
    发表于 03-06 07:56

    调试器连接MCU不稳定怎么办?

    有没有小伙伴遇到使用GDlink或者Jlink调试GD32 MCU的时候出现不稳定的情况,刚要发现问题时调试器和MCU断开连接了,这个时候可能抓狂的心都有了。今天就教给大家几个提高调试器连接MCU稳定性的方法。
    的头像 发表于 02-21 09:44 941次阅读
    <b class='flag-5'>调试器</b>连接MCU不稳定怎么办?

    使用Minwiggler调试器报错的原因?

    根据我的理解,我有英飞凌 A2G TC375LK 套件的 aurix 评估板,它内置了调试器。 我正在使用 Minwiggler 调试器。 但是当我尝试调试时,它给出了错误。 这个调试器
    发表于 01-26 07:22

    MPLAB® PICkit™ 4 在线调试器用户指南

    电子发烧友网站提供《MPLAB® PICkit™ 4 在线调试器用户指南.pdf》资料免费下载
    发表于 01-07 10:57 6次下载