-
Ну и как обычно вопрос совершенно не корректен.
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 не стояло бы.
ИМХО и ни**ет...
-
Привет всем:) Я пишу на BCB + DX3D Там все круто получается. С OGL знаком только на уровне стандартного примера из BCB. Разговоры о том что у каждой видяхи свои расширения, и под каждую нужно писать свою реализацию эффектов 8-\ отбивают все желание связываться с OGL. Такой гемор не для меня. D3D - мой выбор. :) Тут можно посмотреть что я делаю. Чистый D3D. http://www.dtf.ru/project/gallery.php?id=447
-
Тоже хочу ответить. Я считаю себя любителем(можно сказать ламо) в создании игр. Поэтому в таких вопросах предпочитаю полагаться на профессионалов. Таким профессианолом считаю А. Ла Мота (единственный фундаментальный труд на русском языке по созданию игр, который я видал). Так он конечно советует DirectX. А в последней (а может уже и нет) книге идет разбор вообще как создавть 3D игры без всяких там OpenGL и Direct3D... Вот это вообще класс! (Короче бросил я свою любимую дельфу и заботанился в MSVC++ под влиянием этой книги)
-
Avgousto (13.04.06 09:44) [62]: Respect men! Но делфю забывать не стоит! Она тоже может пригодиться!
-
megabyte-ceercop, угадай, чем занимается OpenGL Architecture Review Board?
-
О! Киркоп вернулся! Здарова! На мой взгляд, для создания 2D-игр и проч. лучше всего использовать GDI. Вам меня не переубедить :)
-
> XProger © (13.04.06 18:14) [64] > megabyte-ceercop, угадай, чем занимается OpenGL Architecture > Review Board?
А че сразу я? ^_^
Ну делаю они спецификацию OGL2.0 и чего? Там будет все по новому. И придется переучиваться (если там будет все по старому, то какой смысл называть это 2.0)?
А вообще они ничего не делают для OGL а просто наблюдают как оно неконтроллируемо развивается и меняется... Угадал? : )
OSokin Здорова :)
-
megabyte-ceercop, это я "о том что у каждой видяхи свои расширения". Ты немного промахнулся с ответом... Тогда наводящий вопрос: что означает приставка GL_ARB_ у большинства расширений?
-
изучал д3д. Так вот, трахался трахался я с д3д, потом заглянул в ОпенГЛ и остался. ком модель сложна. Куда проще воткнуть пару процедур. + ком модель скорости не прибавляет. Да и возникли у меня проблемы с этим дх. Долго парился не мог буферы нормально заюзать. фпс с ними падал ниже плинтуса. Например не мог изменить размер девайса/интерфейса или как его там (короче куда сцена рендерилась. при ресайзе она растягивалась) при изменении размеров окна. Эти и прочие прелести заставили перейти на ОпенГЛ. Об этом не жалею.
А арб рулят :) Пока хватает. Все равно до многих графических фичь, которые придется писать под карты разных производителей ещё расти и расти :)
-
2 Pa5ha (15.04.06 18:31) [68] > ком модель сложна. Куда проще воткнуть пару процедур. Тогда и ООП сложно - пишем без классов лишь функциональным программированием... > + ком модель скорости не прибавляет. Но и не убавляет =) > Долго парился не мог буферы нормально заюзать. Это проблемы DX ??? У меня все ОК. > не мог изменить размер девайса/интерфейса или как его там > (короче куда сцена рендерилась. при ресайзе она растягивалась) > при изменении размеров окна. Ну что я могу сказать - кривые руки =)
З.Ы. без обид, но все перечисленные "недостатки" от незнания ;)
-
[69] Sphinx © Подпишусь под всеми словами.
--- P.L.U.R. and WBR, NailMan aka 2:5020/3337.13
-
Sphinx © (15.04.06 21:06) [69]: Баян, но тоже подпишусь.
-
просто мои кривые руки не заточены под дх =) Я тада был ещё зеленый и мне легче дался опенГЛ.
-
Кстати, тут кто то говорил про игры на OpenGL. Ей богу не играл ни в одну и не жалею. Играл в SWKOTOR(1,2), обе на опене, обе хороши только по сюжету, графика в бобруйск. Никчемнейши тормазящий видеовывод! А кто там говорил про производительность? А вот 100% могу сказать, есть вещи, круче которых может быть только реальность (как бы она сурова ни была). Это Earth 2160, Parkan II, Half Life 2. И сделаны они на DirectX!!! А из старых? Unreal (...), Rune, NFS (старенькие), игр на DirectX куда больше чем на OpenGL. Этот факт может говорить в пользу аэргономичности и производительности системы интерфейсов?
-
Сначала тоже яро защищал ДХ, но потом попробовал ОпенГЛ. Информации в нете имхо(!) явно больше по ОпенГЛ, исходники работают так как надо и не надо что-то рыть, чтоб заставить что-то работать. Исходники под ОпенГЛ компилятся без всяких левых заголовочников, а то чтоб скомпилить примеры постоянно приходится что-то прописывать. Для организации некоторых фич нужны библиотеки d3dx9 или что-то в этом роде dll. В универе скоро будут преподавать ОпенГЛ. Для перехода к следующей версии нужно все циферки исправть во всех описаниях в дх. А как насчет вывода текста? В ОпенГЛ восемь процедур вызвал и буковка нарисовалась. В дх надо лочить буфер, заполнять его данными, разлочивать. Вощем все делать через буфера. Это же ужоснах. Чтоб оси нарисовать, чтоб какую-нить прочую шляпу вывести. Это так, поверхностно. Об удобстве разработки. Опять же имхо, дх - тот же ОпенГЛ, только в красивой обертке. В ОпенГЛ все явно. В дх все в ооп спрятано.
Вощем, нравится мне ОпенГЛ и все тут =) Вера не позволяет дх юзать. Хотя изучать его буду. На всякий пожарный.
Ну дак может кто-то поведает как изменять размеры (width, height) области вывода д3д быстро, без большого гимора, как в ОпенГЛ?
-
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 и др.
Много - не значит хорошо... ;)
-
2 Pa5ha (15.04.06 22:54) [74] > Для организации некоторых фич нужны библиотеки d3dx9 или > что-то в этом роде dll. А ты не пользуйся теми фичами...или реализуй их самостоятельно - в чем проблема ? =) > А как насчет вывода текста? В ОпенГЛ восемь процедур вызвал > и буковка нарисовалась. ужОс =0 целых восемь процедур ради одной буковки =0 Мне надо команды четыре примерно, что бы вывести фразу...ну это или с применением D3DX, или с собственной заморочкой (без D3DX) но руки довести её до ума не дошли :Р > Вощем все делать через буфера. Это же ужоснах. Зато полный контроль над самыми низкоуровневыми командами... З.Ы. > Ну дак может кто-то поведает как изменять размеры (width, > height) области вывода д3д быстро, без большого гимора, > как в ОпенГЛ? Ну наверно матрицей проекции, слышал о такой ? =)
-
А...еще добавлю про область ввода... Есть такая фишка - View Port называется, ето когда на поверхность окна размером, скажем 600х400 можно выводить два изображения - например 300х400 =)
-
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]: > Ну наверно матрицей проекции, слышал о такой Чел не то имел ввиду.
Там надо отключить девайс, взять у него структуру со свойствами (у него метод есть), изменить свойства разрешения экрана, записать их туда (тоже есть метод), сказать девайсу перезапуститься.
И все! :Р
-
> никакой графики
Вообще, чисто теоритически вся графика(в том числе и скорость вывода) зависит только от видеокарты. От использования Direct3D графика не улучшится и выводиться быстрее не станет. Качество графики в игре и тормоза зависят напрямую от рук программиста. Выбор между OpenGL и Direct3D - дело вкуса. Всё, что можно сделать на OGL можно сделать и на D3D с тем же качеством и скоростью работы, так что кончайте разводить холивар.
P.S. > Играл в SWKOTOR(1,2), обе на опене, обе хороши только по > сюжету, графика в бобруйск
Это, наверное, потому, что они на С++ написаны ;) Вот писались бы на Delphi!!!
|