Суббота, 20 Апреля 2024, 07:38

Приветствую Вас Гость

[ Новые сообщения · Игроделы · Правила · Поиск ]
  • Страница 1 из 2
  • 1
  • 2
  • »
Форум игроделов » Программирование » Общие обсуждения программистов » DirectX или OpenGL (Что выбрать?)
DirectX или OpenGL
VinchensooДата: Пятница, 04 Сентября 2009, 18:41 | Сообщение # 1
Злобный социопат с комплексом Бога
Сейчас нет на сайте
Вот, вечный вопрос встал.....
т.к. я в дх не особо внедрился, подумываю насчет того, чтобы сменить апи...
Просьба опытных людей советовать...но только тех, кто знает....


el_reyДата: Пятница, 04 Сентября 2009, 19:40 | Сообщение # 2
почетный гость
Сейчас нет на сайте
Конечно же DirectX!!!

Пишу учебник
VinchensooДата: Пятница, 04 Сентября 2009, 19:44 | Сообщение # 3
Злобный социопат с комплексом Бога
Сейчас нет на сайте
Quote (Vinchensoo)
Просьба опытных людей советовать...но только тех, кто знает....

наверное не просто так прошу....
Объясни, почему дх и тд


el_reyДата: Пятница, 04 Сентября 2009, 19:53 | Сообщение # 4
почетный гость
Сейчас нет на сайте
Ну, во-первых, и это самое главное, под directX гораздо лучше реализована поддержка видеокарт. Во-вторых, в версиях DirectX после восьмой, стало намного легче работать.

Добавлено (04.09.2009, 19:53)
---------------------------------------------
Извиняюсь за встречный вопрос, а чем конструкторы не устраивают?


Пишу учебник
VinchensooДата: Пятница, 04 Сентября 2009, 19:56 | Сообщение # 5
Злобный социопат с комплексом Бога
Сейчас нет на сайте
el_rey, во-первых, более серьезный уровень, конструкторы для меня- детский лепет, делать что ли 3д тетрис. Делаю мморпг, для нее не нашел норм движка, пишу свой. Вот вопрос и стоит, какой взять апи

el_reyДата: Пятница, 04 Сентября 2009, 19:58 | Сообщение # 6
почетный гость
Сейчас нет на сайте
мморпг, это типа чего? World of Warcraft?

Пишу учебник
VinchensooДата: Пятница, 04 Сентября 2009, 19:59 | Сообщение # 7
Злобный социопат с комплексом Бога
Сейчас нет на сайте
el_rey, жанр-да. Игровая механика и законы-нет. Я не ориентируюсь на прототипы в создании идеи своей игры

AkyltistДата: Пятница, 04 Сентября 2009, 20:03 | Сообщение # 8
заслуженный участник
Сейчас нет на сайте
OpenGL и Direct3D - две основные на сегодняшний день аппаратно-ускоряемые библиотеки для создания компьютерной трехмерной графики. Перед каждым начинающим 3D-программистом встает вопрос: какой из двух вариантов API выбрать? Мой Друг Винч, ты столкнулся именно с этим вопросом, я даже знаю кто виновник твоих сомнений))) Вопрос этот совсем не прост, собственного опыта для принятия осознанного решения, как правило, не хватает. И хотя на форумах такие темы обсуждаются регулярно, почерпнуть из них информацию порой непросто, поскольку "советы бывалых" обычно основываются на личных предпочтениях. Я на этом форуме не "бывалый", но буду основываться на своем мнении.

1. DX круче в плане разработки эффектов и структуры кода. ИМХО так сказать!
2. OpenGL юзабельнее, проще в изучении. Кроссплатформенна. Не привязана к структурам установленного DX. Помню (Yani-X) скыдывал пример своей демки. Кстати класная вещь у него получилась, но только с n-ым кол-вом глюков самого конструктора. Так вот его дема требовала DX обновы не ниже апреля 2009, а это сами понимаете не есть гуд.

