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而变得更好。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/258011.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【】局部刷新:

【】局部刷新: //页面加载时绑定按钮点击事件$(function(){ $("#按钮id").click(function(){ refresh(); });});//点击按钮调用的方法function refresh(){ window.location.reload();//刷新当前页面. //或者下方刷新方法 //par…

技术贴-搜狗打字

超强技术帖:遇到不会读的字,怎么用拼音打出来?】方法很简单,就是先打个“u”然后打各个部首的读音,就能在拼音输入法中打出来哦。比如,骉,可以输入umamama,输入法就会自动出现“骉”…

【第二十七章】 springboot + zipkin(brave-okhttp实现)

本文截取自:http://blog.csdn.net/liaokailin/article/details/52077620 一、前提 1、zipkin基本知识:附8 zipkin 2、启动zipkin server: 2.1、在官网下载服务jar,http://zipkin.io/pages/quickstart.html,之后使用命令…

Oracle 数据定义语言,oracle 数据定义语言(DDL)语法

DDL语言包括数据库对象的创建(create)、删除(drop)和修改(alter)的操作1.创建表语法create table table_name(column_name datatype [null | not null],column_name datatype [null | not null],..........[constraint])constraint 是为表中的列设置约束,常见的有…

Android内存泄漏问题(一)

前言 不少人认为JAVA程序,因为有垃圾回收机制,应该没有内存泄露。 其实如果我们一个程序中,已经不再使用某个对象,但是因为仍然有引用指向它,垃圾回收器就无法回收它,当然该对象占用的内存就无法被使用&…

向上弹出菜单jQuery插件

插件名:柯乐义英文名:Keleyijs文件名称:jquery.keleyi.js插件功能:该插件可以让你轻易地在页面上构建一个向上弹出的二级菜单。支持浏览器:keleyi 0.1.4版本支持IE6以及以上、Chrome、火狐(Firefox)、欧朋(Opera)、Saf…

oracle在线sql数据库设计,一款在线ER模型设计工具,支持MySQL、SQLServer、Oracle、Postgresql...

在线QQ客服:1922638专业的SQL Server、MySQL数据库同步软件介绍一个在线ER模型生成工具,该工具可以在线为多个数据库的DDL文件生成ER模型图,并支持MySQL,SQLServer,Oracle,PostgreSQL和其他数据库。主要功能…

_M_invoke(_Index_tuple_Indices...)

2019独角兽企业重金招聘Python工程师标准>>> [hadoopiZ25s7cmfyrZ C_script]$ cat test_thread_a.cpp #include <iostream> #include <atomic> #include <thread> #include <vector>std::atomic<int> global_counter(0);void increa…

十年后2023年再读这篇文章,看看我将会怎么样?

http://blog.csdn.net/wojiushiwo987/article/details/8453881看到一篇文章不错【清华差生10年奋斗经历】 &#xff0c;写给将要工作的自己&#xff0c;十年后2023年再读这篇文章&#xff0c;看看我将会怎么样&#xff1f; 在2012年收关时刻&#xff0c;看到如此激励的文章&…

1203正规式转换为有穷自动机

1 #include<stdio.h>2 #include <ctype.h>3 #define ok 14 #define error 05 #define MAXREGLUARLONG 406 #define MAXSTATELONG 40 7 #define MAXCAHRSLONG 40 8 typedef int state;9 int iCurrentState0; //初态以1开始10 int iPreState0;11 in…

fasttext的基本使用 java 、python为例子

fasttext的基本使用 java 、python为例子 今天早上在地铁上看到知乎上看到有人使用fasttext进行文本分类&#xff0c;到公司试了下情况在GitHub上找了下&#xff0c;最开始是c版本的实现&#xff0c;不过有Java、Python版本的实现了&#xff0c;正好拿下来试试手&#xff0c; p…

oracle spring 分页查询,SpringJDBC 调用oracle 通用存储过程分页

我博客前面有写道SpringJDBC调用通用的Oracle存储过程,今天来讲一下通用的Java存储过程带分页的功能,其中里面还有动态查询的SQL拼接,好的,先上代码1.Java代码Autowiredprivate JdbcTemplate jdbcTemplate;/**分页查询* return*/ResponseBodyRequestMapping(value "/find…

宝宝头三年至关重要,不看悔掉肠子

http://www.nowamagic.net/librarys/eight/posts/1885以下是一个早教工作者分享他关于现代父母早期教育中出现的问题和多数父母的误区。正如作者问自己的&#xff1a;“在孩子人生最重要的头三年&#xff0c;我做对了吗&#xff1f;在我的引导下&#xff0c;她能保持强烈的探索…

2015年底总结

2015-12-06 16:17&#xff0c;今天是周日&#xff0c;不需要加班的&#xff0c;到公司看看书&#xff0c;写写代码的&#xff0c;突然想到又是年底了&#xff01;需要写点东西来记录总结一下2015年了 年初的时候&#xff0c;入职现在这家成都游戏公司&#xff0c;到现在差不多也…

python脚本

01.用户三次登录锁定猜年龄游戏02.购物车省县市三级联动03.函数、文件操作实现数据增删改查---low版本04.ATM购物商城05.模拟计算器持续更新中...脚本很low&#xff0c;但我一直在学。。。转载于:https://blog.51cto.com/lyndon/1947437

oracle 命令日志输出,ORACLE常用命令日志

第一章&#xff1a;日志管理1.forcing log switchessql> alter system switch logfile;2.forcing checkpointssql> alter system checkpoint;3.adding online redo log groupssql> alter database add logfile [group 4]sql> (/disk3/log4a.rdo,/disk4/log4b.rdo) …

[VMware WorkStation]虚拟机网络

1、简介&#xff1a; vmware为我们提供了三种网络工作模式&#xff0c;它们分别是&#xff1a;Bridged&#xff08;桥接模式&#xff09;、NAT&#xff08;网络地址转换模式&#xff09;、Host-Only&#xff08;仅主机模式&#xff09;。在我安装了vmware workstation player 1…

阿里查出售假店主并索赔140万,这次是大数据帮的忙

阿里巴巴将平台上一家曾出售假货的网店起诉至深圳市龙岗区法院&#xff0c;以“违背平台不得售假约定、侵犯平台商誉”为由索赔140万元人民币。此案为国内首例电商平台起诉售假店主案。 阿里巴巴目前已经准备了一份超长起诉清单&#xff0c;计划以违背合同约定、侵犯商誉为由&a…

oracle 升级前备份,rac(exadata)升级前的备份及LVM快照的恢复

1、热备所有数据库热备脚本&#xff1a;10.1.1.200&#xff0c;/backup/scripts/whole_db_backup.sh2、在每个计算节点执行dbserver_backup.sh脚本Run script "dbserver_backup.sh" in each compute node. The script takes backup of "/boot" (to ROOT f…

我心中的MySQL DBA

原文网址链接&#xff1a;http://wangwei007.blog.51cto.com/68019/1718311 MySQL是一个跨平台的开源关系型数据库管理系统&#xff0c;目前MySQL被广泛地应用在Internet上的中小型网站中。由于其体积小、速度快、总体拥有成本低&#xff0c;尤其是开放源码这一特点&#xff0c…