Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Игры";
Текущий архив: 2004.07.11;
Скачать: [xml.tar.bz2];

Вниз

Что лучше DirectX или OpenGL?   Найти похожие ветки 

 
Юрий Ж. ©   (2004-03-15 20:29) [0]

Вопрос конечно вечен, но...


 
Magikan ©   (2004-03-16 02:56) [1]

SDL + OpenGL


 
TButton ©   (2004-03-16 12:45) [2]

DirectX лучше работает под виндами
OGL одинаково криво работает на любой платформе, выбор за тобой.


 
hexone ©   (2004-03-16 13:30) [3]


> OGL одинаково криво работает на любой платформе,

.. если руки кривые.


 
WebError   (2004-03-16 17:28) [4]

Смотря, что тебе надо, какие у тебя знания ООП (если никаких, то DX противопоказан!) OGL предполагает хорошее знание платформы на которой пишешь, но заточена под процеДуры, а вот DX - чистейший ООПс! COM - forever! Вообще-то что-то несложное, тогда выбирай OpenGL, подключи GL, GLU, GLAUX и работай себе на здоровье! :)


 
cyborg ©   (2004-03-16 19:35) [5]

Корректней вопрос звучать должен так: "Что лучше Direct3D или OpenGL?".
А в данном случае DirectX естественно лучше, так, как там много чего есть.


 
Mihey ©   (2004-03-16 20:16) [6]

2 cyborg:

А если корректно?


 
cyborg ©   (2004-03-16 21:30) [7]

А если корректно, то я не знаю.


 
Magikan ©   (2004-03-17 05:01) [8]

Кто там что про OGL заливает? Про Quake 3 забыли? После того, как Loki Entertaiment перенесла его на SDL (которая отлично работает совместно с OpenGL) - компилируется на любой платформе (windows, linux, FreeBSD, MacOS classic, MacOS X, BeOS, Solaris и пр.) без изменения кода. Быстродействие ничуть не хуже, чем в оригинале (по крайней мере в версии для Linux). А DirectX - это лишняя головная боль, особенно для начинающих геймеров. Не для игровой библиотеки была придумана COM-архитектура.


 
wiz   (2004-03-17 15:05) [9]

а если немного перевести вопрос в другую плоскость:

Что работает быстрее Direct3D или OpenGL? (при одинаковых условиях нагрузки, одинаковом железе, одной винде и каких-то стандартных драйверах)

---------------
PS: (off-topic) хочу поприветсвовать всех и извиниться за почти годовое отсутствие


 
hexone ©   (2004-03-17 16:11) [10]


> Что работает быстрее Direct3D или OpenGL? (при одинаковых
> условиях нагрузки, одинаковом железе, одной винде и каких-то
> стандартных драйверах)

На этот вопрос тебе могут ответить только в ATI или nVidia


 
wiz ©   (2004-03-17 20:34) [11]

hexone: неужели никто не проверял ручками (на своей машине)?

воспрос созник отсюда: я сам разобрался (и продолжаю разбираться) с OpenGL, поэтому использую его. Периодически слышу от обывателей заявления типа: "Зачем ты делаешь под oGL, ведь D3D быстрее и лучше!". Заявления эти при ближайшем рассмотрении оказываются голословными, но некий осадок на душе остаётся.


 
Magikan ©   (2004-03-18 04:16) [12]