3ю все зависит от того какой жанр игр мы предпочитаем и будет ли проект капать денюшку нам в кошелек. Да если мы делаем казуалку для секретарш, и за нее получаем копеечку притом хорошую, то благо есть DX. А если мы делаем ММОRPG? Вот тут плачь не плач, спорь не спорь, я за GL. И на чем же основанны лично мои коррыстные предпочтения.

1. Возьмем соседа нашего большого - Китай. Государство меньше нашего. Ресурсов мало. Пишепром стоит. Кушать нечего. И слоган: "Компьютер есть, можно не есть"©. Ребята переходят на Линукс. При чем правительство, школы, больницы, военные. Весь Госсектор. А нам известно, по истории нашей великой родины кто такой Госсектор в Социалистическом Госсударстве. Через 2-3 года, 70-80% Китайских пользователей будут юзать какое нибуть Юбинту 11, или Сюсю 15. И что мы будем делать со своей ММО на DX в китае? Правильно запускать Wine, и гнобить разработчика игры что игра через виртуализацию тормозит, да и виндовс 11 в 27 га (виндовс 7 встает на новый раздел пока в 18 га) никто не будет виртуализировать или покупать когда у всех вокруг линукс. И еще про Китай мы знаем что их приблизительно 2 миллиарда и на данный момент 600 милионов из которых имеют доступ в интернет а 156 миллионов играют в Онлайн Игры. Рынок настаивает на OpenGL. Тоже самое и с европой, Шведция, Дания, Нидерланды, австрия в этом году перешли на свободное ПО. То есть на Линукс дистрибутивы.

2. И так рынок понятен, тенденция ясна. OpenGL проще в изучении. Структура проще чем в DX, но в DX есть такие структурные оптимизации, что позволяют выигрывать в размераз кода в полтора раза, но не в простоте к сожалению И от того что код меньше) отнюдь не значит что он будет работать быстрее. Тут уж у кого откуда что растет.

3. Книг и информации по обоим технологиям в инете предостаточно. Учи не хочу. тут оба АпИ выигрывают.

4. Вспомним все крутые на данный момент двиги и под какую АПИ заточены? Ну что вспомнили))). Львиная доля создателей игр выбирает DirectX за удобную поддержку современных возможностей, остальные предпочитают OpenGL - за переносимость и простоту написания программ. Ситуация в общем-то нормальная, если вспомнить, для чего создавалась каждая из технологий. Но если мы обратим внимание, что Doom III, самая нашумевшая игра поколения, написана на OpenGL, то поневоле закрадывается подозрение, что не все так просто. Самая популярная ММО в мире на данный момент Линейдж 2 Грация. Все знают что она базируется на Анреал Эджин. А что он у нас поддерживает? Поддерживает такие ОС: Microsoft Windows, Linux, Mac OS и Mac OS X. Консоли и приставки: Xbox, Dreamcast и Nintendo GameCube, Xbox 360, PlayStation 2, PlayStation Portable, PlayStation 3 и Wii.

Ну и кто скажет что NCSoft не сечет в написании ММО?)) Они знаю на чем они делают и на каких технологиях.

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

Да и задумайтесь почему крутые кодеры типа Карамака и Стайла, кодят на связке OGL/C++. Да OGL была написана на чистом C, а DX на С++ в связке с СОМ объектами.

Сообщение отредактировал Akyltist - Пятница, 04 Сентября 2009, 20:08
AkyltistДата: Пятница, 04 Сентября 2009, 20:10 | Сообщение # 9
заслуженный участник
Сейчас нет на сайте
Quote (el_rey)
Ну, во-первых, и это самое главное, под directX гораздо лучше реализована поддержка видеокарт. Во-вторых, в версиях DirectX после восьмой, стало намного легче работать.

