LINUX.ORG.RU

Valve опубликовала исходные коды транслятора из Direct3D в OpenGL

 , ,


1

3

Сегодня Valve Software опубликовала на github исходные коды компонента собственной разработки ToGL.

ToGL используется для трансляции из Direct3D и OpenGL. Поддерживается ограниченное подмножество Direct3D 9.0c, есть транслятор байткода HLSL в GLSL, а также базовая поддержка SM3.

Исходники напрямую скопированы из основного дерева Dota 2 и представляют актуальную версию, которая используется движком игры. Код опубликован на условиях, по сути, если не по тексту, соответствующих 2-clause BSD. Компания Valve предлагает всем заинтересованным использовать компонент в своих проектах и отправлять наработки в апстрим.

Предполагаю, что этот же компонент трансляции используется и в прочих играх Valve, построенных на базе Source Engine. Код сейчас никак не поддерживается и реализует только то, что было необходимо для работы Source.

>>> Подробности

★★★★★

Проверено: Shaman007 ()
Последнее исправление: Shaman007 (всего исправлений: 1)

Нужно. Те, кто гоорят, что не нужно, есть вайн, путают теплое с мягким. Вы серьезно предлагаете при портировании игры на opengl линковать ее с вайном?

eternal_sorrow ★★★★★
()
Ответ на: комментарий от val-amart

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

ну вот я и говорю.

посмотри на какой вопрос я отвечаю

x4DA ★★★★★
()
Ответ на: комментарий от x4DA

я рекомендую читать всю нить дискуссии, а не только последний пост, а то так многое можно наотвечать, вне контекста.

val-amart ★★★★★
() автор топика
Ответ на: комментарий от val-amart

закрытых.

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

у интела вроде как дела неплохо. современные железки вполне могут тягаться с low-end решениями от невидии, да и человек 30 вроде у них занимаются линуксовой графикой.

x4DA ★★★★★
()
Ответ на: комментарий от ubuntuawp

Battlefield 3/4 как там? Titanfall? Thief? Mortal Kombat? Assassin's Creed 4? Liberation HD?

кроме mortal combat ни об одной не слышал. А mortal combat да, тащит. Сам играл. А вообще сходи на AppDB в раздел games.

dikiy ★★☆☆☆
()

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

ivanlex ★★★★★
()

Очень хорошая новость. Возрадуемся господа.

Michail_Ul ★★
()
Ответ на: комментарий от reprimand

«Нечего на зеркало пенять...»
Твоя проблема 250ка, сэкономил 10 баксов, поимел проблем, плавал - знаю, у самого была. Охлаждение говно, жужит ка пылесос «вихрь», это излечимо и перегрев перестает обваливать фпс, а вот с порезанной шиной и тормозным конвейером ты уже ничего не сделаешь. И вины реализации огл или транслятора директа тут нет, под виндой все тоже самое, только драйвер нвидии чуть раньше сбрасывает частоту, потому перегрев видно только на бенчмарках типа фруита.
доту2 гонял под онтопик и офтопик и в вайне, по фпс разницы не увидел, под вайн артефакты в шейдерах. сейчас натив бегает и не парится, да и видяху сменил, задолбал карлсон буйный

anonymous
()
Ответ на: комментарий от devl547

Илитка балаболит! Иди дальше конпеляй пакеты, слушай эпичную говномузыку и играй в SuperTux/SuperTuxRacer, ибо твой калькулятор большего не тянет

ubuntuawp ★★
()
Ответ на: комментарий от Bagrov

Форк? А потом пердолиться с пакетами в Debian/SuSe/Mageia/e.t.c

ubuntuawp ★★
()

Все, скоро крузис 4 и халф-лайф3 на линуксе выйдет - ну вот точно.

ZUKMAN
()
Ответ на: комментарий от ZUKMAN

Глянул я исходники, сомневаюсь что даже минорщина будет.

Dron ★★★★★
()
Ответ на: комментарий от Programmist11180

у Blizzard ихний лаунчер тоже на Qt.

Чистейшая правда.

ZUKMAN
()
Ответ на: комментарий от ubuntuawp

тупо костыли на костыле

Это не проблемы wine, - это winapi весь такой: баг, на баге, недокументированным багом погоняет. Просто Гейб это все в кучку собрал, говна почистил и в продакшен (Source-игры) У Гейбушки только DirectX.

ZUKMAN
()
Ответ на: комментарий от I-Love-Microsoft

Очень, а местами невозможен. DX9 и DX10+ это сильно разные вещи.

ranka-lee
()
Ответ на: комментарий от ZUKMAN

тут надо думать головой, сори, не знаю чем тебе помочь в эту трудную минуту

