LINUX.ORG.RU
ФорумTalks

Direct3D

 


1

1

Вот не понимаю, 2013-ый год на дворе, всякие планшеты-смартфоны на каждом шагу, линуксы-макоси начинают претендовать на роль игровых платформ, а игроделы всё продолжают использовать DirectX и конкретно Direct3D. Почему бы не перейти обратно на OpenGL? Ведь плюсы очевидны - не нужно писать рендер отдельно для Windows и отдельно для всех остальных, можно написать один код с некоторым количеством ifdef-ов, кода получится меньше - а значит, тестировать будет проще, следовательно, потенциально будет меньше ошибок.
Более того, почему гугль сделал транслятор из OpenGL в Direct3D? Неужели у OpenGL под вендой такие проблемы? Ни разу такого не замечал.


Ответ на: комментарий от quiet_readonly

Движки большинства из которых написаны на C++ и могут связывать код на языке с кодом на плюсах.

А С++ работает с сишной либой опенГЛ. Язык С — круче всех? Кто с кем связан и какие либы использует — абсолютно не играет роли в сравнении языков.

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

Т.е важно чтобы человек который его писал знает своё дело.

а теперь берем двух индусов, которые не знают ни dx, ни ogl, ни «трехмерную графику» и смотрим, кто из низ справится качественней и быстрее))

кстати да, большАя часть кода пишется просто копипастой из MSDN и соответствующих форумов. Когда я пытался по-быстрому за ночь наговнокодить тетрис на ogl, чуть мозг не сломал, откуда копипасту брать

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

Для маленьких проектов не пишут свои рендеры с ноля.
А для больших не нанимают индусов без зниний.

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

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

Кто с кем связан и какие либы использует — абсолютно не играет роли в сравнении языков.

Играет, C и C++ по сути дали жизнь более современным языкам. Чистота javascript своим появлением обязана отсутствию чёткой идеи и практичности C/C++. Так что заявления о чудовищности плюсов смешны - какой толк плеваться, если javascript пока что не может сам себя поддерживать, а pypy предъявляет слишком большие требования к памяти? Когда какой-нибудь язык с модулями научится выполнять задачи C/C++ лучше них, плюсовики первыми отрекутся, но пока что такого не наблюдается.

Тем не менее, для скриптинга в плюсовых программах давно уже используют javascript, lua, lisp или питон, а KDE сейчас переводят графику на QML.

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

А для больших не нанимают индусов без зниний.

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

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

Движки большинства из которых написаны на C++ и могут связывать код на языке с кодом на плюсах.

"Движки" у языков? Имелись в виду интерпретаторы байт-кода? Так я на интерпретируемые языки в принципе не смотрю. И как достоинства языка может умалить FFI?

Называть C++ чудовищем просто за то, что он не является очередным DSL с прокинутыми из движка YOBA функциями, как-то нелепо.

Я называю C++ отвратительным языком вовсе не по этому.

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

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

Честно, нигде кроме корейских проектов не видел большого количества говнокода.
Ну т.е в гемблинговой нише его куча, но ведь это вообще специфический бизнес.

Ну а лицензируемые движки обычно имеют очень высокое качество исходников.

winddos
()

Почему бы не перейти обратно на OpenGL?

Да откуда вы беретесь? Так получилось, что под виндой Direct3D драйвера + тулзы для отладки Direct3D программ намного качественнее, чем OpenGL «аналоги».

не нужно писать рендер отдельно для Windows и отдельно для всех остальных

Если пишут с ипользованием Direct3D, то с большой вероятностью это проект AAA класса (зачем другим свой движок городить?). AAA проекты - это обычно поддержка Windows, XBox 360, PS 3. С XBox 360 и так все понятно, на PS 3 никто на OpenGL не пишет.

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

DirectX используют потому, что он покрывает сразу все нужные потребности: звук, ввод и рендер.

Не потому. Из DirectX обычно используется только Direct3D. Если не используются хитрые джойстики, то ввод на WinAPI. Звук в большистве случаев - FMOD.

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

OpenGL дрова для винды кривее линуксовых

Читал как-то интервью с разрабами из нвидии, говорили, что у них процент платформонезависимого кода очень высок, точное число не вспомню, но больше 95%. Наверняка OpenGL входил в это число.

h31
() автор топика

Почему бы не перейти обратно на OpenGL?

hands from ass

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

Значит не умеют. Вон далеко не надо ходить. TF не с D3D шел со всеми сглаживаниями на максимальном для моего разрешения. А с OGL на максимальном только без всех сглаживаний был играбелен, иначе было заметно торможение. А на debian'е более того еще и пришлось дальность объектов на среднее поставить с OGL в отличии от винды. G210 если что.

anonymous_sama
()

Behem0th

Был разговор о том что интел хочет свой драйвер сертифицировать у Khronos Group с ОпенГЛ 3.0.

Так об том и речь.

Redrum

Так получилось, что под виндой Direct3D драйвера + тулзы для отладки Direct3D программ намного качественнее, чем OpenGL «аналоги».

Да неужели? И в чём же nVidia Nsight Eclipse Edition уступает nVidia Nsight Visual Studio Edition? Чем AMD CodeXL for Windows лучше AMD CodeXL for Linux?

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

Так ЕМНИП сертификация будет действовать только на драйвер интела и то в приделах одной версии. И Khronos Group в принципе пофиг что сертифицировать, они сертифицируют любую реализацию если она пройдет необходимое колличество тестов. Опять же ЕМНИП единственная поблажка для месы это возможность сертифицировать за бесплатно.

Behem0th
()

Почему бы не перейти обратно на OpenGL?

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

почему гугль сделал транслятор из OpenGL в Direct3D

valve сделал наоборот, и что?

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

Играл в KotOR 2 на драйверах NVidia со включенными эффектами. Увиденное меня не огорчило. ЧЯДНТ?

Вечер Петросянов на лоре:) Ты играл в игру с которой до тебя уже потрахались разработчики занимавшиеся портированием, к тому же им могло банально повезти.

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

Читал как-то интервью с разрабами из нвидии, говорили, что у них процент платформонезависимого кода очень высок, точное число не вспомню, но больше 95%. Наверняка OpenGL входил в это число.

OpenGL не единая функция которая либо идёт либо нет а набор из множества функций большая часть из которых в винде и вайне работает также как и в линуксе, то есть хорошо. Но с некоторыми функциями траблы: вызываешь их с нормальными параметрами и хана потоку. В лом ковыряться с отладчиком, выяснять в чём там дело если есть запасной рендер на директе.

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

Mesa

Мои возражения лишь насчет этого слова, не всю месу а лишь интел драйвер.

Behem0th
()

Потому что для D3D уже есть куча готовых библиотек/движков/программистов.

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