Модераторы: Rickert

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> DirectX vs OpenGL для игр типа стратегий, Что более пригодно? 
:(
    Опции темы
DemoCode
Дата 28.7.2006, 15:02 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 890
Регистрация: 20.10.2005
Где: Россия

Репутация: 2
Всего: 41



Вообще-то мне надо не для игры, но разницы между тем что мне надо и игрой-стратегией (карта, юниты - ну как обычно) нет. Поэтому и спрашиваю в этот раздел. 

Прочитал несколько обзоров на тему "DirectX vs OpenGL", но вывод не что юзать сделал, т.к. везде описываются преимущества того или другого при создании игр с серьёзными 3D-эффектами, которые скорее подпадают под стрелялки, мочилки, гонки, убивалки и т.д. (мне такого не надо). Пришёл к выводу, что разработка с DirectX дольше, сложнее, но эффективнее по скорости и т.д. OpenGL подкупает своей относительной простотой и кроссплатформенностью. Поэтому пока склоняюсь больше в сторону OpenGL. Развейте, пожалуйста, мои сомнения, если я не прав.

Спасибо. 


--------------------
Жить стало лучше, жить стало веселей
© И.В. Сталин 
PM MAIL ICQ   Вверх
unicuum
Дата 28.7.2006, 19:28 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 830
Регистрация: 16.3.2005
Где: Рашка

Репутация: нет
Всего: 8



Цитата(DemoCode @  28.7.2006,  15:02 Найти цитируемый пост)
Пришёл к выводу, что разработка с DirectX дольше, сложнее, но эффективнее по скорости и т.д. 

Лучше сразу говорить о конкретных вещах, так как со временем всё меняется, в том числе и упомянутые выше графические библиотеки. Для DirectX 9 это выглядит примерно так:

• DirectX Graphics - 2D/3D графика. 
• DirectShow - Потоковое видео. 
• DirectInput - Различные устройствами ввода. 
• DirectSound и DirectMusic - Звук. 
• DirectPlay - Стандартный интерфейс для создания 
сетевого взаимодействия на базе различных 
сетевых протоколов и провайдеров  (Под 
провайдером, конечно, понимается не та фирма у 
которой ты дорогой читатель приобретаешь доступ 
в интернет smile.

Просто в предыдущих версиях DirectX Graphics была разделена на DirectDraw и Direct3DOpenGL тоже имеет свои особенности (1.5, 2.0). Ранее в книгах читал, что Direct3D использует OpenGL для черчения графики, а если видеокарта не поддерживает таких функций, то они эмулируются программно. Следовательно, OpenGL в этом случае будет быстрее, хотя я думаю всё зависит от программиста. К тому же скорость в обмен на спецэффекты не всегда хорошо. Ещё отмечу, что многие игры, да и другие программы позволяют выбрать или DirectX или OpenGL, что ещё раз подтверждает вывод, что у них одна основа.
  

Это сообщение отредактировал(а) unicuum - 28.7.2006, 19:30


--------------------
user posted image
обычный день на винграде
PM   Вверх
empter
Дата 28.7.2006, 21:11 (ссылка)    | (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


Фанат
*


Профиль
Группа: Участник
Сообщений: 224
Регистрация: 20.5.2005

Репутация: 1
Всего: 4



DirectX давно победил!!!!!
Обьективно OpenGL ничего не может предложить в замен


Цитата(DemoCode @  28.7.2006,  15:02 Найти цитируемый пост)
OpenGL подкупает своей относительной простотой и кроссплатформенностью


Кроссплатформенность в играх не актуальна
 
PM MAIL MSN   Вверх
DENNN
Дата 28.7.2006, 23:02 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Участник Клуба
Сообщений: 3878
Регистрация: 27.3.2002
Где: Москва

Репутация: 3
Всего: 43



Цитата(empter @  28.7.2006,  21:11 Найти цитируемый пост)
DirectX давно победил!!!!!
Обьективно OpenGL ничего не может предложить в замен

Как говорится "По себе людей не судят" smile
Если кивать на статистику: "Вон сколько игр выходят на DX", то следует помнить, что это большинство сделано для быстрого зарабатывания денег, а не для достижения эффективности.

Оптимально - лучше использовать то, что хорошо знаешь. Если соображалки не хватит на создание хорошего алгоритма под задачу, то никакой мега-пупер-FutureX или MegaGL не помогут smile 
PM ICQ   Вверх
Fighter
Дата 3.8.2006, 01:06 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 810
Регистрация: 5.1.2005

Репутация: нет
Всего: 2



Цитата(empter @  28.7.2006,  21:11 Найти цитируемый пост)
DirectX давно победил!!!!!
Обьективно OpenGL ничего не может предложить в замен


Я конечно могу показаться голословным, но я помню что я где-то читал, что DirectX заточен только под игрушки, а вот если вам нужно сделать реальную систему моделирования (например автомобильного двигателя) и показаться как это все работает изнутри - то многие выбирают библиотеку OpenGL и OpenGL является здесь чуть ли не стандартом.
PM MAIL   Вверх
unicuum
Дата 3.8.2006, 02:19 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 830
Регистрация: 16.3.2005
Где: Рашка

Репутация: нет
Всего: 8



Цитата(DENNN @  28.7.2006,  23:02 Найти цитируемый пост)
Оптимально - лучше использовать то, что хорошо знаешь. Если соображалки не хватит на создание хорошего алгоритма под задачу, то никакой мега-пупер-FutureX или MegaGL не помогут   

Точно, соображаловка должна быть.smile

Цитата(DENNN @  28.7.2006,  23:02 Найти цитируемый пост)
Если кивать на статистику: "Вон сколько игр выходят на DX", то следует помнить, что это большинство сделано для быстрого зарабатывания денег, а не для достижения эффективности.

А как же игры, которые одновременно позволяют работать и с OpenGL и с DirectX? Уверяю, таких очень много, то есть большинство серьёзных проектов.

Цитата(Fighter @  3.8.2006,  01:06 Найти цитируемый пост)
Я конечно могу показаться голословным, но я помню что я где-то читал, что DirectX заточен только под игрушки, а вот если вам нужно сделать реальную систему моделирования (например автомобильного двигателя) и показаться как это все работает изнутри - то многие выбирают библиотеку OpenGL и OpenGL является здесь чуть ли не стандартом. 

Так просто OpenGL быстрее, за счёт того, что если видеокарта не поддерживает некую возможность, то она не будет использоваться в построении 3D изображения. Понятно, что двигатель в реальном времени предусмотрительней делать в OpenGL, хотя тут многое зависит от мощности компьютера.


--------------------
user posted image
обычный день на винграде
PM   Вверх
arilou
Дата 3.8.2006, 10:05 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Великий МунаБудвин
****


Профиль
Группа: Экс. модератор
Сообщений: 2646
Регистрация: 15.7.2004
Где: город-герой Минск

Репутация: 6
Всего: 61



Народ, давайте не будем скатываться к обсуждению DirectX vs OpenGL. Тема флеймовая, и уже есть на форуме. 

Мое личное мнение, никакой разницы нет, использовать одно или другое, где опыта больше, то и испольшуешь. Если все ново, лучше браться за DX, потому что он написан в ООП стиле, а OGL - в процедурном. Хотя OGL проще на начальных этапах для понимания.

А еще лучше, если хочется сделать именно игру, а не движок, то воспользоваться одним из достаточно большого кол-ва доступных бесплатных. Например, Ogre.


--------------------
user posted imageuser posted image
PM WWW ICQ   Вверх
DemoCode
Дата 3.8.2006, 14:04 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 890
Регистрация: 20.10.2005
Где: Россия

Репутация: 2
Всего: 41



Цитата(Fighter @  3.8.2006,  02:06 Найти цитируемый пост)
а вот если вам нужно сделать реальную систему моделирования

Примерно такое и надо. Только интерфейс должен напоминать игру-стратегию (карта, юниты и т.д.)

Цитата(arilou @  3.8.2006,  11:05 Найти цитируемый пост)
лучше браться за DX, потому что он написан в ООП стиле

Железный довод. Возьмусь за DirectX.


--------------------
Жить стало лучше, жить стало веселей
© И.В. Сталин 
PM MAIL ICQ   Вверх
DENNN
Дата 3.8.2006, 15:43 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Участник Клуба
Сообщений: 3878
Регистрация: 27.3.2002
Где: Москва

Репутация: 3
Всего: 43



Цитата(DemoCode @  3.8.2006,  14:04 Найти цитируемый пост)
Цитата(arilou @  3.8.2006,  11:05 Найти цитируемый пост)
лучше браться за DX, потому что он написан в ООП стиле

Железный довод. Возьмусь за DirectX.

Я бы сказал в COM-стиле. А это несколько другое (модель черного ящика).
PM ICQ   Вверх
$tatic
Дата 3.8.2006, 17:11 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 651
Регистрация: 28.1.2005

Репутация: 7
Всего: 22



Ну если Managed DirectX (для .NET) - то чистый ООП, а для C++ это COM технология
PM MAIL   Вверх
DemoCode
Дата 3.8.2006, 17:14 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 890
Регистрация: 20.10.2005
Где: Россия

Репутация: 2
Всего: 41



Цитата($tatic @  3.8.2006,  18:11 Найти цитируемый пост)
Ну если Managed DirectX (для .NET) - то чистый ООП

А он не медленнее  и не хуже чем UnManaged DirectX? Есть какая-то принципиальная разница?


--------------------
Жить стало лучше, жить стало веселей
© И.В. Сталин 
PM MAIL ICQ   Вверх
unicuum
Дата 3.8.2006, 18:59 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 830
Регистрация: 16.3.2005
Где: Рашка

Репутация: нет
Всего: 8



Цитата(DemoCode @  3.8.2006,  17:14 Найти цитируемый пост)
А он не медленнее  и не хуже чем UnManaged DirectX? Есть какая-то принципиальная разница? 

Какой-то затёртый уже вопрос. На мой взгляд, для программиста главное то, что неуправляемый код базируется на COM библиотеках (dll и так далее), а они в свою очередь разбросаны по Windows, что неудобно в определении версии и так далее. Управляемый код же будет работать, если поместить использованную в программе библиотеку в папку с исполняемым файлом и не потребуется никакой регистрации и прочего. К тому же файлы, скомпилированные как управляемые можно считать более открытым кодом, чем аналогичные COM. Вот и выходит, что в одном случае используется DirectX основанный на COM библиотеках, а в другом на библиотеках сборках (%systemroot%\assembly). Ну, если где-то в объяснениях ошибся, поправьте.

Это сообщение отредактировал(а) unicuum - 12.1.2007, 05:08


--------------------
user posted image
обычный день на винграде
PM   Вверх
Ch0bits
Дата 3.8.2006, 19:28 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Python Dev.
****


Профиль
Группа: Завсегдатай
Сообщений: 2124
Регистрация: 21.2.2005
Где: Казань

Репутация: 2
Всего: 62



Цитата(DemoCode @  3.8.2006,  18:14 Найти цитируемый пост)
А он не медленнее  и не хуже чем UnManaged DirectX? Есть какая-то принципиальная разница?

Поскольку Managed DirectX - это ООП оболочка под .NET native DirectX, то естественно это требует некоторых жертв, но снижение самое мизерное. Не забывайте, что производительность в играх в первую очередь зависит от видеокарты.
PM WWW   Вверх
DENNN
Дата 5.8.2006, 15:12 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Участник Клуба
Сообщений: 3878
Регистрация: 27.3.2002
Где: Москва

Репутация: 3
Всего: 43



Цитата(Ch0bits @  3.8.2006,  19:28 Найти цитируемый пост)
производительность в играх в первую очередь зависит от видеокарты.

Производительность графики зависит от того, что и как пытаюстя нарисовать. Когда оптимизировать эти  два параметра не удается, начинают наращивать мускулы.
PM ICQ   Вверх
Beltar
Дата 25.12.2006, 09:07 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 627
Регистрация: 11.1.2006

Репутация: нет
Всего: 7



Цитата

DirectX давно победил!!!!!
Обьективно OpenGL ничего не может предложить в замен


Из игр 2004 г. На OpenGL вышли Doom 3, и "Хроники Риддика", FarCry позволял использовать OpenGL версию движка. smile Про 2005-2006 не скажу.


--------------------
Опытный программист на C++ легко решает любые не существующие в Паскале проблемы. smile(с) я, хотя может и нет
Пищущий на C++ мужик. Даже если это мужик сидит в написанном на Delphi и жрущем паскалевскую библиотеку билдере.
PM MAIL   Вверх
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Программирование игр, графики и искуственного интеллекта"
Rickert

НА ЗЛОБУ ДНЯ: Дорогие посетители, прошу обратить внимание что новые темы касающиеся новых вопросов создаются кнопкой "Новая тема" а не "Ответить"! Любые оффтопиковые вопросы, заданные в текущих тематических темах будут удалены а их авторы, при рецедиве, забанены.

  • Литературу, связанную с программированием графики, обсуждаем здесь
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы связанные с программированием графики и мультимедии на языках С++ и Delphi
  • Вопросы по реализации алгоритмов рассматриваются здесь

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Rickert.

 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Программирование игр, графики и искусственного интеллекта | Следующая тема »


 




[ Время генерации скрипта: 0.1017 ]   [ Использовано запросов: 20 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.