ПрограммированиеФорумОбщее

glTF 2.0 и OpenGEX

#0
23:23, 5 апр 2018

Наткнулся тут на такую страничку: http://opengex.org/comparison.html
И стало интересно - неужели всё настолько плохо в glTF и всё хорошо в OpenGEX? Кто-нибудь пользовался glTF 2.0 в своём пайплайне / встраивал ли в движок? Что можете сказать, по своим впечатлениям, об этом формате, в сравнении с тем же FBX?
И, можно ли его использовать в рамках движка как свой формат моделей, или всеравно эффективнее иметь свой и из gltf просто импортировать?
И, смотрел ли кто OpenGEX, пробовал ли с ним работать?

#1
20:57, 8 апр 2018

glTF хорош для ассетов. Данные готовы для того, чтобы их сразу класть в видео память. Плюс json формат, парсер писать в разы проще, так как есть библиотеки для чтения. Например, для webGL в браузере они нативные. Я пробовал на swift, 5 минут, и у тебя все в структурах.

FBX сложнее и не настолько очевидный. Нужен опыт или исследование примеров. Плюс это изначально формат для передачи сцен между пакетами моделирования, анимирования и проч, а не как игровой формат. Много лишнего для игрового движка и нужна адаптация данных.

Табличка отличная, кстати, дает хорошее представление о форматах.

#2
22:04, 8 апр 2018

Табличка от авторов OpenGEX всего-лишь отображает сильные стороны их собтвенного формата, по мнению его авторов.
Некоторые пункты вызывают недоумение:

Configurable distance, angle, and time units

По мнению авторов, явно обозначенные единицы измерения (метры/радианы/секунды) в glTF являются недостатком, ведь OpenGEX умеет задавать коэффициенты масштабирования (к сферической единице измерения в вакууме - и они ещё называют свой формат более подходящим для pipeline, в отличие от glTF обозначенном как run-time формат)!
Я, конечно, понимаю, что возможность задавать единицы может быть полезной (для более компактного представления в текстовой форме / бережного хранения чисел с плавающей точкой, если модель задаётся в единицах сильно отличающихся от метров), но отсутствие информации о единицах измерения вообще (как в спецификациях OpenGEX), по-моему гораздо хуже.

Иные элементы, указанные красным, доступны через расширения glTF (некоторые находятся в разработке, но это не мешает их использовать).
Более того - при желании можно написать своё расширение glTF и/или поучаствовать в обсуждении спецификаций формата или его расширений.

Свой собственный формат всегда предпочтительней формата общего назначения, т.к. таковой не может учитывать все особенности движка и имеет компромиссы для совместимости. Впрочем, выдумывать и поддерживать свой собственный формат - занятие хлопотное. Если основы формата подходят для целей движка, и скорость его чтения устраивает - то проще дополнить glTF недостающие элементы своими расширениями.

#3
8:42, 9 апр 2018

Интересно, судя по таблице старая COLLADA имеет больше возможностей чем glTF, хотя PBR есть только в glTF, но нету официальных экспортеров из 3DS Max/Maya и наверное из Blender.

#4
9:05, 9 апр 2018

Andrey
> PBR есть только в glTF
А в чём это выражается? В нём хранятся материалы? Я как-то сразу решил выкинуть материалы в отдельные файлы.
Да и формат локаций изначально начал писать свой, чтоб потом на этом не заморачиваться.

#5
15:03, 9 апр 2018

Daniil Petrov
> А в чём это выражается?
я не ковырял glTF вообще, просто увидел в таблице, так что ничего не могу сказать.

#6
16:32, 9 апр 2018

Кинжал
Главный разработчик движка Godot Engine  уже сравнивал эти форматы и выбрал GLTF
Часть 1 - https://godotengine.org/article/we-should-all-use-gltf-20-export-… -game-engines
Часть 2 - https://godotengine.org/article/small-defense-gltf

ПрограммированиеФорумОбщее

Тема в архиве.