-
Вопрос часто задаваемый, но т.к. в пределе 10 листов я его не нашел, решил всетаки задать Копаясь по разным сайтам, я понял, что большинство програмистов предпочитает програмировать на OpenGL а не DirectX. Исходя из этого я решил узнать из достоверных источнико причины данного факта. По большей части вопрос задается тем, кто знает и OpenGL и DirectX, но возможно кто то заранее знал какойто сикрет выбирая OpenGL и может подилиться. Хотя может найдется ярый поклонник DirectX и убедит всех что они жестоко ошибались :)
-
1. Насколько я знаю, каждая новая версия DirectX пишется с нуля ( в разумных пределах, конечно), поэтому для написания на нем программ нужно выбрать для себя какую либо версию и писать в ней. В следуюшей же старые (устаревшие) методы могут попросту отсутствовать, что, конечно, увеличивает эффективность, но сильно усложнят жизнь. В OpenGL по-прежнему можно использовать доисторические процедуры. 2. Вожно: приложения, написанные на DirectX несколько некорреектно работают, например, под Unix. То есть, ты слушал о DirectX не для Windows ?!
P.S. Сам пишу на OpenGL.
-
> Rial
DX SDK с каждой новой версией просто добавляет новые процедуры в теже самые модули и все старые возможности остаются
> Вожно: приложения, написанные на DirectX несколько некорреектно > работают, например, под Unix. То есть, ты слушал о DirectX > не для Windows ?!
Насколько я знаю, библиотеки OpenGL поставляются вместе библиотеками DirectX(хотя могу ошибаться), (в смысле версия не для разработок DX SDK, а для установки) так что про про DX не для Win я действительно не слышал
-
О... Еще вопрос. Может кто програмировал на С++ с OpenGL или DirectX, пусть поделится своими впечатлениями
-
> Исходя из этого я > решил узнать из достоверных источнико причины данного факта. >
DirectX на шаг отстает.зачем использовать систему тех, чья работа НЕ связана с графикой(Microsoft,имею ввиду). Я лучше буду юзать либу тех, кто этим напрямую занят. К тому же OpenGL API природнился уже..))
-
> DX SDK с каждой новой версией просто добавляет новые процедуры > в теже > самые модули и все старые возможности остаются
Ага, особенно DirectDraw :)
Раз уже такая тема пошла, хотелось бы спросить узнающих людей, чем вообще, по сути, является Vertex Buffer в Direct3D и главное, почему его нет в OpenGL, где можно менять вершины и делать с ними что хочешь?
-
Уф... Товарищ KiberKot, загляни к себе форум по этому вопросу. Rial © (08.04.06 01:40) [1]: > каждая новая версия DirectX пишется с нуля Извини брателло, это ламерство! Скажи, а как же у меня идут игружи с DirectX 8.1 или 9.0b, если у меня стоит DirectX 9.0c? И, как же я извращаюсь с DirectX 8.1 на Delphi и в то же время с DirectX 9.0c на VC++? Не, KiberKot прав, что выбрал DirectX как основу своей деятельности. Я пишу на DirectX, но знаю и OpenGL. Скажу честно, DirectX куда более приспособлен к мастодаю чем OpenGL! А все рюшечки с кросплатформенностью обламываются на стадии переноса рабочего кода! grisme © (08.04.06 05:46) [4]: А будет ли в OpenGL под Vista то, что будет во власти DirectX 9.0L? Я уж не говорю о DirectX 10. ----------------------------------------------------------------------------- OpenGL - это всетаки графическа библиотека, а DirectX - средство разработки мультимедийных программ! По правде вопрос стоит так: "SDK или графическая библиотека, что лучше?"
-
-
> VolanD666
> Ага, особенно DirectDraw :)
ну вобщем и DirectDraw тоже, вот первые строки библиотеки // DIRECTDRAW_VERSION_7 : DIRECTDRAW_VERSION = 0x0700, // DIRECTDRAW_VERSION_6 : DIRECTDRAW_VERSION = 0x0600, // DIRECTDRAW_VERSION_5 : DIRECTDRAW_VERSION = 0x0500, // DIRECTDRAW_VERSION_3 : DIRECTDRAW_VERSION = 0x0300, // DIRECTDRAW_VERSION_LESS_3 : DIRECTDRAW_VERSION < 0x0300,
> Cash ©
Но если я прав, то почему большенство пишет на OGL, к примеру: XProger похоже пишет на ней, Кефир87, то же игры во всю катает и тоже на OGL про остальных круты игроделов ни че не знаю пока большинство исходников на code.darthman.com здесь еще никто не поддержал DX
Сам про OGL ни че не знаю, так что сказать не могу. А выбрал DX потому, что книга эта первой папалась
-
KiberKot © (08.04.06 13:33) [8]: Что значит "пишут на OpenGL"? Графику? Графику да они пишут! И, честно говоря, я тебе советую изучить этот набор API, даже очень.
НО! (оно всегда большое и очень веское :) Товарищи XProger, Кефир87 и еще оченьмного людей ввод, сеть и т. д. делают не своими двумя, а юзают уже готовые API DirectX! (веско? по моему да!)
Из за этого в системных требованиях звучит: OpenGL 2.0 и DirectX 8.1 Это уже не веско, а мерзко звучит! ;) (ни к столу сказано будет)
А Как тебе расширения? Для GeForce одни, причем по сериям, а для ATI тоже по сериям и другие! Понравится тебе перебирать с десяток видюх для красивости игрухи?
Мое мнение тут (в)ааще маленькое. Пусть тут какой нибудь мастер с синим значком выскажится! (уж больно из меня авторитет хлипкий :)
Совет: Изучи OpenGL, изучи DirectX и пойми, что для тебя лучше. Совет 2: Не слушай чужих советов! :)))
-
Говорят, если слово мелькнет два раза, то оно уже занкомое! :))) Повторюсь:
По правде вопрос стоит так: "SDK или графическая библиотека, что лучше?" SDK: Software Development Kit (пакет(набор, чемодан с отвертками, разводными ключами и пасатижами) разработки программ) :)
-
"Товарищи XProger, Кефир87 и еще оченьмного людей ввод, сеть и т. д. делают не своими двумя, а юзают уже готовые API DirectX!" А эт уже клевета ;) Ввод - WinAPI (включая и джойстик) Сеть - WinSock (DirectPlay одна из наиглючнейших сетевых API, к слову сказать) Звук - MMSystem... шутю, DirectSound пятой версии :)
От DX лично мне нужно только воспроизведение звука. А так как он версии 5.0, то в системных требованиях его можно и не упоминать толком...
Веский аргумент (который любят приводить ВСЕ кому не лень): Quake 1, Quake 2, Quake 3, Quake 4, Doom 3, Heavy Metal 2 и куча других игр используют для вывода графики OpenGL и никто не жалуется... :)
Пишу на OpenGL т.к. синтаксис у него гуманный... ;)
-
> Cash © (08.04.06 13:47) [9]
> Товарищи XProger, Кефир87 и еще оченьмного людей ввод, сеть > и т. д. делают не своими двумя, а юзают уже готовые API > DirectX!
не услышал бы тебя XProger :)
ну а двум твоим советам я обязательно последую, просто хотелось услышать мнение окружающих ЗЫ авторитет с тебя очень даже ниче :)
-
> не услышал бы тебя XProger :)
опоздал :)
-
KiberKot © (08.04.06 14:14) [13]: :))) Ну да ничё, таперъ лучше этого "психа" знать буду! :)))
Я кстати сеть тоже WinSok-овскую юзаю, так лучше.
А Half Live 2(1, хоть там они обе были)? Я в эту штуку уже раз пятый рублюсь, и все никак отлипнуть не могу! :))) Риал полнейший! Графика ваще ВО! Я его на самых самых кручу, а он не тормозит! Физика вещь отдельная, за то благодарствую HAVOK, но Вульва "Valve" по графону постаралась на славу!
KiberKot ©: Вот смотри, некоторым людям синтаксис OpenGL понятнее, я честно говоря тоже так считаю, но там нет кучи рюшечек, а в частности HDR и Shader Model 3.0, да и просто мне удобнее с VertexBuffer-ом возиться.
> одна из наиглючнейших сетевых API Осмелюсь предположить, что C++ - один из самых наиглючнейших языков программирования. (это метафора, за понимание смысла +5)
-
> Cash ©
> Ну да ничё, таперъ лучше этого "психа" знать буду! :)))
Ну псих, не псих, но игры пишит реальные. А у тебя кстати, есть че продемонстрировать? Очень хочется посмотреть И че ты думаеш про DX под C++
> WinSok?
-
Far Cry
-
KiberKot © (08.04.06 15:16) [15]: "псих" это как подчеркивание особого статуса человека. (в универе меня психом зовут, там есть "чел", "крутой", "ботан" и "псих" :) Да, у него наверное времени хватает, или шкодит он дольше меня (кстати XProger, ты скоко по времени кодишь уже?) А у меня есть только я и мало времени, универ как ни как. ;) Вон пытаюсь добить одну штучку, долго уже пытаюсь, двигу на второй раз переписал. Сейчас переделаю ботов и сеть и положу на сайт. Адрес: http://www.projectcl.h15.ruскоро брошу новые скрины с нового движка. > И че ты думаеш про DX под C++Нет ничего лучше, чем MSVC++ & MS DirectX SDK & IntelC! Они просто (и буквально) созданы друг для друга! :)
-
Cash, увидел: 2000 март - QBasic 2001 сентябрь - Delphi 2002 март - MSVS C++ / Builder 2002 декабрь - OpenGL / DirectX
-
XProger © (08.04.06 17:09) [18]: Гы, а я с конца 2003! :)
-
> Нет ничего лучше, чем MSVC++ & MS DirectX SDK & IntelC!
Так а че ты на С++ не пишеш тогда
-
А какая разница между C++ и MSVC++ в данном контексте? Скажу короче, если говорят о DirectX и C++ то имеют ввиду BC++B или MSVC++. В моем случае второе.
"Говорим C++, думаем MSVC++!" ©
-
KiberKot © (08.04.06 17:39) [20]: А я пишу, но тока для других нужд, да и знаний по MSVC++ у меня маловато. Вот книжонку одну куплю, разберусь, пойму и т. д. :) тогда окончательно перейду на MSVC++.
А так, я же около 3 лет уже за Delphi, его я больше знаю.
-
ну так че, у кого еще какие мнения ????????????????????????????????????? в идеале хотелось бы выслушать всех
-
Для Windows D3D и OGL - один фиг. DX & OGL - вещи разные. Главное - прямые руки, тогда и канвас может рулить ;)
-
> Главное - прямые руки, тогда и канвас может рулить ;)
Прямые руки и кривые пальцы :)
-
> тогда и канвас может рулить ;)
Да... что то antonn-а давно небыло, но бы точно сказал веское рулезное слово. :)
KiberKot, не, всех ты не услышишь, они все как попрятались! :( Никого нет, никого не видно! :( Скукатишшша! :)
-
> Cash ©
ага... Еще есть предложение, сообщать примерные данные о своем профессиональном опыте, дабы знать что предпочитает новички, а что профессионала. Так же пусть высказываются те кто еще не определился, так же как и я ;)
И глупый вопрос не в тему, а я могу изменить информацию о себе ? :)
-
> изменить информацию о себе да, в анкете это как то делается. Я недавно себе менял (на самом деле моя запись тут с тех самых ламерских пор, около 3 лет лежит)
-
-
> Cash ©
Кстати игра твая что то не качается, вместо не открывается ЖДУ.ru
-
KiberKot © (08.04.06 20:33) [30]: Ага, дак там на титуле сказано: "Архив игры: архива еще нет." красными буквами, чтоб заметнее было.
Я архив удалил, там багов куча была. и самый ужасный - вирь унивеский. Я пока Eset Nod себе не поставил не верил, что там такое есть, теперь все чисто.
-
Так удали тога из ПРОЕКТа -> Загрузить архив игры
-
KiberKot, пока вы сидите и ждёте мнений, мы делаем свои игры руководствуясь своими мнениями... ;)
-
XProger © (08.04.06 20:42) [33]: Вот поэтому ты не XProger, а Darth XProger. -------------------------------------------------------------- And made the force be with you!
-
> XProger ©
А пока вы, те кто отмазывается такими отмазками, отмазывыаетесь от ответов, новички не могут решить что по какому пути им идти. Круто про отмазки загнул :) Я не имею ввиду тебя, ты нормально отвечаеш, но я не верю, что здесь больше некому ответить. Про Cash я молчу, он вобще примерный отвечала
-
:))) ... Загрузить архив игры... Кстати, удалил.
-
KiberKot, а ты не пробовал: Месяц посидеть над изучением OpenGL. Затем забить. И месяц посвятить изучению D3D. Затем решить. Или ты ждёшь, пока сюда прийдут такие авторитетные люди, как Джон Кармак и Гейб Ньюэл, и будут спорить чей из графических движков круче?
Не прячь свою лень к изучению нового! Жизнь у тебя не настолько короткая, чтобы два месяца были столь дороги (тем более какие это месяцы :)...
-
Короче мы отошли от темы
Все кто может и неможет пусть отвечают на вопрос. Если подключатся новички, и достаточно наговорят об этой проблеме, то может у "старперов" проснется совесть и они тоже начнут отвечать Так что налегайте и не стесняйтись, бить вас за это никто не будет
-
> XProger ©
Я и так изучаю, щас занят DX Напишу гамку 2Д, что нибудь из 3Д попробую и перейду к OGL А вобще былобы не плохо, что бы подкатили вот эти уважаемые люди
> Джон Кармак и Гейб Ньюэл
и на чисто руском (с матами) начали обсуждать эту тему, да еще и прямо в этом топике :lol
-
Я уже написал, что OpenGL и D3D аналогичны. Только OpenGL - стандарт де-факто в программировании графики, а за D3D стоит Microsoft. Вот и вся разница.
-
> Nic ©
Ну я думаю что Microsoft лучше знает, как устроены все его компоненты (т.е. компоненты Windows),и может сделать под Винду более правельный набор библиотек разработки, это включает все: графику, звуки, базы и тд. К примеру, если ты напишиш какоето приложение, то плагины для него ты напишиш лучше, чем кто либо другоу (я имею ввиду большие приложения) Логически, я вроде правильно рассуждаю.
-
KiberKot © (08.04.06 21:57) [41]: И я говорю про то же! Для мастодая (Must die... Windows must die :) де-факто является DirectX, он более приспособленен к оси чем OGL.
-
Блин такое чуство, что на форуме человек 5. Че все молчат???? :-?
-
KiberKot, все? Мы и есть все... тебе повезло что хотя бы 5 человек не поленилось залезть в очередной топик-холивар. От очередного новичка... займись делом.
-
> XProger ©
занимаюсь, щас над преградами работаю
-
KiberKot © (08.04.06 21:57) [41] Всё верно. Но на практике один фиг.
-
Применительно к Дельфи ОпенГЛ лучше и удобней, потому что, во-первых, для DX нет стандартных заголовков, а с теми, что распространяются много гемороя, всякие там dll'ки паршивые, во-вторых и тут я согласен с XProger, синтаксис у OpenGL действительно приятнее.
-
> KreeS © (09.04.06 11:40) [47]
Всё верно. Но на самом деле к любому синтаксису привыкаешь :) Профессионалы пишут сразу и на том и на другом. WCIII, 3D Max etc.
-
KreeS © (09.04.06 11:40) [47]: > всякие там dll'ки паршивые Имееш ввиду те что лежат в "%windir%\system32"? :)))
-
Я слышал, что они различаются в написании 2Д и 3Д игр, то есть какаято лучще для 2Д а другая для 3Д. Правда ли это ?
-
> KiberKot © (09.04.06 14:33) [50]
Не правда. 2D - это часный случай 3D.
> > всякие там dll'ки паршивые > Имееш ввиду те что лежат в "%windir%\system32"? :)))
Чуть со стула не упал ;)
-
например directx9ab.dll (или как-то в этом духе), котороя почему-то только в SDK имеется, если я не ошибаюсь.
-
KreeS © (09.04.06 15:10) [52]: Есть такая, у меня вон D3DX81ab.dll стоит, но оно не мешает, т. к. я юзаю Omega GDK, а когда нужен чистый DirectX, я ее откладываю.
Interface он и на C++ Interface! и никаких Dll там не надо (окромя родных DirectX-овых). ;)
-
>>Копаясь по разным сайтам, я понял, что большинство програмистов >>предпочитает програмировать на OpenGL а не DirectX. Исходя из этого я >>решил узнать из достоверных источнико причины данного факта.
Ничего ты не понял. Причины простые, кто какую документацию нашёл, тот то и использует. Купил я книгу Краснова по Директ Х - использовал ДиректХ. Подарили мне книгу Ламота "Программирование игр под виндовс" (там хоть примеры на С++ но кого это остановит? :) - тоже используется ДиректХ. Так что использую ДиректХ. Попалась бы книга по ОпенГЛ, использовал бы ОпенГЛ.
-
> cyborg ©
Да нет, если все будут рассуждать так как ты, то программисты с них будут никакие. Я не собираюсь по одной книге, которая мне случайно досталась, всю жизнь работать. Каждый для себя ишет лучшее и удобнейщее
-
cyborg, книгу по DirectX Краснова я увидел за год до аналогичной по OpenGL, результат противоречит твоей теории ;)
-
[56] XProger © (09.04.06 17:54) Ты хочешь сказать, что когда купил книгу Краснова, начал использовать OpenGL?
Слово "документация" подразумевает собой не только книгу.
-
не понимаю че от меня надо, но нацарапаю OGL + DSound. Кому легче стало? А вообще надо было в первом же посте вставить чье-то изречение про "двигатель и а/м". У XProger'а вроде долно быть
--- ... we are walking on a thin line and you better avoid the risk ...
-
"Выбирать между OpenGL и DirectX тоже самое, что выбирать между хорошей машиной и хорошим двигателем от машины. Если будешь пользоваться OpenGL то будешь пользоваться только двигателем, а всё остальные функции ложатся на тебя, но зато ты это делаешь как хочешь. В случае DirectX ты пользуешься полноценным автомобилем. Всё рычаги и механизмы уже встроены и не всегда работаю как хочется. Но зато там и подушка безопасности и запаска и даже электро насос и бортовой компьютер." (с) Yanis
-
Ну и как обычно вопрос совершенно не корректен.
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!!!
-
Cash, ты пропустил целую эпоху становления 3D видеоигр. В вопросах о качестве графики ты явно не компетентен... http://opengl.org/products/ - это тебе для общего развития.
-
Благодарю за заботу, но накой мне знания о su***x-е?! Делать больше нечего, я не практолог чтоб копаться там!
А играю я только в те игры, которые того достойны. Остальные смотрю, а потом выкидываю. Что в общем я и сделал с большей частью твоего писка!
Игра должна быть красивой. Даже Neverwinter Nights красивее определенной части опеновских игрушек. SOF (1,2) отдыхает рядом с халфой, да даже сама халфа отдыхает рядом с самой сабой (если не понятно о чем это я, потом поясню ;)! Перед Rad Faction сыпятся все опеновские шутеры (окромя CD и MoH)!
А назови хоть один гоночный симулятор или стратегию или RPG на опене? (я таких просто не видел!)
-
Cash, упираешься рогами? Смотри не обломай... ;) Гонка: Virtual Grand Prix 2 Стратегия: WarCraft 3
-
XProger © (16.04.06 11:22) [82]: (Роги... тфу, рога у меня есть, но упираюсь я ими только при вербальном контакте, иначе кайф не тот! :)
- Virtual Grand Prix 2 - не видел, слышал, не знал что на опене, говорили отстой. - WarCraft 3 - не богохульствуй! Она на DirectX!
(у меня был очень хороший детектор опена, я его в прошлый понедельник продал)
-
Cash, опомнись, выбор рендера на качество самой игры не влияет.
-
KreeS © (16.04.06 11:36) [84]: Да ладно, я это знаю, мне просто пофлудить охота! :))) Форум обскурирует, надо же его как то держать!
-
Все же насчет скорости вывода, могу сказать (судя по тестам на разных сайтах), что на D3D графика выводится быстрее на картах ATI, а на OGL - на картах Nvidia. Поэтому говорить о скорости все же не следует, ибо одна и та же игра на разных картах может повести себя по разному. По крайней мере это было раньше. Щас ATI чуток подтянулась, но разница иногда все же есть... С другой стороны, это может быть вызвано и всякого рода "заточками".. Скажу лишь, что сам лично это не проверял и оставил на совести тестеров..
--- ...Death Is Only The Begining...
-
Вульфенштейн кста вроде на опенгл сделан. Он у меня как-то не хотел запускаться по причине отсутствия дров.
Вощем, ламер я в дх только по причине отсутствия хороших примеров на дх. С ОпенГЛ тут намного проще.
А строку я тоже могу вывести одной командой. Но если эта строка меняется каждый раз. Вощем, согласен с тем, что дело вкуса выбрать ОпенГЛ или дх.
-
Pa5ha, он на движке Quake 3, как и Heavy Metal, Medal of Honor, Call of Duty и др.
-
[82] XProger © (16.04.06 11:22) Могу ответственно заявить, что варкрафт 3 с параметром -opengl работает немного медленнее, чем без этого параметра ;). Смотрел специально, визуально, на одной карте (старкрафт чего-то там товер дефенсе), там в конце много прозрачных оленей выбегает и всё тормозит, так с этим параметром раза в 2 тормознее :)
А клофдути2 на директе ;ор
-
cyborg, драйвера - вещь тебе не ведомая с момента покупки компьютера? ;)
-
Зато в кс 1.6 на дх пропадают все эффекты. Но это тоже не показатель :) На дх, как и на опенГЛ есть хорошие красивые игры.
XProger ну тада не знаю, у меня писал что опенгл что-та там. Это было давно, когда я ещё в игры играл :)
-
Ну и флейм развели :) Я уже начитался холиваров на эту тему и могу сказать: один фиг, что выбирать, главное руки прямые и желание что-то классное сделать, остальное приложится ;)
-
Вот это я понимаю, оживление форума!!! :о) Интересен факт, что самые топовые, новые игрухи только на директе идут. Вероятно по тому, что развитие директа ушло немного вперед чеп опена. И тем не менее, находятся некоторые психи, которые делают красивые игрухи на опене. Не так давно, года два назад вышла игрулина Starmageddon. Ее разработчики - фины, отчаяные психи. Они на опене замутили космическую стратегию RTS, которая затмила красоту еще не вышедшего тогда HomeWord 2! НО! Тормаза в ней проявлялись даже при малом скоплении техники! Иногда, когда твою базу разносит в перья стая из ~100 врагов, этим зрелищем приходилось любоваться около часа, каждый кадр рендерился больше секунды, но красота неописуема. (как порядочные фины, они применили софтовую много проходную обработку текстур) http://www.mediacenter.ru/goods/1110.html - здесь можно заказать.
-
Выполни: WarCraft3.exe -opengl вроде так... и запустится Варик с рендером на открытомЖЛ =)
А Волфенштайн у кого не запустился...давайте угадаю WinXP и дрова стандартные ? =) Просто была такая же фигня, пока не поставил дрова от nVidia - не запустился...
-
Cash, ты пропустил самые топовые игры: Doom 3, Quake 4, FEAR и аналогичные, сделанные на САМОМ ДОРОГОМ ДВИЖКЕ на сегодняшний день. Так что твой пост можно считать абсолютно некомпетентным... ;)
-
Sphinx, покупай лицензию и нормальную видеокарту ;)
-
XProger © (16.04.06 15:39) [95]: Дай угадать, этот двиг - твой! Да я прав? Нет? Ну и не надо! :Р
Самый дорогой, потаму, что гемора с ним было в 1 мега % больше чем было бы, еслиб они его на директе сделали! (где то читал про их слезы: "Если бы да кабы, то лишних n тонн мы бы-ы-ы-ы съеканомили")
-
2 XProger © (16.04.06 15:44) [96] Видяха FX5200 вполне нормальная... Прикол в том, что RTCW (Q3 etc) по моему используют OGL 1.4 (не уверен, именно про отсутствие этой версии OGL мне выдало в консоли Вольфа), а в ХР (если без всяких SP) стоит 1.2 =)
-
> Самый дорогой, потаму, что гемора с ним было в 1 мега % > больше чем было бы, еслиб они его на директе сделали!
Уважаемый Cash, вы когда-нибудь под OpenGL програмили? > а в ХР (если без всяких SP) стоит 1.2 =)
С новыми драйверами от nVidia версия OGL повышается до 2.01 ;)
-
Sphinx, GF FX 5200 128 mb AGP 4x - никаких проблем не было и до сих пор нет. Cash, детский лепет...
-
[90] XProger © (16.04.06 13:39) На драйвера мне грех жаловаться :)
-
MeF Dei Corvi © (16.04.06 20:18) [99]: Я опен знаю, и знаю, что на определенном этапе на нем легче и быстрее создавать графовывод.
XProger © (17.04.06 01:43) [100]: Агу, агу! :-D А кто сказал, что я взрослый? (я умышленно кое что сделал, а теперь пожимаю плоды.)
Зы: Четвертая квака ваще туфта. Красота есть, но цена этой красоты слишком завышена чтобы считать эту игру достижением.
-
А почему еще спорим то? Я же сказал: Директ лучше!
: )
-
> Я опен знаю, и знаю, что на определенном этапе на нем легче > и быстреесоздавать графовывод.
Ну тогда никаких претензий :) На самом деле D3D не сложнее OGL, но с примерами похуже. Да и вообще OGL по духу к Delphi ближе :) D3D я буду использовать только с С++.
-
Cash,
> (я умышленно кое что сделал, а теперь пожимаю плоды.)
Ударился головой? ;)
-
megabyte-ceercop © (17.04.06 10:46) [103]: Дак и я, товарищ, про это! Но тут некоторые понимать никак не хотят. :)))
Гы-гы-гы! :), XProger угадал! :-D Вопрос теперь в другом! Чья голова от этого удара болеть будет! :)))
-
Cash, обсуждение своих болячек = оффтоп. Так что закругляйся...
-
XProger, вот скажи, сколко надо манипуляций для перехода в полноэкранный режим на опене (ну и само собой - в оконный). Прям по процедурам!
-
Cash, ты лучше покажи, что ты сделал, вместо того чтобы лясо точить... А то даж не знаю, серьёзно с тобой общаться или ещё как ;)
-
XProger © (17.04.06 18:21) [109]: Оффтопшик чертов! :) Бушь идальше сопли на локоть намазывать?
Я знаю сколькими этапами производится переход в оконный или полноэкранный режим на директе. Мне интересно за сколько вызовов это делается на опене.
На счет общения не беспокойся. (многие люди увидев то слово в анкете начинают очень сильно злиться, дам 82% что ты к ним тоже относишься)
-
2 Cash © : Тоже мне - психоаналитик выискался... Ты хоть классический - по Фрейду, али - юнгианский?
Ничего умнее не придумал - сравнивать две технологии по количеству строчек высокоуровневого языка ... Ты бы еще кол-во машинных команд с суммарным тактовым временем выполнения считал... Ну и бред...
-
И вообще - неважно какую технологию вы пользуете - важен только конечный результат. А он зависеть от технологии - не будет. На него влияет только радиус кривизны рук конкретного индивидуума, узурпировавшего место программера, а также - состояние того что у него - между ушами... Так что весь ваш холивар "ОпенГЛ супротив ДиректХ" - полная фигня и детская возня в песочнице - смысла нет никакого... Как доказывает рынок - достойные проекты реализуют и на том и на другом. Так что - прекратите бодаться.
-
Cash, убегаешь от ответа... пока ты из фуллскрина в окна учился перепрыгивать в DX, я игрушки на OGL писал ;)
Переход в оконный режим делается одним вызовом ChangeDisplaySettings. Переход в полноэкранный заполнением некой структуры и вызова этой же функции...
-
Fosgen, не порть малину ;)
-
ну там ещё надо свойства окна изменить. Типа StayOnTop =)
-
Pa5ha, это уже из ряда фитч ;)
-
> я игрушки на OGL писал Писал, это хорошо, пиши дальше. Ты кой чего всеравно не понял. (так сказать в пылу бурления одной из черт характера)
<Оффтоп> Ух...! Как же тяжело расшевилить этот форум! Делаем выводы, людям нравится флейм. Как ни как многие как раз выросли на диснеевских мультиках. Т. е. на пропаганде насилия. Был у меня один форум, там было можно все. Дак там за день набиралось 200-300 постов. Но мемберов было от силы 6 челов. Как это может быть? Американских хостинг (они нашего мата не знают) и полная свобода мыслевыражения! </Оффтоп>
XProger © (17.04.06 21:44) [114]: Малину испорчу я! То, что мне было интересно, я узнал. То, что я хотел сделать, я сделал. (хоть немного адреналина этому форуму)
Где то, кстати, я видел абсолютно безцензурный форум по программированию. Туда заглядывать, как в бочку с г** окунаться. Так что добрее, товарищи, добрее! Весна... птички.... гармоны как ни как! :)
-
Cash, может тебе адреналина лучше в реале искать? Самый простой способ это - слушать метал, очень рекомендую :). Бывает сидишь слушаешь, и вдруг колбаса как накатит... попадаешь в транс и начинаешь мяситься... отличное средство :). А сидеть и пантоваться на форуме, типа ты щас всех текстом загипнотизируешь, как-то падоношно.
-
Дык г-н Cash, видать - виртуальный психоаналитик! Для таких реал - слишком круто и сложно... Анекдот про психотерапевтов (извините за полный оффтоп):
Семья - папа - психоаналитик, сын - НэЛПер. Сын к папе: "Слушай я тут твоего пациента с фобией за 40 минут вылечил! Что ты с ним последних 12 лет делал, когда работал?" Папа: "Деньги тебе на образование зарабатывал!"
-
> Делаем выводы, людям нравится флейм.
Я лично сюда хожу ради Потрепаловки - ныне форума "Прочие" :)
-
KreeS, отличное средство нагнетания адреналина - прыгнуть с крыши ;) Cash, впредь, буду знать что ты представляешь из себя на самом деле...
-
Холивары никогда к добру не приводят! Все остаются при своем мнении.... По сабжу : Юзаю ДХ, неудобств не испытываю.
-
XProger, да это тоже хороший способ, но он двовольно таки не прост :)
PS. Я думаю, когда кто-то создает топик из разряда "Бобер против Осла", нужно его по умолчанию перемещать в раздел флуда. Можно даже по ключевым словам определять, например когда OpenGL и DirectX встречаются в одном предложении :)
-
XProger ©
> Unreal
Сроду не знал что такое OpenGL! Изначально был под GLide, а потом под Direct3D. GLide ничего общего с OpenGL не имел.
> Homeworld
Вообще был мультирендерным. Как OGL, так и DX.
--- P.L.U.R. and WBR, NailMan aka 2:5020/3337.13
-
[78] Cash ©
> XProger © (15.04.06 23:55) [75]: > - SOF (1,2) - играл, задница полная, никакой графики, только > глюки.
Quake3 Engine. OpenGL.
> - HomeWorld (???) - она что на опене, неверю! И к тому же
OpenGL/Direct3D
> - Call Of Duty, Medal of Honor - это, на мой взгляд, единственные > опеновские игрухи, про которые скажу: "COOL!"! > - Return To Castle wolfenstein - никогда не поверю, что > она на опене.
Quake3 Engine. OpenGL.
--- P.L.U.R. and WBR, NailMan aka 2:5020/3337.13
-
NailMan, в во всех Unreal тоже мультирендер, если не в курсе... ;)
-
XProger © Кроме первого, там был GLide и софтрендер, а уж потом патчем мона было и Direct3D его обучить. Но никаких Opengl!
--- P.L.U.R. and WBR, NailMan aka 2:5020/3337.13
-
-
Так, а теперь кто нибудь сможет объективно сказать, откуда взялись следующие посты от моего имени? (блин, стоит на денек отрубиться от инета, отымеют по полной программе)
Cash © (15.04.06 22:49) [73], Cash © (16.04.06 09:00) [78], Cash © (16.04.06 11:13) [81], Cash © (16.04.06 11:36) [83], Cash © (16.04.06 11:40) [85], Cash © (16.04.06 14:26) [93], Cash © (16.04.06 16:34) [97], Cash © (17.04.06 10:15) [102], Cash © (17.04.06 17:50) [106], Cash © (17.04.06 18:12) [108], Cash © (17.04.06 20:43) [110], Cash © (18.04.06 06:55) [117]
-
Cash, неужто протрезвел? ;)
P.S. Моё мнение не изменилось... ;)
-
Cash © Чувак, надо чаще пароли менять или травы меньше курить
--- P.L.U.R. and WBR, NailMan aka 2:5020/3337.13
-
Сегодня в компашке рассказал, дак они сами признались! :))) ЗЫ: а пароля у меня вааще небыло отродясь!
XProger © (18.04.06 19:20) [130]: > Моё мнение не изменилось... ;) Свое мнение оставляй при себе! ;) Мне по бАрАбАну!!! :)))
-
Cash, воооо... ты уловил самую суть холиваров, прогрессируешь... :)))
-
Внесу свою лепту :) Чтобы не холиварить бестолку реализуйте мультирендер. Это будет доказательством вашего уровня как программиста и одновременно снимет все вопросы к противоположному лагерю. Сам предпочитаю OGL, но следуя своему же совету (предпочитаю не искать себе приключений на), в своем движке написал мультирендер.
А теперь персоналии :) Cash, не знаю ты или не ты напостил гору чуши, но мое отношение к тебе теперь однозначно: #@$%№
-
> Cash, впредь, буду знать что ты представляешь из себя на > самом деле... > Cash, не знаю ты или не ты напостил гору чуши, но мое отношение > к тебе теперь однозначно: #@$%№
Поправочка, не ко мне, к моему нику, и только. Попрошу сестру от своего имени флудонуть, а ведь все будут думать что "типа это я". Ех... виртуальное общение. Мой талмуд на эту тему препод оценил как диссертационную по психологии. ЗЫ: а я сразу просек, кто под мной прошел, тут да и вообще никто не знает, что я психоанализом владею. :)
Блин, опять оффтоп! И не хотел, а как будто заставляют! Пора эту ветку закрывать!
-
Cash помоему ты балабол, вместо того чтобы встретить поражение Как мужик ты начал отлинивать
а у OpenGL всётаки есть большой недостаток, измеряется он в $ что еще сильней усугубляет проблему
Недостаток выражается больше всего если ваш продукт распрастроняется как Шаравар Доунладабл Аркада
Давно вы видели 30+ тётек которые с лихвой могут поставить новый драйвер, некоторые из них даже незнают какая у них видюха :)
-
Прикольно, прикольно тему развели, а этим тоже болел... итак: 1. С++ или Делфя - а какая разница кроме синтаксиса, железу всё равно - кому как удобней. Насчёт производительности - неделайте в делфе классов с большой глубиной вложения и будет счастье (кто непонял - читай принципы работиы прог на С++ и Делфи (С++ тянет в с собой классы которые ей сейчас нужны, а делфи ещё и потомком этих классов если я неошибаюсь)).
2.OGL - графич. библиотека - примеров по ней много. DX - SDK для игр - примеры только в SDK под MS C++, с остальными геморой - под Делфи только две гниги видел, да clocotive.ru (смотри на mirgames - библиотеки) видел примеры. Имхо - идеал MS C++ + DX, по геморойней Delphi + OGL, геморой Delphi + DX (в виду примеров).
Вывод: теория одна на C++ и Delphi - что лучше знаешь и что легче даётся - выбор за тобой.
Лично я - Б.Д. - Delphi, Игры - пробовал - GLScene, Delphi + OGL, но остановился на MS C++ + DX - имхо скачал SDK и гима нет. Но програмлю применяя и примеры теории OGL.
-
И всё же FarCry - имеет режим рендера OGL (неоф.), но вродебы официально работает на DX.
-
Slavikkk, Delphi тащит все классы от которых зависит используемый класс... так что ошибочка ;) [offtop]случаем, не горняк? ;)
-
> Slavikkk © (18.08.06 01:31) [137]
Если руки прямые этой болезни не будет. И ещё, не стоит много сидеть на мягком кресле подолгу ;)
-
Добавлю свою лепту во весь этот флуд-тему=))
1. Я сам являюсь новичком (читай - ламером) в создании 3D программ, но знаю наверника одно - все зависит от твоей сообразательности и, конечно, качестве рук(да и головы тоже^_^). В DirectX под Delphi геморно производить инициализацию, но если все эти функции запихать в граматно, тобоюже сделанный, класс с понятными процеДурами/функциями, то все упрощается чуть ли не в 10 раз!
2. Чет я не въехал на счет МультиРендера OpenGL+Direct3D... Это что, часть функций рендеринга от Опена, а часть он Директа? Это вообще как реализуется?! О_о
3. Можно ли к OpenGL проектам привязать те новороты, которые есть у DirectX(скажем супер-пупер-мега шейдеры)? Если да, то как? Спрашиваю потому, что в Delphi на самом деле OpenGL реализуется проще(с точки зрения скорости написания кода).
P.S. - Delphi The Rull & The Best!
//////////////////////////////////////////////////////
Всё выше мною сказанное исходит из моего опыта. В Delphi програмлю уже 4 с лишним года, но 3D-менее года
-
> 1. Я сам являюсь новичком (читай - ламером) в создании 3D > программ, но знаю наверника одно - все зависит от твоей > сообразательности и, конечно, качестве рук(да и головы тоже^_^). > В DirectX под Delphi геморно производить инициализацию, > но если все эти функции запихать в граматно, тобоюже сделанный, > класс с понятными процеДурами/функциями, то все упрощается > чуть ли не в 10 раз!
Там все и так тупо... Куда уж проще?
-
> 1. Я сам являюсь новичком (читай - ламером) в создании 3D > программ, но знаю наверника одно - все зависит от твоей > сообразательности и, конечно, качестве рук(да и головы тоже^_^). > В DirectX под Delphi геморно производить инициализацию, > но если все эти функции запихать в граматно, тобоюже сделанный, > класс с понятными процеДурами/функциями, то все упрощается > чуть ли не в 10 раз!
Там все и так тупо... Куда уж проще?
> 2. Чет я не въехал на счет МультиРендера OpenGL+Direct3D. > .. Это что, часть функций рендеринга от Опена, а часть он > Директа? Это вообще как реализуется?! О_о
Ага. Щаз. Это значит что можно выбирать режимы рендеринг, между OPenGL, DirectX, Software. Несколько реализаций одних и тех же функций через разные API.
> 3. Можно ли к OpenGL проектам привязать те новороты, которые > есть у DirectX(скажем супер-пупер-мега шейдеры)? Если да, > то как? Спрашиваю потому, что в Delphi на самом деле OpenGL > реализуется проще(с точки зрения скорости написания кода). >
Direct3D и OpenGL идеентичны по возможностям. GL_ARB_SHADER_OBJECTS
P.S. OpenGL медленно, но верно свои позиции сдает.... Жаль... Я к нему так привязался, походу придется переходиьт на Direct3D. Даже ХитМан изначально сделанный с поддержкой обоих двигов, "в сфере последних тенденций" отказался от реализации на OGL... :((
-
А я вам вот что скажу - GDI как рулил, так продолжает рулить:)
-
@!!ex, "OpenGL медленно, но верно свои позиции сдает..." глупо, ибо с каждым годом все крепчает и крепчает. Ибо стандарт.
-
> XProger © (27.01.07 23:06) [145]
Да я бы с радостью так думал, но то что все больше проектов выпускается на DX и все меньше на GL - говорит об обратном.... Рад, если ошибаюсь.
-
оффтоп:) напоминает споры "виндовс скоро умрет", "линукс уже сейчас переплюнул виндовс" :)
-
Да тут никто и не спорит. Я сам юзаю ОГЛ с удовольствием. Просто пытаюсь понять, чтоже всетаки происходит.
-
@!!ex, а почему бы не юзать и дальше?
-
Самая тема - это MR (мультирендер) и не надо никому ничего доказывать, оставь все предпочтения юзерку, что ему больше нравится, то он пусть и выбирает. (говорю за себя, т. к. оба набора API знаю, тока под опен шейдеров еще не писал)
Если грамотно разработать архитектуру двига то он легко воплощается и на директе и на опене. Надо только сперва спроектировать грамотно, а потом столь-же грамотно адаптировать скелет под конкретные API.
-
Cash © (28.01.07 8:06) [150] Самая тема - это MR (мультирендер) и не надо никому ничего доказывать, оставь все предпочтения юзерку, что ему больше нравится, то он пусть и выбирает. в большинетсве случаев юзер даже не знает, что это такое:)
-
> antonn ©
> в большинетсве случаев юзер даже не знает, что это такое:)
Полностья с тобой согласен! Ламеры не знают вообще о том, что есть разные виды рендеринга(да и про рендеринг не знают))) и по этому выбирают либо то, что первым попадется, либо что посоветуют. А если юзверь и знает, что такое DX и OGL, то выбором станет DX.
> @!!ex ©
> Там все и так тупо... Куда уж проще?
Представь себе, я сделал ЕЩЕ проще!=)) Я работаю над стабильным рендерингом, а то из-за кучи разных циклов, FPS упало с 4000 до 100 (оконный режим)
-
Dimon550 © (28.01.07 15:44) [152] А если юзверь и знает, что такое DX и OGL, то выбором станет DX. не факт, я software выбирал:)
> а то из-за кучи разных циклов, FPS упало с 4000 до 100 > (оконный режим)
есть мнение, что виновата вертикальная синхронизация:)
-
Кстати, кто-нить из вас видел статьи/eBook по DirectX 9.0 для Delphi? Или Директ для Delphi так и останется на 8.1 уровне?
-
> antonn © > есть мнение, что виновата вертикальная синхронизация:)
(^_^) Опровергну - я даже еще до нее не дошел)) А кстати, что она дает? Я смотрел на результаты в играх с НЕЙ и БЕЗ нее, но разници не вижу... ну разве что иногда тормазов добавит)))
-
> Я смотрел на результаты в играх с НЕЙ и БЕЗ нее, но разници > не вижу... ну разве что иногда тормазов добавит)))
Ну так это и есть разница
-
> Efir > Ну так это и есть разница
Э... Тогда нафиг она нужна? )))
-
<OffTop>
Люди, жопа такая с компом, не знаю в чем дело. После переустановки, ни один видео файл не проигравается плейрами. При попытке воспроизвести, комп начинает тормазить, а после и вовсе зависает! Единственный плейр, который может проигрывать видео без Выпендра - это WinAmp(кстати единственный, который я не переустанавливал после переустановки Винды). Не знаете в чем дело? Из-за чего такая гадость? -Видео дрова переставлял - 0-ой эффект; -Кодеки удалял/переустанавливал - 0-ой эффект
</OffTop>
-
> Э... Тогда нафиг она нужна? )))
Чтобы синхронизировать частоту монитора с частотой вывода кадров в игре.
-
Dimon550 © (28.01.07 15:55) [155] ну разве что иногда тормазов добавит))) какие тормоза при ФПС=100?? и какая разница м/у 100 и 60 визуально?
-
> antonn © > какие тормоза при ФПС=100?? и какая разница м/у 100 и 60 > визуально?
Чел, ты видемо меня не понял. Если в моём компоненте для упрощения DirectX-написания прог, при прорисовке 15000 точек возникают такие перемены в фпс(с 4000 до 100), то представь какие показатели будут при спец эффектах! О_о
-
> XProger © (28.01.07 00:45) [149]
Пока перевешивает более хорошее знание OGL. Но на DX сушественно проще работу найти.
> Dimon550 ©
ЭЭЭЭ. Уважаемый, а вы по каким книгам, и вообще как 3Д графику изучали???? Vsync - вполне обычная функция. Полезна или вредна, в зависимости от того, что тебе нужно. VSync дает стабильную картинку без дерганий.
> Cash © (28.01.07 08:06) [150]
И чем же хорош МР? Есть какие то вещи, которые можно реализовать на одном API и нельзя на другом? ИМХО это было актуально раньше, когда стандарты только-только зарождались. Не думаю, что сейчас кто-то захочет менять режим рендеринга. Тем более что изменение все равно на уровне юзера нету.
-
> @!!ex ©
Я еще ТОЛЬКО начал изучать 3D графику и по этому могу себе позволить такие вопросы))) А графику DX изучаю по книге Михаила Краснова "DirectX. Графика в проектах Delphi"
-
Dimon550 © (28.01.07 16:31) [163] в настройках дравера видеокарты принудительно отключи vsync и посмотри на фпс в окне
-
> Тем более что изменение все равно на уровне юзера нету.
Спорю! У некоторых юзверей, DX рендер может довать тормаза, а OGL - нет, и наоборот. Так что выбор рендера пока остается еще актуальным.
-
> antonn ©
ох... еслиб ты видел мой код. ты бы даже не заикался о VSync =))) Ладно, давай закроем эту тему, которая тут не в тему))))
-
> Dimon550 © (28.01.07 16:37) [166]
Код не имеет никакого отношения к VSync. VSync одинаково влияет и на отстойный код и на отличный.
-
> Dimon550 © (28.01.07 15:52) [154] > Кстати, кто-нить из вас видел статьи/eBook по DirectX 9. > 0 для Delphi? Или Директ для Delphi так и останется на 8. > 1 уровне?
-
DirectX уже 10 с Вистой идет. Вся документация для него распространяется и на дельфи. Только хедеры свежие нужно сделать.
-
> @!!ex © (28.01.07 16:56) [169] > DirectX уже 10 с Вистой идет. > Вся документация для него распространяется и на дельфи. > Только хедеры свежие нужно сделать.
ДА, но ведь 10, по наслышке, будет работать только на Висте, а ведь многие предпочтут еще остаться на XP. Как такое прокоментируеш?
-
Dimon550 © (28.01.07 17:00) [170] пользуйся несколькими источниками информации, агенство АБС зачастую дезинформирует
-
-
Да какая разница на какой ОС оно будет работать? Ну возьми SDK от девятки и вперед.
-
@!!ex © (28.01.07 16:25) [162]:
И чем же хорош МР? Есть какие то вещи, которые можно реализовать на одном API и нельзя на другом?
...прошу прощеня, но эти вопросы взаимоисключают друг друга не придавая им смысла, я просто не понял сути...
МР - это третий вариант рещения дилеммы "На чем строить графику?", третий и не менее равновесный, есть и 4й - Не нравится Dx, недолюбливаешь OGL - канвас всегда рулит! :))
Да и честно говоря дилеммы то тут нет просто, игра будет очень хорошо смотреться и на Dx и на OGL и на канвасе, если ее сюжет будет хорошо продуман. Думать надо сперва не над графикой или звуком (хотя и об этом тоже нельзя забывать на первых шагах), а над интересностью сюжета или (если оного нету, бывает и такое) над продуманностью линии событий.
И не стоит говорить мол Dx или OGL сдает свои позиции, быть может завтра или через пол часа мир содрогнется от новых спец эффектов, которые будут предложены тем же OGL или Dx, а может и чем то новым...
Хао!! :)))
-
Итак... Тогда я предлогаю здесь выложить пару-другую ссылок... : - ...на DX9 SDK для Delphi + документацию - ...на OGL материалы + документацию для непосвященных
Думаю это должно угодить всем, кто дошел ДО ЭТОГО Момента данного топика. Выбор - за ними. т.к. тот, кто всё ЭТО прочел, уже лолжен был понять, что Не Важно Какой В Игре Будет Рендер! Главное, Что Бы Получившиеся Игра Была Интересна(а улучшить графу всегда можно успеть =)) )
-
> ...прошу прощеня, но эти вопросы взаимоисключают друг друга > > не придавая им смысла, я просто не понял сути...
Имелось ввиду, что используем МР для того, чтобы юзер выбирал один из вариантов рендера и получал соответственно какие то вещи, которые он не мог бы полуить от других рендеров. Отсюда и впрос: такие вещи есть? Нету, насколько мне известно. Раньше один APi мог глючить на машине, а другой - работать стабильно и тогда имело смысл делать МР. Сейчас же это никакой пользы не несет. ИМХО.
> - ...на DX9 SDK для Delphi + документацию
А чем не устраивает стандартный SDK?
> - ...на OGL материалы + документацию для непосвященных
Red Book?
> Думаю это должно угодить всем, кто дошел ДО ЭТОГО Момента > данного топика. Выбор - за ними. т.к. тот, кто всё ЭТО прочел, > уже лолжен был понять, что Не Важно Какой В Игре Будет > Рендер! Главное, Что Бы Получившиеся Игра Была Интересна(а > улучшить графу всегда можно успеть =)) )
Нет. Если двиг изначально не заточен на какие то конкретные фишки, то зачастую потом их реализовать довольно сложно. Если бы было иначе, Q3 Engine до сих пор бы жил, ему бы просто обновляли графику. :) Но видимо решили, что эффективнее написать новый двиг, чем переделать Q3. Я сейчас столкнулся с как раз такой проблемой. На некоторые вещи двиг изначально заточен не был, и сейчас не представляю как их внедрять.
-
@!!ex © (30.01.07 10:19) [176]: Да ну ты брось.. :) Есть и такие индивиды (всам видел, наблюдал за одним перцем), которые говорят, что мол "Это у меня на софтварэ лучше идет чем на опенгл или директх" :)) (именно так, я даже не стал заменять названия либ, дабы передать весь шарм этой фразы :)) )
Один же всетаки в конце фиг, надо будет использовать, либо DirectX либо OpenGL, либо и то и другое, от этого то не отвертишься :)) (если только не надумать забацать SW рендер :) )
-
-
> Cash © (31.01.07 20:54) [177]
В свое время Urban Chaos шел с Софтваре рендеринг быстрее и с более качественной графикой, чем с Дх. Но это однако 99 год... Сейчас софтваре вообще не рулит, хотя бы потому что шейдеры появились, которые на софтваре можно реализовывать с огромными тормозами. А ДХ и ОГЛ обычно дают одинаковую картинку, с одинаковой скорость, если дрова не кривые. Ну вообщем я вашу позицию понял.
-
В свете выхода видеокарт 8800, пора вести диалог - что быстрее работает GLSL, HLSL или CG. Т.К. основная нагрузка по расчету спецэффектов ложится на эти языки.
-
Slavikkk, а языки то тут причём? Видеокарта о них ничего не знает...
-
> XProger © (06.02.07 10:17) [181]
Чей компилятор лучше.. :)
-
Вопрос на засыпку любителям опенЖЛ: Поддерживает ли эта либа HDR, BLOOM?
-
> [183] homm © (10.02.07 14:41)
Она все поддерживает, что поддерживает видеокарта.
-
> Она все поддерживает, что поддерживает видеокарта. Неужели она позволяет как-то напрямую рабоать с АПИ видеокрты, не являясь сама посредником? Что-то слабо верится? Иначе не недо гомких слов "все", достаточно было ответить что подерживает то о чем я просил. Спасибо.
-
> [185] homm © (10.02.07 16:13) > Неужели она позволяет как-то напрямую рабоать с АПИ видеокрты
Да. Только не с апи видеокарты, а с драйверами (хотя в приципе одно и то же) для видеокарты.
-
> Да. Здорово, просто с моими знаниями про опенЖЛ это сложно приедставить, ну да риовал сцены, ну да рендирил треугольники, примитивы, нормали к поверхности задавал, но что-бы низкоуровнево представить сложно... Можно хотя-бы в краще, как это происходит?
-
> [187] homm © (10.02.07 17:00) > Можно хотя-бы в краще, как это происходит?
Процедура wglGetProcAddress возвращает адрес на процедуру из библиотек драйверов видеокарты. И получается что при вызове расширений используются библиотеки драйвера.
-
> homm © (10.02.07 17:00) [187]
А о шейдерах мы никогд ане сылшали? :))) OpenGL не уступает по возможностям DirectX.
-
ANTPro © (10.02.07 17:25) [188]: эм... можно маленько по формальнее выразиться?.. wglGetProcAddress вернет адрес из dll, в которой какраз реализован механизм обращений к драйверу. Можно для тех же целей GetProcAddress юзать, но там наворотов больше... ^^
wglGetProcAddress служит для доступа к расширениям... профилизация...
-
Иными словами, Хочеш сделать игру максимально быстро из готовых шаблонов - бери DX; Хочеш сам руковорить всеми процессами в двиге игры - бери OGL. Так что-ли?
-
Я так понял, что DX - это тот же OGL, только с кучей улучшений/модификаций/расширений, т.е. "кровь и плоть", а OGL - это просто "скелет"...
-
> Dimon550 © (18.02.07 18:21) [192]
Бред. OpenGL - это интерфейс для "общения" с видеокартой основанный на использовании процедур и функций. DirectX - это интерфейс для "общения" с видеокартой основанный на использовании классов. Хотя на самом деле слово интерфейс тут не правильно применять, по той причине, что получаеться пересечение понятий. Но я думаю суть понятна? DirectX и OpenGL - делают абсолютно одно и тоже. Например, работа со светом: DirectX:
SetLight(Index,Light);
в OpenGL:
glEnable(GL_LIGHT0+Index);
glLightfv(<... Настройки источника, которые в DX задаються в структуре D3LIGHT>);
Результат этих действий будет одинаков. Какой из вариантов удобнее - решает уже каждый разхработчик для себя. Но по сути они не отличаються. Лично я не люблю таскать за собой кучу интерфейсов в каждом модуле где мне нужны обращения к API, поэтому OGL нравиться больше...
-
Браво! У-ра! Наконец полноценный, понятный и нормальный ответ получен!
Всё, ребята, мне тут делать больше нечего - я получил долгожданный ответ на данную тему)))
-
DirectX и OpenGL, а вообщето что-то маловато API для работы с графикой, выпустили бы еще пару штучек на выбор :)
-
Даже двух не нуно.... Два API: 1) API для windows 2) API для windows и для остальных операционных систем......
-
Kav (22.02.07 22:16) [195] GDI :)
-
В свете выхода DX10 на Висте, умиляет очередная "переписка с нуля" DirectX. Т.е. каждый раз нам предлагают "новый, кардинально улучшенный DirectX", несовместимый со старыми. В реальности большая часть прог, написанных под "старые DX", всё-таки работают и на новом DX. Не может Microsoft сразу всех кинуть, ибо кинет тогда сама себя. Должна быть преемственность предыдущих поколений продуктов и она это хорошо понимает.
Но с OpenGL как-то стабильнее всё. Не приходится каждый раз переписывать OpenGL-специфичные части, как в случае с DX. Я раньше фанател от ООП, COM и прочей шелухи. Сейчас считаю, что использовать ООП и прочие навороты надо исключительно по необходимости, ибо эти навороты накладывают рамки на архитектуру. Мне ближе OpenGL и процедурный стиль программирования с дозированным ООП, интерфейсами и т.д. Я не фанат модных течений C#, Nemerle, Ruby и прочей. Мода на всё это проходит быстро.
Короче, OpenGL - стандарт в графике и не грех им пользоваться, к тому же на современных компах (железках и дровах) есть более-менее адекватная поддержка OpenGL. Естественно, OpenGL - конкурент только для D3D и DDraw, ибо тот же DSound - плюшка более удобная, чем MMSystem для звука.
-
> ибо тот же DSound - плюшка более удобная, чем MMSystem для > звука
Как насчет OpenAL?
-
> Как насчет OpenAL?
Надстройка над DS.
> DJ KARIES (23.02.07 11:48) [198]
Не совсем верное понимание. DX 10 - включает в себя все остальные иксы. Хочешь использовать возможности девтяки? Юзай 9 интерфейс. Хочешь 10? Юзай 10.
-
2@!!ex:
> Не совсем верное понимание.
Насчёт юзанья заголовков от предыдущих версий мне оно понятно. Просто интересно, что в инете народ пишет, что на машинах с DX10 некоторая часть игр, юзающая DX меньший 10, не идёт. И не потому, типа, что это Vista, а из-за самого DX. ХЗ.
А OpenAL, как и SDL, чегой-то меня не влекут.
-
DirectX конечно! P.S. Если руки ПРЯМЫЕ!)))
-
>DirectX - это интерфейс для "общения" с видеокартой основанный на >использовании классов.
В 8 и 9 DX Все управление через процедуры и структуры. Никаких классов не видел. И не думаю что увижу в DX10.
-
> [203] megabyte-Ceercop © (13.03.07 15:22)
LOL. Пример можно?
-
> Mre (13.03.07 15:46) [204] > > [203] megabyte-Ceercop © (13.03.07 15:22)LOL.Пример > можно?
Открой заголовок d3d9.h в котором декларируется LPDIRECT3D9 и увидишь что это структура объеденяющая в себе несколько функций. Открой тот же самый заголовок и посмотри описание LPDIRECT3DDEVICE9. Тебя все еще тянет посмеяться? ТОгда приведи мне пример класса из D3D?
-
> и увидишь что это структура объеденяющая в себе несколько > функций. Т.е. интерфейс класса? :)
-
Интерфейс структуры.
-
> Интерфейс структуры. Чушь сморозил.
-
что такое интерфейс ты по видимому не представляещ (хотя с ними судя по всему работаещь)
-
> [205] Megabyte-ceercop © (14.03.07 15:51)
В С++ структура(struct) =(Нельзя наследоваться) классу(class) Хотя, я только начинаю в С++ разбиратся может чего и не так понял.
-
> [205] Megabyte-ceercop © (14.03.07 15:51)
Уважаемый, да у вас проблемы с пониманием С и С++. Основное отличие struct и class состоит в уровне доступа по умолчанию. Если нет явного указания уровня доступа, то все члены структуры считаются общими, а класса - собственными. Явное указание уровней доступа делает слова struct и class равнозначными.http://ad.cctpu.edu.ru/cpp/glava18_1.htmНайдите мне обратное утверждение. :) LOL. LOL. P.S. DirectX построен на COM. COM это объекты. Заголовки DirectX на С, но это не делает его менее объектно ориентированным. P.P.S Народ, достало, что вы меня вечно пытаетесь поймать на некомпетентности и лжи.
-
> Народ, достало, что вы меня вечно пытаетесь поймать на некомпетентности > и лжи. Я на твоей стороне! :)
-
> [211] @!!ex © (14.03.07 22:26)
Спасибо. Кое что прояснилось :)
-
> [212] homm © (14.03.07 22:29) > Я на твоей стороне! :)
Теперь нас двоих будут ловить на некомпетентности и лжи? :))
-
@!!ex > DirectX построен на COM. COM это объекты.
Direct3D не построен на COM, COM присутствует только в Input, Sound, Play и Show ветвях DirectX`a. За что я последние и не люблю. Когда я говорю о интерфейсе Direct3D Я имею в виду интерфейс Direct3D а не слово из C++ "interface". Вот выдержка из SDK The LPDIRECT3D9 and PDIRECT3D9 types are defined as pointers to the IDirect3D9 interface. typedef struct IDirect3D9 *LPDIRECT3D9, *PDIRECT3D9; Как видите описан интерфейс D3D но в коде никакого слова interface нет и слова class нет. Не падайте со стула @!!ex. Это указатель на набор полей к которым никакой доступ не разграничивается, и доступ прямой, без методов-оболечек, которые между прочим и являются основным отличием классов от структур. >Уважаемый, да у вас проблемы с пониманием С и С++. У меня нет проблем. У вас же проблемы с пониманием D3D. А ветка какраз о D3D и OGL а не о проблемах C++... (Даже сайт не о C++). Любой из доводов изложеный вами никак не утверждает использование классов в D3D. И любой из них может быть в равной степени применен и к OGL. >@!!ex не точная цитата. >я устал что меня пытаются поймать на обмане и некомпетентности. Вернемся на 10 стр: > Dimon550 © (18.02.07 18:21) [192] > Я так понял, что DX - это тот же OGL, только с кучей улучшений/модификаций/расширений, > т.е. "кровь и плоть", а OGL - это просто "скелет"...
> @!!ex © (18.02.07 21:11) [193] > > Dimon550 © (18.02.07 18:21) [192] Бред.OpenGL - это > интерфейс для "общения" с видеокартой основанный на использовании > процедур и функций.DirectX - это интерфейс для "общения" > с видеокартой основанный на использовании классов.
DX - работает с 3D, звуком, сетью, контроллерами. Имеет реализацию скелетной анимации, форматы файлов разработанные специально для него, людьми которые сделали DX. А теперь приведите хоть один пункт отличающий OGL от скелета?
-
> Direct3D не построен на COM, COM присутствует только в Input, > Sound, Play и Show ветвях DirectX`a. За что я последние > и не люблю. > Когда я говорю о интерфейсе Direct3D Я имею в виду интерфейс > Direct3D а не слово из C++ "interface".
LOL.LOL.LOL. DirectX - это COM. Везде. ИМХО глупо с этим спорить...
> Как видите описан интерфейс D3D но в коде никакого слова > interface нет и слова class нет. Не падайте со стула @!! > ex. > Это указатель на набор полей к которым никакой доступ не > разграничивается, и доступ прямой, без методов-оболечек, > которые между прочим и являются основным отличием классов > от структур.
Я привел цитату и указал источник. Не надо домыслов. Цитату и источник.
> DX - работает с 3D, звуком, сетью, контроллерами. > Имеет реализацию скелетной анимации, форматы файлов разработанные > специально для него, людьми которые сделали DX. > > А теперь приведите хоть один пункт отличающий OGL от скелета?
Так вы не в курсе, что для OGL есть куча надстроек позволяющих делать все тоже самое, что и DX? ^)) В частности glut, openil, и т.д. Здесь не идет речи об этих надстройках. Речь идет о прицнципиальных отличиях. Принципиальных отличий нет, как я уже говорил.
-
Удалено модератором
-
OpenGL лучше D3D хотя бы тем, что D3D только под Виндовоз, а OGL под всё остальное. Взять к примеру DX 10: реализовывает все возможности новых 8800 и будущего R600 только под MS Vista, в то время как OGL при соответсвующем обновлении драйвера и под WinXP. То есть юзеру необходимо будет купить корявую Висту, чтобы насладиться красотой последних игр, написанных на DX 10. А для игр, написанных на OGL можно будет использовать и WinXP, на котором скорее всего останется ещё много народа после выхода Висты. К тому же Виста похоже всё таки будет поддерживать и OGL, так что разработчикам гораздо удобнее использовать OGL.
Эти доводы конечно слабо связаны конкретно с программированием, но всё же они могут быть определяющими при отвоёвывании OGL-м позиций у D3D.
Что же касается кодинга, то я не могу найти какую-либу "фичу", которую можно сделать на D3D и нельзя на OGL. Видюхе по-моему вообще всё равно какой API ты используешь: драйвер всё равно шлёт ей машинные коды.
Шейдерный язык GLSL уже сейчас поддерживает Geometry Shaders (кстати его разработали так, что легко встроить поддержку и будующих типов шейдеров) и этот уже является стандартом OpenGL 2.0. В общем, мой ответ - OpenGL.
-
Пишу тут в первый и последний раз :) Так как повода писать тут больше нет :)
OpenGL, создававшийся для профессионального сектора, прочно в нем закрепился во многом благодаря своей переносимости.
История OpenGL ведется с 1992 года. Компания Silicon Graphics создала его как открытый стандарт. Отсюда и первая часть названия, а GL означает Graphic Library (графическая библиотека). На данный момент OpenGL находится под контролем комитета Architectural Review Board (ARB), куда входят представители наиболее влиятельных в 3D-секторе корпораций - nVidia, ATI, SGI, Apple, Intel, id Software и, что особенно интересно, Microsoft. ARB является по сути некой бюрократической машиной, чья задача - вводить в стандарт OpenGL новые возможности. Для этого был создан механизм расширений.
Перейдем к сравнению технологий. DirectX построен по объектно-ориентированной схеме, а OpenGL по процедурной. Что лучше? Программа на GL одинаково "хорошо" выглядит и на C++, и на чистом C, и на Delphi, и на любом другом языке, чего не скажешь о DX
Как ни странно, ведутся споры о производительности. Проверить это проще простого, но зачем? - ведь результат легко предсказуем. Он будет почти одинаков для обеих библиотек у GL доступ порой быстрее из за спицифики самого OpenGL, но в целом для выполнения кода на GL и DX видеокарта должна выполнять одни и те же действия с одной скоростью, а значит, и дискуссии о быстродействии беспочвенны.
Вот и пример : Простейшая программа на OpenGL и на Direct3D
glClear(GL_COLOR_BUFFER_BIT); glBegin(GL_TRIANGLES); glColor3d(1,0,0); glVertex3d(1,2,3); glColor3d(0,1,0); glVertex3d(4,5,6); glColor3d(0,0,1); glVertex3d(7,8,9); glEnd();
и ее аналог на DirectX
struct CUSTOMVERTEX { FLOAT x, y, z, rhw; DWORD color;}; CUSTOMVERTEX g_Vertices[] = { {1, 2, 3, 1, 0xffff0000}, {4, 5, 6, 1, 0xff00ff00}, {7, 8, 9, 1, 0xff0000ff}, }; LPDIRECT3DVERTEXBUFFER8 p_VertexBuffer = NULL;
d3d_Device->Clear (0, 0, D3DCLEAR_TARGET, D3DCOLOR_XRGB (0, 0, 0), 0, 0); d3d_Device->CreateVertexBuffer (3*sizeof(CUSTOMVERTEX), 0, D3DFVF_XYZRHW | D3DFVF_DIFFUSE, D3DPOOL_DEFAULT, &p_VertexBuffer); VOID* pVertices; p_VertexBuffer->Lock (0, sizeof(g_Vertices), (BYTE**)&pVertices, 0); memcpy (pVertices, g_Vertices, sizeof(g_Vertices)); p_VertexBuffer->Unlock();
d3d_Device->BeginScene (); d3d_Device->SetVertexShader (D3DFVF_CUSTOMVERTEX); d3d_Device->SetStreamSource (0, p_VertexBuffer, sizeof(CUSTOMVERTEX)); d3d_Device->DrawPrimitive (D3DFVF_XYZRHW | D3DFVF_DIFFUSE, 0, 1); d3d_Device->EndScene ();
а вывод каждый знает сам и знает о чем я думаю :) и еще рекомендую сравнить обращения на асме к DirectX и к OpenGL :) Хотя и на вид можно понять где больше выполнений пустой пересылки данных, собственно которая нам вообще не уперлась
Ситуация в общем-то нормальная, если вспомнить, для чего создавалась каждая из технологий. Но если мы обратим внимание, что Doom III, самая нашумевшая игра последнего времени, написана на OpenGL, то поневоле закрадывается подозрение, что не все так просто. Может быть, в id Software знают какой-то секрет, делающий применение OpenGL предпочтительнее?
-
> Но если мы обратим внимание, что Doom III, самая нашумевшая > игра последнего времени, написана на OpenGL, то поневоле > закрадывается подозрение
А до нее был GTA, а после нее HL2, теперь вот обливион. Не показатель (я отнюдь не расжигатель. просто факт не убедительный).
-
homm, VRomanV имел ввиду, что почему-то у всех новичков(я не исключение) програмистов, которые решили писать 3д игры, сложилось впечатление, что хорошую игру можно написать на Директе, а на ОпенГЛ этого не добится. Вот он и приводит в пример знаменитый Doom III, который написан на ОпенГЛ(а я думал, что на директе он), что доказывает обратное в ощем заблуждении: на OpenGL можно писать отличные игры.
-
Берите выше Prey и Quake4 тоже на OpenGl
-
> А до нее был GTA, а после нее HL2, теперь вот обливион.
Какой нафиг OpenGL? А DX не хочешь!!!!!
-
> [223] ElectriC © (21.06.07 03:54)
HL 2 поддерживает OGL. Про остальные - не знаю.
-
> [223] ElectriC © (21.06.07 03:54) > > А до нее был GTA, а после нее HL2, теперь вот обливион. > Какой нафиг OpenGL? А DX не хочешь!!!!!
Прочти весь пост, задумайся с каой целью он был написан.
-
Кстати, не подскажите в таком случае, где можно по-подробней прочесть о современном программировании на OpenGL в Delphi т.к. всякие книжки-самоучители рассказывают только азы, а мне нужно более профессионально. В часности, как в opengl шейдеры делать.
-
на русском я книг еще не видел, только как писать на DirectX. Посмотрите на ресурсах на www.gamedev.ru должно быть, есть на английском на Delphi3d.net
-
> [226] Dimon550 © (28.06.07 17:45)
Я начинал с "openGL. Трехмерная графика и язык программирования шейдеров" Рэнди Дж. Рост. Издательства "Питер"
-
> Yashin > @!!ex
А не в курсе, случайно, очень отличается вставка шейдеров в DX и в OpenGL? Не, ну ясно, что команды будут разные! Я про другое: сам принцип вставки отличается друг от друга?
-
> [229] Dimon550 © (30.06.07 00:02)
Х.з. Никогда не работал с шейдерами под DX. Могу предположить что отличаються, насколько я знаю, в ДХ они ж заранее компилятся? А в ОГЛ во время загрузки.
-
Могу поделится модулем для работы с шейдерами в ОГЛ.
-
давай! буду очень признателен... да думаю и не только я)) И еще желательно примерчик с применением этого модуля, чтоб разобрать хотяб в основных его функциях
-
>Могу предположить что отличаються, насколько я знаю, в ДХ они ж заранее >компилятся? А в ОГЛ во время загрузки.
Отличаются сильно, если использывать стандартный язык шейдеров. Если использывать библиотеку nvidia для компиляции шейдера, то можно использывать один. И там и там шейдеры можно скомпилировать когда захочешь.
-
Удалено модератором
|