Прежде всего, нынешние видеокарты - это программируемые устройства. Теперь некоторый код можно выполнять прямо на графическом процессоре (GPU). Эти программы называют шейдерами. Они позволяют создавать сложнейшие эффекты в реальном времени. Изначально эти программы можно было писать только на "фирменных" языках производителей видеокарт - ATI и nVidia. Оба языка очень похожи на ассемблер, но, увы, несовместимы. А кому захочется писать два разных кода для реализации одного и того же эффекта? И вот в DirectX 8.0 появляется универсальный язык программирования шейдеров. Он тоже похож на ассемблер, но позволяет обойтись одним шейдером для обоих типов видеокарт. И снова закавыка: много ли людей любят программировать на языках низкого уровня? И вот Microsoft представляет в своем DX 9.0 уже C-подобный язык HLSL. ARB в ответ выкатил аналогичную технологию GLSL. Как уже говорилось, обе эти технологии далеки от совершенства, прежде всего из-за слабой оптимизации компиляторов. Например, создатели игры Chronicles of Riddick (кстати, использовавшие OpenGL) для увеличения производительности написали все шейдеры в двух вариантах, на родных ассемблероподобных языках от ATI и nVidia. Это выглядит странным, так как обычные компиляторы показывают совсем неплохие результаты.

В Dirext 9 стало легче работать относительно Direct 8 а не OpenGL)), извините за поправки но они справедливы.

el_reyДата: Пятница, 04 Сентября 2009, 20:11 | Сообщение # 10
почетный гость
Сейчас нет на сайте
To: Akylist
Да, а заодно с OpenGL можно начинать учить китайский!

To: Vinchensoo
> Я не ориентируюсь на прототипы в

Вот эту вот часть не совсем понял!?

По теме могу ещё посоветовать Ogre. На западе чрезвычайно популярная штука!


Пишу учебник
VinchensooДата: Пятница, 04 Сентября 2009, 20:17 | Сообщение # 11
Злобный социопат с комплексом Бога
Сейчас нет на сайте
Quote (el_rey)
По теме могу ещё посоветовать Ogre. На западе чрезвычайно популярная штука!

опенгл нужно знать,иначе никак....
Quote (el_rey)
Вот эту вот часть не совсем понял!?

то, что я не слизываю ролевую систему и т.д.
Т.е. не хочу сделать клон вов, хочу сделать свою игру


falconДата: Пятница, 04 Сентября 2009, 20:39 | Сообщение # 12
был не раз
Сейчас нет на сайте
Akyltist, во многом с тобой не согласен и в первую очередь относительно тенденций
так например о простоте. я сам лично уже ближе к OpenGL склоняюсь (это всмысле - не подумай что я говорю нечто вроде "OpenGL гавно Direct форева" вовсе нет... я о доводах)
OpenGL (Graphic Library) это не набор ком обьектов, это ЧИСТО графическая библиотека.
и отсутствие такой вещи как D3DX никак не делает OpenGL проще ^^
хотя в D3DX я до последнего сомнивался (не люблю когда чтото не под моим контролем..)
а уж о рынках это вообще бред..(без обид)
глянь на японию? им вообще плевать на чем и как играть, лиж бы играть.
корея. (Gravity)
америка - не самый играющий народ но уж точно не бедный и не малочисленный.
нет, массового засиления Линуксоидов и тому подобных не будет точно. по крайней мере среди игроков.
поясню.
раз уж решили говорить о тенденциях гляним в сторону DX 11
полностью программируемый рендерпайплайн (кроме тесселятора, который гибко настраивается)
новое поколение видиокарт которое осенью-зимой заполонит рынок. поколение DX 11 карт smile
думаю Akyltist, ты знаешь и видил скрины, для остальных приведу отличия:
реал-тайм рейтрейсинг
http://www.thevista.ru/files/images/articles/ANOTHER/teas_edited-1.jpg

тесселяция-
http://www.hothardware.com/articleimages/Item966/tesselator.png
этот процесс (тесселяция) одна из ступений конвеера, а не заранее нарисованная моделлером хайполи модель.

как думаете. спустя какое то время вспомнит ли кто об жирафах 9800 ?
или все таки их ждет таже участь что и софтварный рендер?

если говорить о тенденциях и рынке то вердикт - DX.
кстати Akyltist, я не слышал что бы XBOX\playstaton 1-3 поддерживали Open GL sad
пруф линк плз...
(напротив... XBOX и хна разрабатывались мелкософтом специально что б убить конкуренцию ГАПИ в своих системах...)

а если честно и по моему ИМХО то писать надо так что бы двиг не опирался на конкретное апи...
помните как батько ламот писал? путь хоть софтварный рендер - не важно. важно что замена нескольких ф-ций на другие "аппаратные костыли" не составляла труда.
тогда будет мультирендерный двиг и счастье.
автор должен сам решить что ему нужно...
имхо изза наличия D3DX , Direct всё таки по проще для новичка..
но это лишь имхо. выбирать надо самому

AkyltistДата: Пятница, 04 Сентября 2009, 20:48 | Сообщение # 13
заслуженный участник
Сейчас нет на сайте
Quote
раз уж решили говорить о тенденциях гляним в сторону DX 11

начни с тенденций рынка). Если ты считаешь что Китайский рынок и Рынок Индии бред, самыг значительных стран, то весь экономический спектр ИТ не считает так. А там уже посмотрим будет ли миру так интересен ДК 11, или OpenGL 3.2, нас порадует
Quote
реал-тайм рейтрейсинг

))) в ОГЛ есть эта фишка не помню сколько лет.

Quote
XBOX\playstaton 1-3

а в твоей то игре кто это запрещает? Таскай ее с собой)


Сообщение отредактировал Akyltist - Пятница, 04 Сентября 2009, 20:53
falconДата: Пятница, 04 Сентября 2009, 20:57 | Сообщение # 14
был не раз
Сейчас нет на сайте
)) в ОГЛ есть эта фишка не помню сколько лет
ээээ.. апаратно поддерживаемый? -_-
может OGL еще и воксели аппаратно ускоряет? не? smile
(собственно и DX не ускоряет)
линк в студию (извините, реалтайм рейтрейсинг это не 10-20 фпс на уникальнейшем железе на незаполненной сцене, реал-тайм рейТРЕЙСИНГ (не рейкаст) это то что выдает >60 фпс)

я сам бы хотел что бы Ogl 3.2 радовал.
дх 11 полностью пережил ПОЛНУЮ реконструкцию. и правильно.
рендер стейты ненужны... не то время, программируемый конвеер он везде, и правильно сделали что пришли к нему...
а огл чтото разочаровал. sad
он просто вшил в ядро некоторые расширения (если память не изменяет), ну да ... улучшил ф-ционал, но это как то не впечатлило..
пруф линки встудию.

AkyltistДата: Пятница, 04 Сентября 2009, 21:06 | Сообщение # 15
заслуженный участник
Сейчас нет на сайте
http://homepages.paradise.net.nz/nickamy/raytracer/raytracer.htm

вот ссылка.

Воксель- 3d пиксель, ты ими пользовался хоть раз? Если да то опиши мне как избавлять от угловатостей при большом скале)) а я посмотрю) Вы вообще воксельные движки видели? А знаете ли вы что Пиксель шейдер может сделать теже эффекты что и воксели с меньшими затратами тактовой частоты?))

Все спорить бесполезно. Пусть Винч сам решает что для него проще и удобнее.

Quote
ээээ.. апаратно поддерживаемый? -_-

убило если чесно, аппаратная часть то причем) это фишки самих видио карт))) АПИ тут не причем? Если фишка поддерживается аппаратно то она в OGL в виде GLSL класса сделана).

Quote
На конференции по компьютерной графике SIGGRAPH 2008 компания NVidia представила демо-версию гонок, в которой изображение стоится методом трассировки лучей (Ray-Tracing).

Вся нагрузка по расчетам рей-трейсинга была полностью возложена на GPU с использованием технологии CUDA, при этом приложение работало в HD формате с разрешением 1920x1080. На скриншотах хорошо виден просчет освещения, теней, отражения и преломления (например на машине и в окнах).

Для выполнения таких тяжелых расчетов была использована визуальная вычислительная система NVIDIA Quadro Plex 2100 D4 (с четырмя видеокартами Quadro FX 4700 X2 внутри).

Как видно, в направлении развития технологии Ray-Tracing постоянно идет прогресс. Так недавно, компания Intel показывала на конференции Research@Intel Day 2008 переработанную версию игры "Enemy Territory: Quake Wars", где также использовался рей-трейсинг.

Технология Куда сама по себе позволяет делать такие расчеты что процам интела по быстродействию до них далеко. Брут MD5 хеша на технологии куда идет в 6 раз быстрее на 9800 чем чистый камень интела. СДК от Нвидии никто не прятал, как и системные вызовы. А тут уж у кого руки прямее.

Сообщение отредактировал Akyltist - Пятница, 04 Сентября 2009, 21:17
VinchensooДата: Пятница, 04 Сентября 2009, 21:13 | Сообщение # 16
Злобный социопат с комплексом Бога
Сейчас нет на сайте
ага ребят. А то вы меня своими умными словами шугаете.....

falconДата: Пятница, 04 Сентября 2009, 21:16 | Сообщение # 17
был не раз
Сейчас нет на сайте
Akyltist, знаю я что это такое smile
ты не понял мой сарказм в ту сторону.

линк себя не оправдал - 5 фпс не играбельно (читай как "нереалтайм")

ты не понял меня вообще ИЗНАЧАЛЬНО smile
я же тебе написал, я не говорю что дх рулит а огл гавно,
я сказал лишь что ТВОИ доводы в пользу огла - невесомы.
пока что кстати опираться вообще на XNA Нужно, это если о тенденциях. но по мне так название само за себя говорит ^^
ты меня не пойми как провокатора smile
вовсе нет... просто уж если ТАК говорить о тенденциях то DX 11 выигрывает.
а по идеи то выигрывает независимые от рендера движок smile

тот же кармак писал ПРОСТО движок и перевел с одних костылей на другие за один уикенд. реч о гениальности архитектуры smile

Сообщение отредактировал falcon - Пятница, 04 Сентября 2009, 21:19
AkyltistДата: Пятница, 04 Сентября 2009, 21:18 | Сообщение # 18
заслуженный участник
Сейчас нет на сайте
Смотри 8 пост!!!

Quote
1. DX круче в плане разработки эффектов и структуры кода. ИМХО так сказать!

)) все замяли)) кто на чем привык тот в ту сторону и тянет.

falconДата: Пятница, 04 Сентября 2009, 21:24 | Сообщение # 19
был не раз
Сейчас нет на сайте
Akyltist, эфекты да, структура кода - зависит от архитектуры smile
и тут ваще GAPI не причем.
ты зря поговорить не хочешь, я тебе еще раз повторю - я не спорить хочу, а просто немного другие приимущества увидеть (помимо тех что знаю)
OGL vs DX - извечный холивар,
вот только зачем воевать если можно жить дружно? smile
я всмысле...идеальный движек должен и так и сяк рендерить.
делаем не идеальный движек? почему? лень?
если да то:
D3DX делает DIRectX неоспоримо проще (хотя попробуй... оспорь)

в общем... если в идеале, то оба рендера надо вписывать
а если нет - то решать для себя

nilremДата: Пятница, 04 Сентября 2009, 23:36 | Сообщение # 20
Просветленный разум
Сейчас нет на сайте
DirectX
Почему:
1. Отличная поддержка со стороны железа. Видеокарты "меряют" дириксом а не OpenGL.
2. Большое количество книг, документации и инструментов от именитых производителей(NVIDIA, ее DX SDK, Perfkit, и серия уникальных книг GPU Gems(конечно есть в них и о OpenGL)).
3. Надежность автора. Микрософт куда стабильнее, чем какой-то Khronos Group.
4. Попробуйте перечислить все игры с OpenGL. Раз, два и обчелся.

Конечно, есть в ДХ и недостатки.
Ну в общем в сети много чего можно нарыть.
http://www.thg.ru/graphic/open_gl_3_directx_11/onepage.html


Windmill 2

WindMill 2D Game Engine
Форум игроделов » Программирование » Общие обсуждения программистов » DirectX или OpenGL (Что выбрать?)
  • Страница 1 из 2
  • 1
  • 2
  • »
Поиск:

Все права сохранены. GcUp.ru © 2008-2024 Рейтинг