• glTF格式初步了解


    glTF格式初步了解

    近期看到Qt 3D的进展。偶然了解到了一种新的格式:glTF格式。这样的格式据说比现有的3D格式更加符合OpenGL应用的须要。这引起了我的好奇。于是我在Qt 3D的外部链接中找到了有关glTF的相关链接。

    上海萌梦信息科技有限公司(微博:http://weibo.com/qtdream)原创文章,首发地址:http://qtdream.com/topic/140

    欢迎同行前来探讨。

    glTF的官网介绍在这里。它介绍了glTF的一些特性、发起者以及应用情景。官网中。介绍了glTF是一种能够降低3D格式中与渲染无关的冗余数据而且在更加适合OpenGL簇加载的一种3D文件格式。glTF的提出是源自于3D工业和媒体发展的过程中,对3D格式统一化的急迫需求。官网的一张图片能够简单地说明这一点:

    也就是说。glTF立志成为音频界的mp3、视频界的H.264,图片界的jpeg

    在官网的截图上我们看到。在没有glTF的时候,大家都要花非常长的的时间来处理模型的加载。

    非常多的游戏引擎或者工控渲染引擎,都使用的是插件的方式来加载各种格式的模型。但是。各种格式的模型都包括了非常多无关的信息。

    比方说.blend格式包括了场景、灯光、摄像机信息。也包括了blender的元信息。这样在加载的时候会浪费非常多的加载时间。这须要一次模型的再加工工序(这道工序是否须要,有待观察)

     

    当有glTF之后,能够将模型再加工成为glTF。这样渲染的程序仅仅须要支持glTF格式就能够非常顺利地处理各种情况了。

     

     

    给大家简介了一下glTF这个格式,以下我说一下我对glTF这个新的3D格式的看法。

    1、为什么要有glTF这个格式的提出呢?

    首先。一切新的事物的发明都是为了为了解决曾经不方便的情况。就glTF格式而言,尽管曾经有非常多3D格式,但是各种3D模型渲染程序都要处理非常多种的格式。对于那些对加载格式不是那么重要的软件(不是那些相似“格式工厂”那样的软件),能够显著降低代码量。所以也有人说,最大的受益者是那些对程序大小敏感的3D Web渲染引擎,仅仅须要非常少的代码就能够顺利地加载各种模型了。此外。glTF是对近二十年来各种3D格式的总结,使用最优的数据结构。来保证最大的兼容性以及可伸缩性。这就好比是本世纪初xml的提出。glTF使用json格式进行描写叙述。也能够编译成二进制的内容:bglTF

    glTF能够包括场景、摄像机、动画等,也能够包括网格、材质、纹理,甚至包括了渲染技术(technique)、着色器以及着色器程序。同一时候因为json格式的特点,它支持预留一般以及特定供应商的扩展。

     

    2、为什么要提出一个新的格式而不是发展现有的格式比方说collada

    我觉得这个是对3D通用格式的解释权的一种争夺战。大家已经知道OpenGL已经成为其实的工业渲染标准。作为现有OpenGL的维护组织,khronos也迫切希望在3D格式上进行一次统一。让glTF成为相似jpegmp3等常见的格式,khronos也有威望,能够让行业的大厂们协同一起来參与新标准的制定。对于collada这样基于xml格式的竞争对手。glTF的提出给大家提供了一个新的思路以及解决方式。就好像json当初没有提出的时候。大家都会倾向使用xml来描写叙述通用的可交换的数据格式,但是随着json的发展,xml不再是一枝独秀。逐渐形成了两强的局面。大家也有了很多其它的选择。上图我们能够看到。我们能够利用现有的格式转换工具非常轻松地将collada格式转换为glTF格式。而glTF对于OpenGL的兼容性。我想会因khronos而变得更好。

  • 相关阅读:
    常用sql
    epoll
    poll
    ShardedJedis的分片原理
    puppet(一种Linux、Unix、windows平台的集中配置管理系统)
    zabbix(一个基于WEB界面的提供分布式系统监视以及网络监视功能的企业级的开源解决方案)
    1111
    http_load(基于linux平台的一种性能测试工具)
    zenoss(智能监控软件)
    SaltStack(自动化运维工具)
  • 原文地址:https://www.cnblogs.com/yxysuanfa/p/7159882.html
Copyright © 2020-2023  润新知