Конференция "Игры" » OpenGL или DirectX
 
  • Sphinx © (11.04.06 14:42) [60]
    Ну и как обычно вопрос совершенно не корректен.

    DirectX = Direct3D (графика) + DirectInput (устройства вода) + DirectSound + DirectMusic (звук) + DirectPlay (сеть)
    OpenGL - только графика.

    То есть, корректно сравнивать лишь OpenGL vs Direct3D.

    А далее - кому что ближе.

    OpenGL - функциональный подход.
    Direct3D - COM или, грубо говоря, ООП.
    Возможности одинаковы.

    Все новинки появляются в OGL в виде расширений, в D3D - только когда выходит новая версия. Но при этом, расширение может и отсутствовать, а в D3D будет точно, хотя бы софтварная эмуляция, но вот срок реализации может отставать на довольно приличный период.
    Так как в основе D3D лежит COM - это гарантирует, что при установленной более поздней версии DX будут поддерживаться все старые интерфейсы, но вот как они реализованы - ни кого не волнует (d3d8.dll, d3d9.dll и т.д. которые поставляются в дистрибутивах DX).
    В OGL реализация целиком зависит от ICM (вроде так) драйвера. При чем каждый производитель клепает свои драйверы и свои расширения.

    Ну и главное, что при использовании OGL, даже теже Qx, DIII, и прочие игры, ввод с клавиатуры и мышки идет через DI, а звуков и музыки - DS+DM.

    Везде свои минусы и свои плюсы.
    Если бы что-то преобладало бы - вопроса D3D VS OGL не стояло бы.

    ИМХО и ни**ет...
  • megabyte-ceercop © (13.04.06 07:53) [61]
    Привет всем:)

    Я пишу на BCB + DX3D
    Там все круто получается.

    С OGL знаком только на уровне стандартного примера из BCB. Разговоры о том что у каждой видяхи свои расширения, и под каждую нужно писать свою реализацию эффектов 8-\ отбивают все желание связываться с OGL.
    Такой гемор не для меня.

    D3D - мой выбор. :)

    Тут можно посмотреть что я делаю. Чистый D3D.
    http://www.dtf.ru/project/gallery.php?id=447
  • Avgousto (13.04.06 09:44) [62]
    Тоже хочу ответить. Я считаю себя любителем(можно сказать ламо) в создании игр. Поэтому в таких вопросах предпочитаю полагаться на профессионалов. Таким профессианолом считаю А. Ла Мота (единственный фундаментальный труд на русском языке по созданию игр, который я видал). Так он конечно советует DirectX. А в последней (а может уже и нет) книге  идет разбор вообще как создавть 3D игры без всяких там OpenGL и Direct3D... Вот это вообще класс! (Короче бросил я свою любимую дельфу и заботанился в MSVC++ под влиянием этой книги)
  • Cash © (13.04.06 11:07) [63]
    Avgousto   (13.04.06 09:44) [62]:
    Respect men!
    Но делфю забывать не стоит! Она тоже может пригодиться!
  • XProger © (13.04.06 18:14) [64]
    megabyte-ceercop, угадай, чем занимается OpenGL Architecture Review Board?
  • OSokin © (13.04.06 18:32) [65]
    О! Киркоп вернулся! Здарова!
    На мой взгляд, для создания 2D-игр и проч. лучше всего использовать GDI. Вам меня не переубедить :)
  • megabyte-ceercop © (14.04.06 09:39) [66]

    > XProger ©   (13.04.06 18:14) [64]
    > megabyte-ceercop, угадай, чем занимается OpenGL Architecture
    > Review Board?


    А че сразу я? ^_^

    Ну делаю они спецификацию OGL2.0 и чего? Там будет все по новому. И придется переучиваться (если там будет все по старому, то какой смысл называть это 2.0)?

    А вообще они ничего не делают для OGL а просто наблюдают как оно неконтроллируемо развивается и меняется...   Угадал? : )

    OSokin Здорова :)
  • XProger © (14.04.06 14:45) [67]
    megabyte-ceercop, это я "о том что у каждой видяхи свои расширения". Ты немного промахнулся с ответом...
    Тогда наводящий вопрос: что означает приставка GL_ARB_ у большинства расширений?
  • Pa5ha (15.04.06 18:31) [68]
    изучал д3д. Так вот, трахался трахался я с д3д, потом заглянул в ОпенГЛ и остался. ком модель сложна. Куда проще воткнуть пару процедур. + ком модель скорости не прибавляет. Да и возникли у меня проблемы с этим дх. Долго парился не мог буферы нормально заюзать. фпс с ними падал ниже плинтуса. Например не мог изменить размер девайса/интерфейса или как его там (короче куда сцена рендерилась. при ресайзе она растягивалась) при изменении размеров окна. Эти и прочие прелести заставили перейти на ОпенГЛ. Об этом не жалею.

    А арб рулят :) Пока хватает. Все равно до многих графических фичь, которые придется писать под карты разных производителей ещё расти и расти :)
  • Sphinx © (15.04.06 21:06) [69]
    2 Pa5ha   (15.04.06 18:31) [68]
    > ком модель сложна. Куда проще воткнуть пару процедур.
    Тогда и ООП сложно - пишем без классов лишь функциональным программированием...
    > + ком модель скорости не прибавляет.
    Но и не убавляет =)
    > Долго парился не мог буферы нормально заюзать.
    Это проблемы DX ??? У меня все ОК.
    > не мог изменить размер девайса/интерфейса или как его там
    > (короче куда сцена рендерилась. при ресайзе она растягивалась)
    > при изменении размеров окна.

    Ну что я могу сказать - кривые руки =)

    З.Ы. без обид, но все перечисленные "недостатки" от незнания ;)
  • NailMan © (15.04.06 21:27) [70]
    [69] Sphinx ©
    Подпишусь под всеми словами.

    ---
    P.L.U.R. and WBR, NailMan aka 2:5020/3337.13
  • Cash © (15.04.06 21:34) [71]
    Sphinx ©   (15.04.06 21:06) [69]:
    Баян, но тоже подпишусь.
  • Pa5ha (15.04.06 22:15) [72]
    просто мои кривые руки не заточены под дх =) Я тада был ещё зеленый и мне легче дался опенГЛ.
  • Cash © (15.04.06 22:49) [73]
    Кстати, тут кто то  говорил про игры на OpenGL. Ей богу не играл ни в одну
    и не жалею. Играл в SWKOTOR(1,2), обе на опене, обе хороши только по
    сюжету, графика в бобруйск. Никчемнейши тормазящий видеовывод! А кто
    там говорил про производительность?
    А вот 100% могу сказать, есть вещи, круче которых может быть только
    реальность (как бы она сурова ни была). Это Earth 2160, Parkan II, Half Life 2.
    И сделаны они на DirectX!!!
    А из старых? Unreal (...), Rune, NFS (старенькие), игр на DirectX куда больше
    чем на OpenGL. Этот факт может говорить в пользу аэргономичности и
    производительности системы интерфейсов?
  • Pa5ha (15.04.06 22:54) [74]
    Сначала тоже яро защищал ДХ, но потом попробовал ОпенГЛ. Информации в нете  имхо(!) явно больше по ОпенГЛ, исходники работают так как надо и не надо что-то рыть, чтоб заставить что-то работать. Исходники под ОпенГЛ компилятся без всяких левых заголовочников, а то чтоб скомпилить примеры постоянно приходится что-то прописывать. Для организации некоторых фич нужны библиотеки d3dx9 или что-то в этом роде dll. В универе скоро будут преподавать ОпенГЛ. Для перехода к следующей версии нужно все циферки исправть во всех описаниях в дх. А как насчет вывода текста? В ОпенГЛ восемь процедур вызвал и буковка нарисовалась. В дх надо лочить буфер, заполнять его данными, разлочивать. Вощем все делать через буфера. Это же ужоснах. Чтоб оси нарисовать, чтоб какую-нить прочую шляпу вывести.
    Это так, поверхностно. Об удобстве разработки.
    Опять же имхо, дх - тот же ОпенГЛ, только в красивой обертке. В ОпенГЛ все явно. В дх все в ооп спрятано.

    Вощем, нравится мне ОпенГЛ и все тут =) Вера не позволяет дх юзать. Хотя изучать его буду. На всякий пожарный.

    Ну дак может кто-то поведает как изменять размеры (width, height) области вывода д3д быстро, без большого гимора, как в ОпенГЛ?
  • XProger © (15.04.06 23:55) [75]
    Cash, если ты не играл в игры из нижеперечисленного списка - мне тебя очень жаль...

    Quake 1, Quake 2, Quake 3, Quake 4
    Doom Legacy, Doom 3
    Jedi Knight: Jedi Academy
    Ил-2 Штурмовик
    Call Of Duty
    Medal of Honor
    Unreal, UT, UT 2003, UT 2004
    Half-Life (и все её модификации)
    Heavy Metal: F.A.K.K. 2
    Hitman 1-2 части
    Oni
    Soldier Of Fortune
    Serious Sam
    Homeworld
    Return To Castle wolfenstein
    Sin
    Alone In The Dark 4
    и др.

    Много - не значит хорошо... ;)
  • Sphinx © (16.04.06 08:31) [76]
    2 Pa5ha   (15.04.06 22:54) [74]
    > Для организации некоторых фич нужны библиотеки d3dx9 или
    > что-то в этом роде dll.

    А ты не пользуйся теми фичами...или реализуй их самостоятельно - в чем проблема ? =)
    > А как насчет вывода текста? В ОпенГЛ восемь процедур вызвал
    > и буковка нарисовалась.

    ужОс =0 целых восемь процедур ради одной буковки =0
    Мне надо команды четыре примерно, что бы вывести фразу...ну это или с применением D3DX, или с собственной заморочкой (без D3DX) но руки довести её до ума не дошли :Р
    > Вощем все делать через буфера. Это же ужоснах.
    Зато полный контроль над самыми низкоуровневыми командами...
    З.Ы.
    > Ну дак может кто-то поведает как изменять размеры (width,
    >  height) области вывода д3д быстро, без большого гимора,
    >  как в ОпенГЛ?

    Ну наверно матрицей проекции, слышал о такой ? =)
  • Sphinx © (16.04.06 08:34) [77]
    А...еще добавлю про область ввода...
    Есть такая фишка - View Port называется, ето когда на поверхность окна размером, скажем 600х400 можно выводить два изображения - например 300х400 =)
  • Cash © (16.04.06 09:00) [78]
    XProger ©   (15.04.06 23:55) [75]:
    - SOF (1,2) - играл, задница полная, никакой графики, только глюки.
    - HomeWorld (???) - она что на опене, неверю! И к тому же HomeWorld 2 сделана на директе, и как сделана!
    - Call Of Duty, Medal of Honor - это, на мой взгляд, единственные опеновские игрухи, про которые скажу: "COOL!"!
    - Return To Castle wolfenstein - никогда не поверю, что она на опене.

    А в остальные не играл! И мне не жалко, я моло чего потерял! (это только мое мнение, или еще кто так думает?)

    Pa5ha   (15.04.06 22:54) [74]:
    > А как насчет вывода текста? В ОпенГЛ восемь процедур вызвал
    > В дх надо лочить буфер, заполнять его данными

    What a F**k! Lamer! There is Font interface already present in DirectX SDK.
    Try to find it!
    Use variable of it interface, push CreateFont to create some font you need and
    that is all! 8 procedures? S***x!

    Sphinx ©   (16.04.06 08:31) [76]:
    > Ну наверно матрицей проекции, слышал о такой
    Чел не то имел ввиду.

    Там надо отключить девайс, взять у него структуру со свойствами
    (у него метод есть), изменить свойства разрешения экрана,
    записать их туда (тоже есть метод), сказать девайсу перезапуститься.

    И все! :Р
  • MeF Dei Corvi © (16.04.06 10:01) [79]

    > никакой графики

    Вообще, чисто теоритически вся графика(в том числе и скорость вывода) зависит только от видеокарты. От использования Direct3D графика не улучшится и выводиться быстрее не станет. Качество графики в игре и тормоза зависят напрямую от рук программиста. Выбор между OpenGL и Direct3D - дело вкуса. Всё, что можно сделать на OGL можно сделать и на D3D с тем же качеством и скоростью работы, так что кончайте разводить холивар.

    P.S.
    > Играл в SWKOTOR(1,2), обе на опене, обе хороши только по
    > сюжету, графика в бобруйск

    Это, наверное, потому, что они на С++ написаны ;) Вот писались бы на Delphi!!!
 
Конференция "Игры" » OpenGL или DirectX
Есть новые Нет новых   [134431   +10][b:0.001][p:0.001]