может намекнуть тебе почему тут нет проблемы в случае с winelib?

I-Love-Microsoft ★★★★★
()
Последнее исправление: I-Love-Microsoft (всего исправлений: 1)
Ответ на: комментарий от ZUKMAN

Ну я и о том же
Вот пускай запилят ToGL
И секаса меньше, и развитие лучше пойдет
А там и в ReactOS впилят

ubuntuawp ★★
()
Ответ на: комментарий от roman77

Если прогнать бенч unigine, то результаты будут не в пользу OpenGL.

обычная R9 280X
обычный Valley Benchmark 1.0

Win8 + OpenGL = 770 попугаев
Linux + OpenGL = 1600 попугаев

выходит не все OpenGL одинаково полезны

haku ★★★★★
()
Ответ на: комментарий от reprimand

Team Fortress 2 - первая игра на Source для Linux. Наверное поэтому и медленная. У меня создалось ощущение что программисты Valve учились писать для Linux с нуля, и начали с TF2. Почему я так считаю?

  • У меня как-то не хватало памяти системе на LiveCD, и все игры закрывались при загрузке уровня. И только TF2 выдал ошибку, один из всех.
  • Это единственная игра, которая пользуется Freetype для рисования букв в игре (кроме инди-игры Osmos). Из-за этого квадратики вместо русских букв на не-Ubuntu, на малых разрешениях экрана текст на экране нечитабельный, и на игровых картах надписи на табличках не влезают в них (Portal 2, мультиплеер, надписи над камерами).
  • Это единственная игра, которую нужно запускать с «LC_ALL=en_US.UTF-8 steam», иначе не работает.
  • А если в системе не PulseAudio, то «LC_ALL=en_US.UTF-8 SDL_AUDIODRIVER=alsa steam»

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

> В первую очередь, я бы выпилил SDL и забыл о нем как о страшном сне. Ну а там уже половина issues-ов решились бы самостоятельно.

Я так не думаю. Я знаю ровно две игры для Linux, которые не используют SDL. Это Oil Rush и Gear Up. 99% игр используют SDL, и тем не менее выдают один в один одинаковый FPS с Windows-версиями.

ZenitharChampion ★★★★★
()
Последнее исправление: ZenitharChampion (всего исправлений: 1)
Ответ на: комментарий от ZenitharChampion

> У меня создалось ощущение что программисты Valve учились писать для Linux с нуля, и начали с TF2.

А ко всему остальному придраться не к чему. Клиент Steam и Steam Overlay просто шикарны. Работают как часы.

ZenitharChampion ★★★★★
()
Ответ на: комментарий от ZenitharChampion

Если честно не охота разбираться, по опыту знаю что нутро виндовс это АД.

haku ★★★★★
()
Ответ на: комментарий от ubuntuawp

Ну хотя бы о Thief, недавно срач был на лоре, что в говно скатилось
А так это сейчас самые популярные игры на PC

Ну глянь тогда в appDB, тащит ли их вайн. Вполне вероятно, что да.

dikiy ★★☆☆☆
()
Ответ на: комментарий от Jetty

я знаю
я просто попросил глянуть что там: открой просмотр любой игры и тогда открой топ.

reprimand ★★★★★
()
Ответ на: комментарий от ZenitharChampion

Спасибо за подробную информацию!
но с SDL тут вопрос сложный
в каждом случае его применение следует рассматривать отдельно, однако я считаю, что пряморукий разработчик с использованием низкоуровневых функций/... получит только то, что нужно в его коде => прирост производительности.

reprimand ★★★★★
()
Ответ на: комментарий от devl547

Вот только народ на винде принудительно эту приблуду отключает, а то FPS сажает.

В винде она по умолчанию выключена. Сажает или нет очень сильно зависит от конкретной игры.

anonymous
()
Ответ на: комментарий от Jetty

сглаживание тоже отключаю. Да блин, там что регулируй что не регулируй внутриигровые настройки - в процентном соотношении результат тот же.

reprimand ★★★★★
()
Ответ на: комментарий от anonymous

спасибо за информацию!
Железо изначально покупал не я, поэтому экономить или нет уже нет смысла решать. Охлаждение менял. Видеокарта сама по себе проблемная, это тоже я знаю. Тут проблему низкого fps вообще трудно отследить. Попробую поставить переменную, указанную в теме выше, мб поможет.

reprimand ★★★★★
()
Ответ на: комментарий от ZenitharChampion

У близзов был пост на форуме по порт на линукс году так в 2008-2009. Клиент рабочий у них, но в паблик выкатывать не захотели, сославшись на трудности поддержки под зоопарк дистрибутивов и слабые драйвера.

geks
()
Ответ на: комментарий от geks

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

anonymous
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.