Главная » Хабрахабр » [Из песочницы] JPEG от мира 3D. Что такое glTF?

[Из песочницы] JPEG от мира 3D. Что такое glTF?

Определение и краткая история

Данный формат хорошо жимает трёхмерные сцены и минимизирует обработку во во время выполнения приложений, использующих WebGL и другие API. GLTF (GL Transmission Format) — это формат файла для хранения 3Д сцен и моделей, который является крайне простым в понимании (структура записана в стандарте JSON), расширяемым и легко взаимодействующим с современными веб-технологиями. glTF сейчас активно продвигается Khronos Group как JPEG от мира 3D.

glTF также определяет общий формат публикации для инструментов и сервисов 3D-контента. Предполагается, что glTF будет эффективным, совместимым форматом доставки активов, который сжимает размер трехмерных сцен и минимизирует обработку во время выполнения приложениями, использующими WebGL и другие API.

0. Первые упоминания о glTFдатируются 2012м годом, но в обиход он вошел с 19 октября 2015 года, вместе с анонсом спецификации glTF 1. 0), которая вышла 3 марта 2017. На данный момент использутеся 2я версия спецификации (glTF2. 0. Далее речь будет идти только про glTF 2.

Основа glTF и его плюсы

Существует и бинарная версия glTF, которая называется GLB, единственное различие которого в том, что все хранится в 1м файле с расширением GLB.
В качестве дополнительных плюсов в glTFможно выделить: glTF базируется на 2х файлах: JSON для описания структуры всей 3D сцены и бинарного файла, для хранения всех данных из сцены, включая текстурные карты, которые можно "вшивать" в бинарный файл или хранить внешними файлами.

  • Четкая иерархия объектов в структуре 3Д сцены
  • Хранения такой ифнмаорции о сцене, как источники света и камеры
  • Поддержка скелетной анимации (joints animation)
  • Более надежные материалы и шейдеры

Если приводить аналогию, то я бы использовал . Если сравнивать glTF и COLLADA, то поддерживаемые ими функции очень схожи, но, вспоминая о том, что glTF это, в первую очередь, "формат передачи", то его неоспоримым плюсом будет хорошая совместимость с веб-технологиями. JPG форматы. PSD (Adobe Photoshop) и . Первый хорош для редактирования исходного материала, но для хранения и использования в интернете используют, всё же, JPG.

Далеко не вся информацию нужна пользователю, не все форматы могут быть открыты в его приложении. На сегодняшний день 3D приходит к клиенту из абсолютно разных источников, каждый со своим форматом. 3D данные должны быть переданы в память видеокарты, затем процесс рендеринга может быть описан с помощью последовательных вызовов графического API. Структура сцены должна быть проанализирована, данные трехмерной геометрии преобразованы в формат, требуемый графическим API. Как итог, каждое исполняемое приложение должно создавать свои импортеры, загрузчики или конвертеры для всех форматов файлов, которые оно будет поддерживать, как показано на слайде.

image

Существующие форматы плохо подходят для передачи через интернет: некоторые содержат лишь информацию о геометрии, некоторые содержат в себе абсолютно все и получаются слишком громоздкими по размеру и трудными для анализа, не говоря уже о запуске в режиме реального времени (runtime). GLTF формат определяет стандарт для представления 3D контента в форме, подходящей для использования в приложении во время выполнения (runtime).

Это не «еще один формат файла», коих и так уже очень много, это определение формата передачи 3Д сцен! GLTF был разработан как раз для того, чтобы решить эту проблему.

Таким образом GLTF может помочь преодолеть разрыв между созданием контента и рендерингом. Структура сцены, описываемая JSON может легко быть проанализирована, 3Д данные хранятся в форме, легко читаемой и используемой напрямую графическими API-интерфейсами, в связи с чем нету необходимости в декодировании или предварительной обработке 3Д данных.

image


Оставить комментарий

Ваш email нигде не будет показан
Обязательные для заполнения поля помечены *

*

x

Ещё Hi-Tech Интересное!

[Из песочницы] ВИЧ – методы лечения от первых лекарств до сегодняшнего дня

Прежде, чем приступить к изложению материала, хотелось бы сказать несколько слов о себе: участник сообществ по борьбе с отрицанием ВИЧ („ВИЧ/СПИД диссидентством“): в 2016-2018 годах „ВИЧ/СПИД диссиденты и их дети“, с 2018 года – „ВИЧ/СПИД отрицание и альтернативная медицина“. Это ...

Изюминки прошедшей Moscow Python Conf++ 2019: трансформация в площадку для общения

Самыми горячими темами Moscow Python Conf++ оказались асинхронная разработка, а также сопоставление Python, его лучших практик и инструментария с аналогами из других языков, и его место в ландшафте современной разработки. Плюс мы пригласили выступить Бенджамина Петерсона, одного из разработчиков CPython, ...