Что быстрее, OpenGL или Direct3D ?
Если в OpenGL задать программный рендеринг сцены, а в DirectX - аппаратный, то Direct3D будет работать быстрее. Если наоборот, то и результат будет, очевидно, наоборот (только в последнее время одна мелкомягкая фирмочка отказалась продолжать поддержку программного рендеринга, из-за чего Direct3D выпадет в осадок). Если использовать и в OpenGL аппаратный и в DirectX тоже аппаратный рендеринг, то результат будет примерно одинаковый. Примерно - из-за того, что макрософт сдуру игровую библиотеку написала на COM-технологии, которая на заднем фоне создает шумы в производительности (точнее часть процессорного времени уходит на обработку вызовов интерфейсов, для удостоверения в этом более внимательно ознакомьтесь с самой технологией), что немного медленне OpenGL. Аппаратная поддержка железа что там, что там одинаковая (если драйверы установлены правильно), все новые возможности, которые появились в DirectX9, доступны в OpenGL через расширения. А если нет разницы (ну почти нет), зачем платить больше? Зачем изучать интерфейсы DirectX9, которые в DirectX10 будут другими?


 
NailMan ©   (2004-03-20 15:43) [13]

Magikan ©
Примерно - из-за того, что макрософт сдуру игровую библиотеку написала на COM-технологии, которая на заднем фоне создает шумы в производительности (точнее часть процессорного времени уходит на обработку вызовов интерфейсов, для удостоверения в этом более внимательно ознакомьтесь с самой технологией), что немного медленне OpenGL.
Что-то не сильно я заметил шума производительности.

COM D3D удобен и эффективен, в отличие от...

Аппаратная поддержка железа что там, что там одинаковая (если драйверы установлены правильно), все новые возможности, которые появились в DirectX9, доступны в OpenGL через расширения
Хех...молодой еще, зеленый(C) Кин-дза-дза.

OGL и D3D на одной и той же видеокарте идут по разному из-за того что вендор этой видеокарты отдал предпочтение(заточка дров) одному API.
У ATI это D3D, у nVidia это OGL.

С учетом того что игра пишется не под конкретное железо - надо вибирать компромисс.

А если нет разницы (ну почти нет), зачем платить больше?
В чем заключается платеж?

Зачем изучать интерфейсы DirectX9, которые в DirectX10 будут другими?
Что-то я не заметил особенно сильных отклонений в интерфейсах D3D при переписывании движка с D3D8 на D3D9. Ну изменил некоторые названия и имена структур - это практически все изменения.

Тем более я не думаю что будучи написав игру на D3D9 я буду ее переписывать заново на DX10 когда он появится. Тем более что появится он не раньше Лонгхорна, т.е. не ранее середины 2005г.


 
Magikan ©   (2004-03-24 03:38) [14]

NailMan ©
Насчет заточки драйверов - это ты зря. Производители одинаково поддерживают как OGL так и D3D. Иначе на играх бы писали - что эта игра для ATI Radeon, а эта игра для NVidia GeForce. Ты представляешь, как это было бы глупо. Приходишь в магазин и говоришь: "продайте мне видеокарту, чтобы я мог в Quake3 поиграть" или "мне подарили Warcraft III, а моя видеокарта его не держит" или еще тупее: "мне, пожалуйста, GeForce FX 5200, чтобы я мог в Quake3 погонять и ATI Radeon 9200, чтобы в Warcraft III c друзьями порубиться". Бывают игры заточенными под конкретную видеокарту (как Seriouse Sam или Unreal Turnament 2003), но никак ни дрова под игровой движок.


 
wiz ©   (2004-03-24 08:49) [15]

2 Magikan

>Производители одинаково поддерживают как OGL так и D3D
Вот тут ты не совсем прав... Как минимум реализация openGL у каждого производителя своя (через свой набор расширений). А вот D3D (насколько я понимаю) - штука универсальная. Таким образом уже есть расхождения.

>Иначе на играх бы писали - что эта игра для...
...и зря не пишут. Хотя сейчас ситуация (похоже) выравнивается, но еще совсем недавно (2-3 года назад) игрушки вели себя очень по разному на nV и ATI.

я сам тогда только начинал использовать openGL и сильно удивился (и огорчился) в следующей ситуации:

