13 марта 2014 13.03.14 17 4566

Открыт исходный код транслятора DirectX -> OpenGL от Valve

+22

Код, выложенный пару дней назад Valve на Github, может быть использован для переноса игр на движке Source, реализованном с применением DirectX, на более платформы, поддерживающие OpenGL. Если немного поковырять код, его можно научить также работать и с другими игровыми DirectX-движками. Таким образом, открывая исходный код своего транслятора, Valve подталкивает разработчиков портировать свои DirectX-игры на Mac OS, Linux и, самое главное, SteamOS, поддерживающие OpenGL.

Код, метко названный ToGL, был выложен под свободной лицензией MIT разработчиком Valve по имени Pierre-Loup A. Griffais, работающего под псевдонимом Plagman. Исходник взят в чистом виде из Dota 2 и поддерживает DirectX9.0c, может транслировать байткод из HLSL (High Level Shader Language) в GLSL (OpenGL Shading Language) и имеет некоторую поддержку SM3 (Shader Model 3). Он совершенно не отличается от используемого в игровом движке, поэтому там можно найти и фрагменты кода, написанного специально для Source. Valve предоставляет разработчикам полную свободу в его использовании и возможность при желании вносить изменения в код на Github. Сейчас ToGL, естественно, нуждается в нормальной документации.

Наверняка вы слышали о таких эмуляторах DirectX под Linux, как Wine или Cedega – ToGL с ними схож и различен. Обычно любая игра под Windows имеет свой игровой движок, а каждый движок имеет свой API, основанный на Direct3D. Directd3D же поддерживается только Microsoft-платформами (Windows, XBOX). ToGL перехватывает вызовы Direct3D, используя их аналоги из OpenGL. Это дает небольшой выигрыш в скорости.

Естественно, ожидать, что игры на новейшем Direct3D 11 будут сейчас же портироваться на Linux/OS X, не приходится (если они, конечно, не поддерживают режим DX9), т.к. реализована только поддержка DirectX 9. Однако другие разработчики теперь получили возможность без особых затрат и усилий переносить их продукты на OpenGL платформы.

Конечно же, одной из целей Valve является простимулировать разработчиков портировать игры под SteamOS и даже разработать аналогичные трансляторы для D3D 11 и 12. Кроме того, интересно выяснить, какие графические API будет использовать Valve в своем следующем движке Source 2, на котором, вероятно, будет реализована Half-Life 3.

OpenGL более гибкая платформа, поддерживаемая большим количеством устройств и конкурирующими с Windows платформами, Linux и Mac OS. Более того, многие приложения и под Windows используют OpenGL вместо Microsoft DirectX. На последней работают только видео игры, рассчитывающие на кросс-платформенность между Windows и Xbox. А также вспомним, что еще в 2012 году Valve заявила, что OpenGL быстрее DirectX даже под Windows. А потому активность Valve по продвижению OpenGL может повлиять на расклад сил, и стандарт DirectX получит достойного и сильного конкурента.

Кстати
Забавно, Titanfall, выпущенный сегодня, также использует движок Source. Причем это первый продукт, реализованный на версии Source для Xbox One.

Интересно, что компания Google ранее выпустила транслятор ANGLE, который является противоположностью ToGL, то есть позволяет запускать приложения OpenGL ES 2.0 в среде DirectX 9 или DirectX 11.

Источник


Half-Life 2

Платформы
PC | Mac | Linux | PS3 | XBOX | X360 | XONE | XBOXSX | Android
Жанр
Дата выхода
16 ноября 2004
5.4K
4.6
3 695 оценок
Моя оценка

Лучшие комментарии

Сейчас линукс, не то что было десять лет назад. Кто захочет, привыкнет, там нет ничего сверхсложного. Даже страшный терминал, от силы можно только пару команд знать, остальное гугл подскажет.
На steam dev days Valve рассказывала много о том в чем dat-pain при работе с directx->opengl; дело касалось многих вещей в том числе и шейдеров. Причем это было довольно обстоятельно, без лишней доли наигранности или «подходипокупайнашпродукт-уняняня». Нет, все вполне естественно было: реальные задачи, реальные проблемы + они обещали выпустить инструмент, который бы помогал ковертировать DirectX шейдеры (HLSL вроде) в OpenGL шейдеры GLSL.

Вот и все, нам как пользователям это беды или проблем не принесет, инструмент для разработчиков, которые были на Steam Dev Days + те кто просто смотрел это все позже на ютубе.
Однако это должно быть проще, чем портировать с нуля, ИМХО
Наступают времена изучения терминала )))
Кроме того, интересно выяснить, какие графические API будет использовать Valve в своем следующем движке Source 2, на котором, вероятно, будет реализована Half-Life 3.


Так уже писали об этом, пруф правда не достану чтобы положить ибо нет на его поиски времени, но Source 2 будет включать как бэкенды рендера как OpenGL так и DirectX.
Шта? Сколько игр сейчас поддерживает его, кроме Battlefield 4? Сколько видеокарт его поддерживает?
смотри на это с позитивом и фразой: I am in command!
Однако другие разработчики теперь получили возможность без особых затрат и усилий переносить их продукты на OpenGL платформы.

Нюню. Как показывает практика — все, что «автоматизировано», требует потом немалого количества человекочасов на вылов багов
Видеокарты — последние 2 поколения AMD Radeon. Игры — да, мало, но и технологии меньше года
А можно юзать mantle и вообще на счёт OS не париться, а так же юзерам на процессорах экономить, а то по другому mantle просто утонет чего очень не хочется ибо низкоуровневый API штука крайне полезная…
Потерял пару запятых в конце, каюсь(((
Вот она, суровая реальность :(
Первые недели после ухода с винды для многих будут адом, но человек привыкает ко всему и даже к Терминалу :D
ээээ!!! выделение Полужирным без Курсива забыл!

P.s Простите я немного криворукий, не обладаю ультра высоким сочинительным скилом чтобы написать что-нибуть интересное и сразу начать так "Первые ласточКи"
Каждый дрочит, как хочет.
Читай также