DirectX или OpenGL

Мир цифровых технологий
Site Admin
Аватара пользователя
Сообщения: 10082
Зарегистрирован: 26-04-2004

Сообщение KriG » 22-10-2004

Никаких дополнительных условий.

Просто ответьте что предпочитаете вы.

Если очень хочется можете аргументировать свой ответ.

Госу Флудер
Сообщения: 2740
Зарегистрирован: 20-04-2004

Сообщение d'green » 22-10-2004

Конечно DirectX..начиниая с версии 7 он безбожно обогнал opengl =)
Все последние игры написаны на dx9 (Halo,CS:S) И т.д. =) плюс общирная библиотека стандартных функций и классов D3DX =) и само собой серьёзный коммерчский разработчик(Микрософт) , не оставляют OpenGL, никаких шансоф =)

Site Admin
Аватара пользователя
Сообщения: 10082
Зарегистрирован: 26-04-2004

Сообщение KriG » 24-10-2004

[quote=d'green,Oct 22 2004, 06:39 PM]Все последние игры написаны на dx9 (Halo,CS:S) И т.д. =)

[/quote]

Doom 3, 3DS MAX (не совсем игра :)) = OpenGL

общирная библиотека стандартных функций и классов D3DX =)



универсальность не всегда хорошо

серьёзный коммерчский разработчик(Микрософт) , не оставляют OpenGL, никаких шансоф =)



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

к тому же SGI не пряниками банчит, а является не менее серьезным коммерческим разработчиком специализирующемся именно на компутерной графике

Госу Флудер
Сообщения: 2740
Зарегистрирован: 20-04-2004

Сообщение d'green » 24-10-2004

1.Ну вот ты и посмотри на минтребования HL2 и minтребования doom3 и как он идёт =)
2. D3DX ..вообщем-то стандартный способ никто не запрешал, просто наличие библиотечных(хорошо отлаженных и оптимизированных) функции всегда ПЛЮС так как в 95% случаях облегчает жизнь разработчику.
3. Про продукты микрософта Если бы пишешь программу Hello World, то конечно она будет безглючной, а если пишешь что-то очень глобальное + с дружественным интерфейсов для ламеров(т.к. это основной клиент) то дыры будут...кто вообщем сказал, что можно напистаь продукт уровня Винды+дефолтные приложения без глюков?? или кто-то написал что-то подобное???
4.Учитивая что в игры играюТ на 99.9% под вЕндой не вижу смысла юзать чуждую графическую библиотеку, уж своей разработке под своей операционной системой микрософт обеспечит полную поддержку и производительность.
5. И писать рекомендуецца на MVC++ т.к. язык на котором написана вЕнда не может быть хуже продукта для создание приложений под Виндоус, чем скажем Билдер.
6.Наличие DirectX SDK с кучей семплов и наконец мегаМануал MSDN =)
7. Вообщем OpenGL на данном этапе сильно проигрывает Директу =)
8.Наконец математические функции для работы с матрицами из D3DX вроде как реализованы на asm =) что ускоряет работу =)

Site Admin
Аватара пользователя
Сообщения: 10082
Зарегистрирован: 26-04-2004

Сообщение KriG » 24-10-2004

[quote=d'green,Oct 24 2004, 11:31 PM]1.Ну вот ты и посмотри на минтребования HL2 и minтребования doom3 и как он идёт =) 
2. D3DX ..вообщем-то стандартный способ никто не запрешал, просто наличие библиотечных(хорошо отлаженных и оптимизированных) функции всегда ПЛЮС так как в 95% случаях облегчает жизнь разработчику.
3. Про продукты микрософта Если бы пишешь программу Hello World, то конечно она будет безглючной, а если пишешь что-то очень глобальное + с дружественным интерфейсов для ламеров(т.к. это основной клиент) то дыры будут...кто вообщем сказал, что можно напистаь продукт уровня Винды+дефолтные приложения без глюков?? или кто-то написал что-то подобное???
4.Учитивая что в игры играюТ на 99.9% под вЕндой не вижу смысла юзать чуждую графическую библиотеку, уж своей разработке под своей операционной системой микрософт обеспечит полную поддержку и производительность.
5. И писать рекомендуецца на MVC++ т.к. язык на котором написана вЕнда не может быть хуже продукта для создание приложений под Виндоус, чем скажем Билдер.
6.Наличие DirectX SDK с кучей семплов и наконец мегаМануал MSDN =)
7. Вообщем OpenGL на данном этапе сильно проигрывает Директу =)
8.Наконец математические функции для работы с матрицами из D3DX вроде как реализованы на asm =) что ускоряет работу  =)

[/quote]

1. А ты посмотри на количество овых технологий реализованых в Д3

2. Согласен, серьезно облегчает.

3. БэЗэДэшники и линуксоиды (там даже дружественный интерфейс есть :)) утверждают что есть такие продукты %)

4.
Name: opengl32.dll
Discription: OpenGL Client DLL
Company: Microsoft Corporation


5. Согласен на 110%

6. У меня MSVC.NET c хорошим хелпом по OGL

7. gl\gl.h gl\glu.h gl\glaux.h по дефолту

8. Насколько мне известно многие матричные операции реализованы аппаратно и от системы зависят не особо. OGL поддерживается аппаратно еще со времен Voodoo 1 =)

Госу Флудер
Сообщения: 2740
Зарегистрирован: 20-04-2004

Сообщение d'green » 24-10-2004

Про преобразования на уровене видеокарт работы с вертексными буферами хз...обычно такая информация храницца в SDK от производителей видеокарт =) ATI SDK NVIDIA SDK =) а какое SDK будеи использовацца при создание продукта, часто зависит от того с кем у разработчика контракт ...как в случае с Doom3 и HL2 один быстрее на NVidia другой на ATI =)

Госу Флудер
Сообщения: 2740
Зарегистрирован: 20-04-2004

Сообщение d'green » 25-10-2004

Гы Нашёл ещё один аргумент =) openGL создан в стиле набора функций =) а DirectX в стиле COM-компонента, а ООП структура всегда плюс =)
плюс в пакет от микрософт входят очень полезные фичи типа Direct Input, Direct Sound и т.д. =)

Site Admin
Аватара пользователя
Сообщения: 10082
Зарегистрирован: 26-04-2004

Сообщение KriG » 26-10-2004

[quote=d'green,Oct 25 2004, 02:35 PM]Гы Нашёл ещё один аргумент =) openGL создан в стиле набора функций =) а DirectX в стиле COM-компонента, а ООП структура всегда плюс =)
плюс в пакет от микрософт входят очень полезные фичи типа Direct Input, Direct Sound и т.д. =)

[/quote]

И то и другое относится к вопросу реализации кучи стандартных методов. Из набора ПРОСТЫХ функций достаточно просто написать класс, причем подогнать его под свои нужды. Если например пишешь какую нить логическую игру 3/4 параметров у DX функций вобще не нужны, то есть NULL.

Direct Input очень удобен когда юзаешь палочку для удовольствий (JoyStick :)) или геймпад, а обработку клавы и мыши ничего не стоит замутить:
[font=Courier]
class Ckbd
{
private:
  bool keys[256];
public:
  void ProcessKey(int key, bool down);
  bool isKeyPressed(int key);
};

void Ckbd::ProcessKey(int key, bool down) { keys[key]=down; }
bool Ckbd::isKeyPressed(int key) { return (keys[key]); }

//где нить в основном классе напр. СmyGame
public:
  Ckbd gameKbd;

//создаем экземпляр класса
CmyGame gosuGame;

//в WndProc

switch (msg)
{
  case WM_KEYDOWN:
    gosuGame.gameKbd.ProcessKey((int)wParam, true);
    break;
  case WM_KEYUP:
    gosuGame.gameKbd.ProcessKey((int)wParam, false);
    break;   
}

//если надо проверить нажата ли клавиша F1
if (gosuGame.gameKbd.isKeyPressed(VK_F1)) //че нить делаем

//Ctrl+Z
if (gosuGame.gameKbd.isKeyPressed(VK_CONTROL) &&
    gosuGame.gameKbd.isKeyPressed(VK_Z)) //еще че нить делаем

//с мышкой почти то же самое только обрабатывать больше собщений
[/font]


Не думаю что в DI работать с клавой также приятно (даже видел где-то класс для работы с клавой, мышью и джойстиком - более грамоздко, а возможности те же)

(Свежак)
Сообщения: 17
Зарегистрирован: 25-04-2004

Сообщение CYFiVE » 11-11-2004

Name: opengl32.dll
Discription: OpenGL Client DLL
Company: Microsoft Corporation

Open Graphic Language - расшифровка абревиатуры OpenGL, а ее реализации может делать любая контора, лишбы функции назывались как надо и делали то что должны делать :)
А вообще спор сейчас идет не о том, что лучше, а какое API лучше использовать... Увы но реализация OpenGL не ахти какая, тем более Microsoft объявила уже давно о том, что OpenGL для виндовс она не поддерживает... Остается уповать только на SGI, и производителей железа, но я что-то слышал, что и SGI тоже уже на OGL подзабила :( в итоге как не крути, а остается DX.

Site Admin
Аватара пользователя
Сообщения: 10082
Зарегистрирован: 26-04-2004

Сообщение KriG » 11-11-2004

[quote=CYFiVE,Nov 11 2004, 07:53 PM]я что-то слышал, то и SGI тоже уже на OGL подзабила :( в итоге как не крути, а остается DX.

[/quote]

А вот я точно знаю что недавно SGI выпустила OGL 2.0, и если до недавнего времени лидирующие позиции принадлежали DX, то теперь OGL исколько не уступает DX. Уже даже видел на никсе карточкис поддержкой OGL 2.0.

Microsoft объявила уже давно о том, что OpenGL для виндовс она не поддерживает


Большой Билл почувствовал реальную конкуренцию своему детенышу и всяческими способами пытается его защитить. Думаю что для серьезных геймдевелоперов это не проблема, к тому же вероятнее всего в сети появятся DLL'ки для поддержки ОГЛ новых версий, причем распостранятся будут совершенно свободно.

След.

Вернуться в Hi-Tech

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 8