а) написание и отладка проекта велась на компах с nVidia-картами (TNT2, GeForce-GTS, GeForce-2 MX, GeForce-2)
б) показ происходил у заказчика на машине с ATI FireGL 8800 (зверь а не карта, но ATI"шная)
в) Хотя различий (по картинке) не было на рабочих машинах, мы увидели совсем не то у заказчика.

Немного по другому работал AlphaBlending. Чуть-чуть по другому работал z-test (такое чувство, что округление по разному реализовано). Немного по другому выглядели материалы.

г) нас (программеров графики) спасло только то, что проект был не особо важный, а кроме того отсыл заказчику произошёл раньше установленного срока, так что у нас было время всё исправить.


 
suicide   (2004-03-24 09:25) [16]

>Производители одинаково поддерживают как OGL так и D3D

А ты попробуй поиграть в DroneZ на ATI видюхе, я пробовал на Radeon 9800Pro - не идёт. Зато на вшивой TNT абы как. И как после этого понимать этих конкурентов: берите берите ATI, да вы что берите Nvidia они круче. Вообщем одни вытесняют других с рынка любым всевозможным способом.


 
hexone ©   (2004-03-24 10:40) [17]


> Вообщем одни вытесняют других с рынка любым всевозможным
> способом.

Вот это очень даже может быть.


 
TButton ©   (2004-03-24 15:02) [18]

>.. если руки кривые.

а че ж у меня контра в OGL глючит? у кого руки корявые?


 
hexone ©   (2004-03-24 16:03) [19]


> а че ж у меня контра в OGL глючит? у кого руки корявые?

Зачем путать конкретную специфику твоей машины с руганью в сторону OpenGL. На OpenGL разрабатываются серьезные программы типа САПР как раз из-за того, что он продуманный и кроссплатформенный. Нужно конечно отметить, что там(GL) не очень удобно реализованы расширения, да они серьезным программам не очень-то и нужны. Игры прежде всего иллюзия реальности. Там(в САПР) не нужна реальность, там реальность не в визуализации а в расчетах и чертежах. А где нужна реальность там используется алгоритмы типа RayTracing, до которых, к сожалению, еще любой реализации DX и GL еще топать и топать. Резюмируя могу сказать: Выбор библиотеки зависит от задач, которые призвана решать твоя программа, а не от "что тебе приглянется на том и пиши". Любой задаче всегда предшествует анализ, в этот анализ и входит выбор библиотеки.


 
TButton ©   (2004-03-24 17:36) [20]

>Зачем путать конкретную специфику твоей машины с руганью в
>сторону OpenGL
и что мне теперь удавиться и не жить если у меня машина такая???

3ds MAX R4 тоже глючит, на OGL. viewport"ы постоянно замусориваются, зато на Direct3D все нормально (не то чтоб хорошо, но нормально). что еще раз подтверждает основную идею моего первого поста Direct3D будет работать (пусть не на 5+ и даже не на 4-, но) на любой машине (под виндами)


 
Magikan ©   (2004-03-25 03:31) [21]

;)
Да нравится вам пользоваться макрософтовскими библиотеками - пользуйтесь наздоровье :) Все равно это неудобно ;) и ненадолго B)


 
GrayFace ©   (2004-03-25 12:49) [22]

[20], 3ds MAX 6 глючит на Direct3D.
[21], неудобно - навеное, но ненадолго - это не так.



Страницы: 1 вся ветка

Форум: "Игры";
Текущий архив: 2004.07.11;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.51 MB
Время: 0.036 c
4-1086185977
K.o.Z
2004-06-02 18:19
2004.07.11
TOpenDialog


1-1088072674
Anatoliy
2004-06-24 14:24
2004.07.11
Распаковать буфер


3-1087448421
Yura
2004-06-17 09:00
2004.07.11
Проблема с полем выбора?


3-1086415021
Sour
2004-06-05 09:57
2004.07.11
Invalid blob id


3-1087307503
denis24
2004-06-15 17:51
2004.07.11
Внешнее обьединение с несколькими таблицами





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский