glTF格式初步瞭解

glTF格式初步瞭解

近期看到Qt 3D的進展。偶然瞭解到了一種新的格式:glTF格式。這樣的格式聽說比現有的3D格式更加符合OpenGL應用的需要。這引發了個人好奇。因而我在Qt 3D的外部連接中找到了有關glTF的相關連接。 json

上海萌夢信息科技有限公司(微博:http://weibo.com/qtdream)原創文章,首發地址:http://qtdream.com/topic/140數據結構

歡迎同行前來探討。 工具

glTF的官網介紹在這裏。它介紹了glTF的一些特性、發起者以及應用情景。官網中。介紹了glTF是一種可以下降3D格式中與渲染無關的冗餘數據並且在更加適合OpenGL簇加載的一種3D文件格式。glTF的提出是源自於3D工業和媒體發展的過程當中,對3D格式統一化的急迫需求。官網的一張圖片可以簡單地說明這一點: post

也就是說。glTF立志成爲音頻界的mp3、視頻界的H.264,圖片界的jpeg動畫

在官網的截圖上咱們看到。在沒有glTF的時候,你們都要花很是長的的時間來處理模型的加載。spa

很是多的遊戲引擎或者工控渲染引擎,都使用的是插件的方式來加載各類格式的模型。可是。各類格式的模型都包括了很是多無關的信息。插件

比方說.blend格式包括了場景、燈光、攝像機信息。也包括了blender的元信息。這樣在加載的時候會浪費很是多的加載時間。這需要一次模型的再加工工序(這道工序是否需要,有待觀察) orm

 

當有glTF以後,可以將模型再加工成爲glTF。這樣渲染的程序僅僅需要支持glTF格式就可以很是順利地處理各類狀況了。視頻

 

 

給你們簡介了一下glTF這個格式,如下我說一下我對glTF這個新的3D格式的見解。xml

一、 爲何要有glTF這個格式的提出呢?

首先。一切新的事物的發明都是爲了爲了解決曾經不方便的狀況。就glTF格式而言,儘管曾經有很是多3D格式,可是各類3D模型渲染程序都要處理很是多種的格式。對於那些對加載格式不是那麼重要的軟件(不是那些類似「格式工廠」那樣的軟件),可以顯著下降代碼量。因此也有人說,最大的受益者是那些對程序大小敏感的3D Web渲染引擎,僅僅需要很是少的代碼就可以順利地加載各類模型了。此外。glTF是對近二十年來各類3D格式的總結,使用最優的數據結構。來保證最大的兼容性以及可伸縮性。這就比如是本世紀初xml的提出。glTF使用json格式進行描寫敘述。也可以編譯成二進制的內容:bglTF

glTF可以包括場景、攝像機、動畫等,也可以包括網格、材質、紋理,甚至包括了渲染技術(technique)、着色器以及着色器程序。同一時候由於json格式的特色,它支持預留通常以及特定供應商的擴展。

 

二、 爲何要提出一個新的格式而不是發展示有的格式比方說collada

我以爲這個是對3D通用格式的解釋權的一種爭奪戰。你們已經知道OpenGL已經成爲其實的工業渲染標準。做爲現有OpenGL的維護組織,khronos也迫切但願在3D格式上進行一次統一。讓glTF成爲類似jpegmp3等常見的格式,khronos也有威望,可以讓行業的大廠們協同一塊兒來參與新標準的制定。對於collada這樣基於xml格式的競爭對手。glTF的提出給你們提供了一個新的思路以及解決方式。就好像json當初沒有提出的時候。你們都會傾向使用xml來描寫敘述通用的可交換的數據格式,可是隨着json的發展,xml再也不是一枝獨秀。逐漸造成了兩強的局面。你們也有了不少其它的選擇。上圖咱們可以看到。咱們可以利用現有的格式轉換工具很是輕鬆地將collada格式轉換爲glTF格式。而glTF對於OpenGL的兼容性。我想會因khronos而變得更好。

相關文章
相關標籤/搜索