The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]

Открыт код транслятора Direct3D HLSL в OpenGL GLSL, созданного для игры Natural Selection 2

28.03.2014 23:27

Компания Unknown Worlds Entertainment последовала примеру Valve и перевела в разряд открытых проектов свои наработки по трансляции Direct3D в OpenGL, созданные в процессе адаптации игры Natural Selection 2 для платформы Linux. В частности, под лицензией MIT открыт код парсера для языка описания шейдеров HLSL (High-Level Shader Language), используемого в Direct3D, и генератора кода OpenGL GLSL.

Указанная связка позволяет организовать перевод на OpenGL 3.1 игр, изначально написанных с использованием Direct3D 9 или режима D3DCOMPILE_ENABLE_BACKWARDS_COMPATIBILITY в D3D11. Отмечается, что в текущем виде код не пригоден для обособленной сборки, так как он завязан на некоторые остающиеся закрытыми функции движка игры Natural Selection 2. Но так как данные функции являются типовыми (например, работа с массивами, распределение памяти и т.п.), они легко могут быть реализованы самостоятельно.

  1. Главная ссылка к новости (http://www.gamingonlinux.com/a...)
  2. OpenNews: Компания Valve открыла код ToGL, прослойки для трансляции Direct3D в OpenGL
  3. OpenNews: Студия Unknown Worlds открыла код игры Natural Selection
Лицензия: CC BY 3.0
Короткая ссылка: https://opennet.ru/39433-hlsl
Ключевые слова: hlsl, glsl, opengl, direct3d
При перепечатке указание ссылки на opennet.ru обязательно


Обсуждение (49) Ajax | 1 уровень | Линейный | +/- | Раскрыть всё | RSS
  • 1.1, A.Stahl (ok), 23:59, 28/03/2014 [ответить] [﹢﹢﹢] [ · · · ]  
  • +4 +/
    Неполные огрызки кода для перевода вызовов какой-то дурацкой непортируемой библиотеки в OpenGL?
    А зачем? Ах, да -- для того, чтобы поощрять микрософт-фанов писать под директХ и кормить остальных криво оттранслированным автоматическим трешем в OpenGL.
    Нет, спасибо.
    Я, пожалуй, пройду мимо.
     
     
  • 2.2, Отражение луны (ok), 00:02, 29/03/2014 [^] [^^] [^^^] [ответить]  
  • +4 +/
    Вам же ответили заранее - для портирования игр.
     
     
  • 3.3, A.Stahl (ok), 00:07, 29/03/2014 [^] [^^] [^^^] [ответить]  
  • +8 +/
    Ну я не стал бы называть это портированием.
    Это как засунуть программу в один пакет с вайном и сказать, что "Программа портирована. Идите жрать."
    Для бюрократической галочки покатит, но в общем и целом решение нежизнеспособно и влечёт за собой множество проблем при эксплуатации.
     
     
  • 4.34, Аноним (-), 19:17, 29/03/2014 [^] [^^] [^^^] [ответить]  
  • +/
    > Это как засунуть программу в один пакет с вайном и сказать, что "Программа портирована. Идите жрать."

    Нет. Это как транслировать шейдеры с HLSL в GLSL перед релизом и поставлять полученные GLSL шейдеры с GL-версией игры. Хотя если кому-то очень хочется отдельно поддерживать два комплекта шейдеров чтобы фиксить каждый баг в двух местах и добавлять каждую новую возможность также в двух местах на двух разных языках, то можно использовать транслятор с HLSL один раз в самом начале, просто чтобы сэкономить время, а дальше пилить два набора шейдеров на GLSL и HLSL вручную.

    В любом случае никто не заставляет разработчиков выполнять трансляцию шейдеров в процессе работы игры, как это делает вайн.

     
  • 3.6, anonymus (?), 00:45, 29/03/2014 [^] [^^] [^^^] [ответить]  
  • –2 +/
    А чем вас не устраивает встроенная в вайн библиотека для трансляции? Зачем непонятный проприетарный огрызок, когда есть давно зарекомендовавшая себя открытая система?
     
     
  • 4.40, Аноним (-), 15:47, 30/03/2014 [^] [^^] [^^^] [ответить]  
  • +2 +/
    > А чем вас не устраивает встроенная в вайн библиотека для трансляции?

    Встроенная в "вайн" библиотека не устраивает тем, что не устраивает сам "вайн", какие бы библиотеки в него не входили.

    Другой вопрос, если имеется какой-то способ использовать какие-то полезные библиотеки из вайн, абсолютно независимо от самого "вайн", и чтобы эти библиотеки были бы 64-разрядными, вот только после этого имеет смысл начать рассматривать вопрос, чем могла бы устроить та или иная библиотека из "вайн".

     

  • 1.7, EuPhobos (ok), 00:50, 29/03/2014 [ответить] [﹢﹢﹢] [ · · · ]  
  • +1 +/
    Ага, я пытался эту игру загрузить пару раз, она грузится минут эдак по 10-15, на железе AMD FX 8150 + GeForce GTX 670.
    Грузится-грузится и падает, но иногда всё же можно поиграть! Если терпения хватит дождаться загрузки, или если не упадёт.
    Отличный порт! Для проверки нервов и весёлой траты времени.
     
     
  • 2.13, Lain_13 (ok), 04:47, 29/03/2014 [^] [^^] [^^^] [ответить]  
  • +1 +/
    А дело точно в том, что это порт? Или оно такое от рождения и на всех платформах?
     
     
  • 3.17, EuPhobos (ok), 09:09, 29/03/2014 [^] [^^] [^^^] [ответить]  
  • +/
    > А дело точно в том, что это порт? Или оно такое от рождения и на всех платформах?

    Об этом я не задумывался, нет возможности проверить на других платформах. Но есть в стиме ещё одна игра Deadfall Adventures, в который прямиком написано "Баги бета версии: Из-за портирования долгие загрузки", и реально загрузка уровня с надписью "Компиляем шейдеры" длится просто вечно, но в отличие от топика, игра загружается и играется.

     
  • 2.18, Аноним (-), 09:35, 29/03/2014 [^] [^^] [^^^] [ответить]  
  • +/
    Решил записать видео, чтобы показать что ты не прав. Но ты оказался прав, вот видео: http://yadi.sk/d/N4qx5GueLQ9AK 135 Мб, 17 минут, специально не стал вырезать загрузку уровней (чтобы можно было самому посчитать сколько времени она занимает) и вылеты.
     
     
  • 3.21, EuPhobos (ok), 11:13, 29/03/2014 [^] [^^] [^^^] [ответить]  
  • +1 +/
    > Решил записать видео, чтобы показать что ты не прав. Но ты оказался прав, вот видео: http://yadi.sk/d/N4qx5GueLQ9AK 135 Мб, 17 минут, специально не стал вырезать загрузку уровней (чтобы можно было самому посчитать сколько времени она занимает) и вылеты.

    0:15 Палево, zenitur, или залогинься ))

    А вообще я наоборот записываю видео удачных игр под линукс и со стима и вообще, но особо глючные пропускаю. http://www.youtube.com/user/EuPhobos/videos?flow=grid&view=0
    Да и вообще уже хочется создать рейтинг самых неудачных игр (в плане поддержки разработчиками).
    Как минимум на первых местах будут Metro Last Light и Natural Selection 2

     
     
  • 4.29, Аноним (-), 16:43, 29/03/2014 [^] [^^] [^^^] [ответить]  
  • +/
    Перезагрузил компьютер, установил драйвер NVIDIA версии 319.xx, выключил Compiz, не включал запись видео. Не работает. Значит причина не в чём-то из этого, а в очередном обновлении игры. Несколько месяцев назад всё работало отлично.
     
  • 4.31, anonymous (??), 17:17, 29/03/2014 [^] [^^] [^^^] [ответить]  
  • +/
    >Metro Last Light

    У меня работала прекрасно. Было пару багов, но чисто игрового характера. Подозреваю, что у Вас не nVidia.

     
     
  • 5.32, anonymous (??), 17:24, 29/03/2014 [^] [^^] [^^^] [ответить]  
  • +/
    >nVidia

    Упс, невнимательно прочитал Ваш комментарий. Но таки должен отметить, что у меня игра работала прекрасно.

     
  • 2.24, petyanamlt (ok), 11:51, 29/03/2014 [^] [^^] [^^^] [ответить]  
  • +/
    У меня 8350 и тоже 670
    Грузится быстро, работает без глюков.
    Но игра гавно.
     
  • 2.41, Взьызалебжч (?), 21:15, 30/03/2014 [^] [^^] [^^^] [ответить]  
  • +/
    Эта игра даже под виндой долго грузит карту, так как кеширует все модели текстуры и звуки, но не дольше 3 минут, кстати opengl версия движка зависает при старте в этой винде.
     

  • 1.8, Pelican (?), 00:50, 29/03/2014 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Этим транслятором должен заниматься Khronos Group
     
     
  • 2.9, A.Stahl (ok), 00:54, 29/03/2014 [^] [^^] [^^^] [ответить]  
  • +2 +/
    Скорее микрософт. Какое отношение кронос имеет к директХ?
     
     
  • 3.11, Pelican (?), 03:30, 29/03/2014 [^] [^^] [^^^] [ответить]  
  • +/
    > Скорее микрософт. Какое отношение кронос имеет к директХ?

    Для миграции некрофилов (разработчиков игр) на OpenGL стек

     
     
  • 4.15, arisu (ok), 06:29, 29/03/2014 [^] [^^] [^^^] [ответить]  
  • +/
    >> Скорее микрософт. Какое отношение кронос имеет к директХ?
    > Для миграции некрофилов (разработчиков игр) на OpenGL стек

    а зачем? нравится им на подыхающей винде — на здоровье. и без них шлака достаточно.

     
     
  • 5.22, Аноним (-), 11:31, 29/03/2014 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Арису как всегда работает на большинство. Как ему приятно, когда другие поддерживают его, хвалят, плюсуют, комментируют его, считают, что он чего-то да стоит, и в конце-концов, просто обращают на него внимание.
    Но через 5 лет, Арису повзрослеет, и ему в голову придёт замечательнейшая и откровеннейшая вещь, что жизнь-то у него одна, а он уже половину её спустил в унитаз, тролля, флудя, флеймя и холиваря.
    Интересно, чем же он займётся потом?
     
     
  • 6.23, arisu (ok), 11:40, 29/03/2014 [^] [^^] [^^^] [ответить]  
  • +/
    какая чудесная проекция.
     
  • 6.25, Аноним (-), 12:24, 29/03/2014 [^] [^^] [^^^] [ответить]  
  • +/
    а вдруг не повзрослеет?
     
  • 6.27, Аноним (-), 13:18, 29/03/2014 [^] [^^] [^^^] [ответить]  
  • +2 +/
    Ну а ты, написав свой коммент, считаешь, что не троллишь, не флудишь, не флеймишь и не спускаешь свою жизнь в унитаз?
     
     
  • 7.39, Аноним (-), 11:49, 30/03/2014 [^] [^^] [^^^] [ответить]  
  • –2 +/
    А ты, написав свой?
     
  • 5.48, Пиу (ok), 14:33, 31/03/2014 [^] [^^] [^^^] [ответить]  
  • –1 +/
    >подыхающей винде

    "подыхающая винда" всё еще топовая игровая платформа, и отрицать это непростительно

     
     
  • 6.53, Аноним (-), 19:22, 01/04/2014 [^] [^^] [^^^] [ответить]  
  • +/
    уже давно она является третьестепенной платформой, игры были бы восхитительны, если разрабатывались лишь с оглядкой на неё.
     
  • 3.14, Lain_13 (ok), 04:50, 29/03/2014 [^] [^^] [^^^] [ответить]  
  • +/
    Вот как-раз Некрософт было бы очень радо закопать все подобные трансляторы. Вот только облом. Скоро уже DirectX будет впору закапывать. Потеряли WinAPI — пришла пора терять и DirectX.
     
     
  • 4.44, клоун Стаканчик (?), 23:09, 30/03/2014 [^] [^^] [^^^] [ответить]  
  • –3 +/
    Дай мне Путин прожить столько, сколько Windows будет доминировать в мире...
     
     
  • 5.45, Lain_13_too_lazy_to_login (?), 02:33, 31/03/2014 [^] [^^] [^^^] [ответить]  
  • +2 +/
    Если учитывать смартфоны, то ты уже кагбэ того.
     
     
  • 6.49, Пиу (ok), 14:35, 31/03/2014 [^] [^^] [^^^] [ответить]  
  • –1 +/
    > Если учитывать смартфоны, то ты уже кагбэ того.

    а если учесть xbox?

     

  • 1.12, Аноним (-), 04:09, 29/03/2014 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Зачем в открытой ОС, поддержка проприетарщины MS? Наверное MS давно не троллили патентами DX-а никого. Что ж, они, ясное дело, наверстают упущенное.
     
     
  • 2.16, Отражение луны (ok), 07:37, 29/03/2014 [^] [^^] [^^^] [ответить]  
  • +/
    Вы вообще понимаете разницу между транслятором кода и "поддержкой проприетарщины МС"?
     

  • 1.19, Аноним (19), 09:54, 29/03/2014 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    один фиг ничего нормального на линуксе не будет. количество индишлака и треша, может быть и возрастёт немного.
     
  • 1.20, svsd_val (ok), 10:48, 29/03/2014 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Очередной трэш, что от Valve что от этой фирмы
    Использование трансляторов из D3D -> OpenGL - не может называться нативным.
    Уже об этом говорили и ни одну сотню раз.
    Как уже говорилось с тем же успехом можно выпускать пакет с игрой в котором будет сидеть вино или досбокс или иные эмуляторы, суть от этого не изменится.

    В конечном итоге это будет геморой связанный супер неглючностью и супер производительностью, примеров такого говна в сети по самое не хочу...

     
     
  • 2.26, llolik (ok), 12:51, 29/03/2014 [^] [^^] [^^^] [ответить]  
  • +1 +/
    >Использование трансляторов из D3D -> OpenGL - не может называться нативным.

    Почему?

    ИМХО, никто и не предлагал использовать эти штуки для разработки новых игр. А относительно легко/дёшево портировать D3D-only и получить какие-никакие, но всё же деньги, почему бы нет. В итоге геймдевы с наваром, пользователи с игрой.

     
     
  • 3.28, Аноним (19), 16:17, 29/03/2014 [^] [^^] [^^^] [ответить]  
  • +1 +/
    относительно легко/дёшево портировать-это всегда значит, что кое как. мало того, что нынче и оригиналы качеством не блещут, так после такого скоростного порта выйдет вообще полное убожество. ну и по правильному это всё называется, срубить бабло наскоро, и пофигу что потом все плеваться будут.    
     
  • 2.30, SubGun (ok), 17:10, 29/03/2014 [^] [^^] [^^^] [ответить]  
  • +/
    Ты даже не смог осилить назначение данного транслятора, но сразу бросился писать комментарий. Я в шоке.
     
     
  • 3.47, svsd_val (ok), 13:45, 31/03/2014 [^] [^^] [^^^] [ответить]  
  • +/
    > Ты даже не смог осилить назначение данного транслятора, но сразу бросился писать
    > комментарий. Я в шоке.

    Извините, но я то как раз таки смог и потому высказал своё имхо что такое "добро" даже даром не нужно.
    А что касается вас - не уверен.

     
  • 2.33, anonymous (??), 18:11, 29/03/2014 [^] [^^] [^^^] [ответить]  
  • +/
    Использование С-функций для трансляции OpenGL->видеокарта не может быть нативным.
    Уже об этом говорили и ни одну сотню раз.
    С таким же успехом можно выпускать пакет с игрой, в котором будет сидеть виртуальная машина с виртуальной видеокартой, суть от этого не изменится.
     
     
  • 3.46, svsd_val (ok), 13:40, 31/03/2014 [^] [^^] [^^^] [ответить]  
  • +/
    Ага, я так вижу вы так уверены в своих словах что решили спрятаться под стул и что то от туда заявить...

    Тут идёт речь об эмуляции D3D средствами OpenGL, если хотите поговорить вылазите из под анонимуса, поговорим =)

     
     
  • 4.50, anonymous (??), 18:11, 31/03/2014 [^] [^^] [^^^] [ответить]  
  • +/
    Это не эмуляция (этот термин здесь совершенно неоправдан), это просто реализация API, пусть она и просто транслирует функции Direct3D в OpenGL. Вас ведь не смущает, что GTK работает поверх X11? Пишу из под anonymous, потому что не хочу регистрироваться, Ваш переход на личные оскорбления ("спрятаться под стул" не могу понимать иначе) считаю неуместным.
     
     
  • 5.52, svsd_val (ok), 13:52, 01/04/2014 [^] [^^] [^^^] [ответить]  
  • +/
    >>Вас ведь не смущает, что GTK работает поверх X11

    Нет не смущает, GTK и QT используют стандартные функции X11 для "красивого" отображения своих классов. QT сейчас стремится заюзать OpenGL, дабы отвязаться от стандартных форм.

    >>Это не эмуляция (этот термин здесь совершенно неоправдан)

    Это именно что эмуляция, тут нет прямого соответствия D3D -> OpenGL.
    Цитата с вики: http://ru.wikipedia.org/wiki/Эмуляция
    "Эмуля́ция (англ.  emulation) в вычислительной технике — комплекс программных, аппаратных средств или их сочетание, предназначенное для копирования (или эмулирования) функций одной вычислительной системы (гостя) на другой, отличной от первой, вычислительной системе (хосте) таким образом, чтобы эмулированное поведение как можно ближе соответствовало поведению оригинальной системы (гостя). Целью является максимально точное воспроизведение поведения в отличие от разных форм компьютерного моделирования, в которых имитируется поведение некоторой абстрактной модели."

    В результате того что они будут стремиться реализовать картинку в OpenGL равно такую же как в D3D, появятся различные несовместимости, баги и тормоза - Факт.

    >>Ваш переход на личные оскорбления ("спрятаться под стул" не могу понимать иначе) считаю неуместным.

    Я не могу считать анонимное заявление как заявление от человека понимающего свои слова и отвечающих за них. То есть отношусь к ним негативно. Однако извиняюсь за свои слова выше если оскорбил вас.

     

  • 1.36, DarkTorvald (?), 03:27, 30/03/2014 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Всё равно здесь DirectX круче opengl
     
     
  • 2.54, DarkXIV (?), 13:54, 21/08/2014 [^] [^^] [^^^] [ответить]  
  • +/
    Чем?
     

  • 1.37, Аноним (-), 07:55, 30/03/2014 [ответить] [﹢﹢﹢] [ · · · ]  
  • –1 +/
    http://biipi.ru/article/7047
    Европол, понимаешь, предупреждает об опасности, таящей в себе Windows XP, а эти неадекваты зачем-то подставляются под угрозу наезда по случаю нарушения патентов в лице Microsoft.
     
     
  • 2.38, anonymous (??), 10:06, 30/03/2014 [^] [^^] [^^^] [ответить]  
  • +/
    Это просто реализация API Direct3D поверх OpenGL. Какие могут быть патенты на API? Если патенты и могут откопать, то уже в самом OpenGL, с обёрткой или без уже неважно.
     
     
  • 3.42, Аноним (-), 22:28, 30/03/2014 [^] [^^] [^^^] [ответить]  
  • +/
    Не волнуйтесь, этот патентный тролль MS, ещё и не так умеет.
     
  • 3.51, Аноним (-), 13:32, 01/04/2014 [^] [^^] [^^^] [ответить]  
  • –1 +/
    если в их "цивилизованном" мире имеют место быть патенты на прямоугольники, то патенты на API тем более имеют право на существование
     

     Добавить комментарий
    Имя:
    E-Mail:
    Текст:



    Партнёры:
    PostgresPro
    Inferno Solutions
    Hosting by Hoster.ru
    Хостинг:

    Закладки на сайте
    Проследить за страницей
    Created 1996-2024 by Maxim Chirkov
    Добавить, Поддержать, Вебмастеру