Ru-Board.club
← Вернуться в раздел «Прикладное программирование»

» openGL vs. DIRECT3D

Автор: negotiator007
Дата сообщения: 29.04.2003 04:26
господа!!!
opengl официально скончался -- мелкийсофт "отлучил" команду OGL`щиков, т.к. "её развитие пошло не в ту сторону"


все, тему считаю закрытой....
Автор: F0rward
Дата сообщения: 29.04.2003 19:29
negotiator007
чего??? Причём тут мелкософт - насколько я помню этот стандарт не их производства а совместный и основным толкателем его как была так и будет SGI - я просто неверю в то что профи пересядут на D3d
Автор: GreyGendalf
Дата сообщения: 30.04.2003 12:25
а в графике не дока, но все же выскажу и свое имхо....

у DX'а есть один (при определенных обстоятельствах конечно) недостаток, он существует только под виндой... да, конечно, на сегодня в качестве ОСи на десктопах винда на коне... НОООООО, как говорится, есть еще несколько обстоятельств...

есть Linux и есть Mac (в основном у них, за бугром)...
есть ATI (в противовес к NVidia заточенной под dx)...
сама NVidia предлагает что то новое (что то такое "CG", что это такое я не знаю)...
в конце концов рендерные технологии в основном используются в 2-х сферах: 1) создание спецэффектов 2) игровая индустрия. И если в первой более-менtе все ясно, то во второй DX рулит только на PC под виндой (+XBox). На приставках же (не XBox) юзается отнюдь не DX, хотя наверное и не OGL, но по-моему что то более близкое к OGL, нежели к DX.

Хотя, надо отметить (наверное не очень важное здесь) DX используется не только для графики, но и для звука. На мой взгляд только поэтому большинство разработчиков игр под PC (читай Wintel) пользуют ДайректЭкс

ну и в довершение...
видел я чтото типа док фильма, о том как снимался (точнее создавались спецэффекты) один из фильмов "Царь Скорпионов", так там они Майю юзали, и по моему под Линуксом, хотя насчет Линукса не уверен...
Автор: Serjik
Дата сообщения: 01.05.2003 05:10
GreyGendalf

Цитата:
На приставках же (не XBox) юзается отнюдь не DX

Там установлена спец версия WinXP и немного изменный DX
Цитата:
видел я чтото типа док фильма, о том как снимался (точнее создавались спецэффекты) один из фильмов "Царь Скорпионов", так там они Майю юзали, и по моему под Линуксом, хотя насчет Линукса не уверен...

А к чему это? Ренеринг происходит полностью программно, а DX или OGL используется чисто в процессе моделирования для отображения объектов.
Автор: FuzzyLogic
Дата сообщения: 01.05.2003 06:49

Цитата:
есть ATI (в противовес к NVidia заточенной под dx)...

А почему в противовес? ATI активно рекламирует Radeon9700 и последующие модели как поддерживающие DX9.0 да и основная масса игр на данный момент всё же в первую очередь выпускается для винды, а потом уже портируется на линух, маки итд. Я не думаю что OGL умрет, в мире Юнихов он весьма распространен и альтернатив в общем то практически и нет. Но под виндой DX будет рулить уже через год-два - очень много денег в него вложено. То что OGL даёт лучший fps во многих играх - вполне естественно - DX уже обходит OGL по набору возможностей. К тому же как уже было упомянуто раньше, DX это не только графическая библиотека это и звук и управление всевозможными контроллерами итд итп.
Автор: negotiator007
Дата сообщения: 05.05.2003 00:30
на счет звука под дирек -- кто-нить играет с ним? КАК!!!??? играете ???!!!
а все люди вроде нет -- я например играю под eax и A3D
а насчет того, что стОит СИЛЬНО волноваться за жизнь ogl -- это да!
если microsoft не развивает ogl, то вскоре jgl под виндой отрафируется (да, да, чтобы кто не говорил)... не умрет, но...
вы хоть одну игру (норммальную) под *nix видели ???
Автор: albatros
Дата сообщения: 26.07.2003 08:14
negotiator007



Цитата:
господа!!!
opengl официально скончался -- мелкийсофт "отлучил" команду OGL`щиков, т.к. "её развитие пошло не в ту сторону"


MS не контролирует OpenGL, это открытый стандарт, который продолжает развиваться. Просто MS двигает свой DirectX. А OpenGL не умрет никогда, имхо. Любое мало-мальски профессиональное приложение для 3D обязательно поддерживает его. Куча игр пишется
под него. Кстати Джон Кармак как-то сказал, что DirectX -- это издевательство над программистами . Doom 3 на OpenGL, Half-Life 2 тоже его поддерживает, помоему.



Guderian

Цитата:
Согласен, я вообще в SoftImage по уши втрескался, но он потихоньку отмирает

??? Недавно вышла версия Softimage|XSI 3.5, так что...
Автор: SpyDeR
Дата сообщения: 29.07.2003 16:51
Года 2 программил на OpenGL, потом перешел на D3D, на нем уже 2.5 года. Работать с D3D по сравнению с OpenGL на порядок удобнее: меньше глюков, многие вещи организованы удобнее, нет проблем с написанием разного кода под разные видеокарты (точнее говоря его не приходится писать). Из недостатков могу указать только чуть меньшую скорость и не кросс-платформенность.


Цитата:
Кстати Джон Кармак как-то сказал, что DirectX -- это издевательство над программистами . Doom 3 на OpenGL

Раньше это действительно было так, но с версией 8.1 ситуация поменялась в обратную сторону. Кармак, кстати, когда-то (не помню когда) упоминал, что DX с тех пор стал намного лучше.
Автор: negotiator009
Дата сообщения: 17.08.2003 23:43
итак, заканчивая эту байду, подытожим -- OpenGL -- мертв, да здравствует OpenGL
DX--rulez
Автор: govNUKE
Дата сообщения: 23.01.2004 11:13
openGL жив!
один из крупнейших производителей графических чипов ATI
анонсировала выпуск нового графического сопроцессора IMAGION 2300
позволяющего реализовать широкие возможности 3D графики
игрового уровня в сотовых телефонах
чип предназначен как для 3D так и для управления 2D графикой, декодировании MPEG 4
компрессии\декомпрессии изображений. семейство imagion базируется на интерфейсе программирования openGL
коммерческий выпуск телефонов -- 1 квартал 2004

Автор: ssx
Дата сообщения: 23.01.2004 18:56
OpenGl хорош тем, хотя бы, что я портировал десяток написанных на нем скринсейвейров с XWindows под Win32 за один вечер
Автор: backspace777
Дата сообщения: 04.02.2004 16:08

Цитата:
OpenGL -- всётаки получше, но и не рулез(хотя тоже г...)


Достоинства(OpenGL):
1) Разработчик может напрямую работать с железом при использовании расширений
2) большое количество: наработок, разработок и самое главное ДОКУМЕНТАЦИИ
3) переносимость(даже ATI! чёта для мабил сделала )
4) Поддержка фукций видеокарты появляется при выходе драйверов
5) Производитель видеокарт(под Win) заменяет видовс драйвер на свой
собственый(для ATI это недостаток ) так что вопрос о производительности
стоит за производителем видеокарты, а не MicroSoft

Недостатки(OpenGL):
1) Только рендерер(хотя щас вроде OpenML разрабатывается)
2) Ну СЛИШКОМ много расширений(с версии 2.0 обещают исправить :-\)
3) нет доступных, простых в использовании высокоуровневых библитек
для работы с данными(мешами, экспортом и т.д.) для PC


Достоинства(DirectX):
1) DirectX не только рендер, но и ещё работа со звуком, видео, устр-ми ввода-вывода
2) прост в использовании - хорошо продуманные библиотеки
3) Библитеки для работы с высокоорганизованными даными ( *.X) - очень большой плюс

Недостатки(DX):
1) Достойные внимания книги можно найти только благодаря MS Press
2) Переносимость: только PC и XBox
3) Поддержка новых фукций видеокарты появляется только при выходе
новой версии DirectX
4) медленный COM

Всё писать не захотелось - так что добавляйте свои достоинства и недостатки

P.S.:
А что лучше или хуже, тут надо смотреть на то что должно получиться в итоге.


Автор: ssv22
Дата сообщения: 27.09.2008 21:50
А что можно сказать о применимости(результативности) OpenGl и ACIS в САПР?
Что-то все об игрушках и тп.
Про ACAD можно не говорить! (и не нужно)
Я имею ввиду SolidWorks, SolidEDGE, PROe, Catia, Unigraphix, и др. т.е. твердотельные, 3-х мерные САПР.
Если в SolidWorks отключить режим OpenGl, то элементарный кубик замучаешься крутить, какая уж тут работа...
А ядро как влияет: ParaSolid или ACIS? (это вопрос, а не утверждение, просто интересно).
3DS насколько я знаю основано на ядре ACIS. А SW - на Psrasolid`e.
Так вот, при работе с сетью (Edit Mesh) 3DS бысрее шевелиться, а вот при работе с "твердыми телами" - SW быстрее.
Вообще бльшинство САПР использует OpenGl. Почему?
У кого какой мнений?
Если, конечно, есть желание высказаться...
Автор: karakurt2
Дата сообщения: 28.09.2008 11:18
Вот моё мнение. OpenGL не предназначена для манипуляций с высокоуровневыми графическими приметивами, для этого есть множество коммерческих библиотек и библиотек с открытым исходным кодом. Для работы с OpenGL стандартом де-факто является библиотека OpenInventor, разработанная уже давольно давно в недрах Silicon Graphics. Среди продвинутых библиотек для работы с графичискими приметивами можно упомянуть Computentional Geometry Algorithm Library (CGAL), Visualization Toolkit, OpenMesh и т.д. Список можно продолжать бесконечно, вопрос лишь во времени и усилиях, которые вы потратите, чтобы включить эти библиотеки в свой арсенал разработчика.

Что касается технологий DirectX, то она была изначально предназначена для того, чтобы дать людям унифицированный интерфейс для работы с огромным разнообразием оборудования на низком уровне. Кто программировал "по-железу" графические видеокарты, тот знает какое это трудоёмкое занятие. И как настоящий монополист Майкрософт предоставила интерфейсы, которые облегчают предварительную обработку и хранение данных.

В САПР OpenGL используется потому что разработчик пытается получить максимальную прибыль от вложенных инвестиций благодоря высокой переносимости и тщательно продуманному интерфейсу библиотеки и потому что большинство САПР имеют довольно-таки большую историю разработки и было бы невыгодно переносить старые жнаработки на новые технологии, которые предлагает Майкрософт. В свою очередь, DirectX интересует прежде всего разработчиков игр, так как декларирует, что может обеспечить максимальную производительность на которую способно то или иное оборудование.
Автор: eLLoco
Дата сообщения: 28.09.2008 19:25

Цитата:
В САПР OpenGL используется потому что разработчик пытается получить максимальную прибыль от вложенных инвестиций благодоря высокой переносимости и тщательно продуманному интерфейсу библиотеки и потому что большинство САПР имеют довольно-таки большую историю разработки и было бы невыгодно переносить старые жнаработки на новые технологии, которые предлагает Майкрософт. В свою очередь, DirectX интересует прежде всего разработчиков игр, так как декларирует, что может обеспечить максимальную производительность на которую способно то или иное оборудование.

Собственно, это подтверждает и маркетинговая политика обеих сторон - одни давят на профессиональную графику, другие на игры.
Автор: Qraizer
Дата сообщения: 29.09.2008 15:24

Цитата:
...
4) медленный COM
А сегодня есть ли ещё люди, которые так думают?
Автор: ssv22
Дата сообщения: 29.09.2008 19:09
Судя по прочитанному можно сделать вывод, что OpenGL - устаревшая технология, не имеющая перспектв против DirectX .
Это действительно так?
Автор: Qraizer
Дата сообщения: 29.09.2008 20:15
Нет, конечно. Архитектурные принципы её API, возможно и устарели: функциональный и ориентированный на POD типы - это уже даже не вчерашний день. Тут backspace777 (давно, правда) уже упоминал, что многочисленные расширения задалбливают. ИМХО главный её минус следует из её главного плюса - некому оперативно вводить, обкатывать и стандартизировать фичи, постоянно придумываемые производителями железа. Пока кто-нибудь придумает и воплотит соответствующее очередное расширение, пока его рассмотрят, обсудят, подформализуют, обкатают и примут - железо уже новые фичи предлагает. Причём, вполне может оказаться, что очень похожим (или даже этим же) расширением уже занимается кто-то другой, но у него немного другой взгляд на детали его реализации. ИМХО, если бы не DOOM }I{, то и по сей день аппаратные шейдеры в GLе отсутствовали бы. Но считать это недостатком GLя всё-таки не следует. Нужно отдавать себе отчёт, что международные стандарты не только играми и их производителями определяются и диктуются.
Другое дело DirectX. У него один автор, читай, монополист (не собираюсь тут спорить на тему того, хорошо это или плохо, просто констатирую), который может оперативно реагировать на веянья моды в мире железа, выпускать обновления интерфейсов, обкатывать их совместно с группой тестеров из заинтересованных компаний. Много времени на согласоваение, обсуждение итп у него не уходит. Потому в последнее время разработчики и железа, и софта, и уважают DX больше, чем GL. Причём его COM-интерфейс, который имеет ООП/ИОП ориентацию, значительно меньше подвержен проблемам функционального интерфейса. Какие-то новые расширения вышли? В GL для их использования нужно поискать соответствующее расширения, подгрузить библиотеки и наполучать оттуда указателей на функции (если это устаревшие сведения, поправьте, плз). В DX для этого нужно только изменить тип объекта, то бишь переменной, которая является указателем на интерфейс, и передать в его конструктор другой параметр, в результате чего фабрика создаст экземпляр другого класса, реализующего этот интерфейс. Всё. Учитывая, что DX-сервера находятся в DLL, и размещаются в адресном пространстве использущего их процесса, все COM-вызовы являются не более чем обычными вызовами через таблицу виртуальных методов. Если, конечно, не использовать дуальные интерфейсы, но это пусть заботит VB и иже с ним. Так что медленее GLя работа с DX не будет. Тем не менее, DX гораздо меньше общепринятого мнения зациклен на некой конкретной сфере индустрии. Тот факт, что сейчас он зачастую используется именно для игр, отнюдь не ограничивает сферу его применения только играми.
И кстати, Кармак выбрал GL главным образом из-за его переносимости. Даже сейчас они не могут себе позволить писать движок на непереносимом API - они ж далеко не только под PC игры выпускают. А D3D они вообще никогда не использовали, только DDraw, DInput, DPlay и DSound и D3DSound (насчёт последнего не уверен), т.е. всё остальное из DX, актульного для игр, кроме DMusic. Но это и не принципиально, потому что GL этого всё равно предложить не может, так что тут по-любому переносимо писать придётся вручную.
Автор: ssv22
Дата сообщения: 01.10.2008 07:28

Цитата:

...
А ядро как влияет: ParaSolid или ACIS? (это вопрос, а не утверждение, просто интересно).
3DS насколько я знаю основано на ядре ACIS. А SW - на Psrasolid`e.
Так вот, при работе с сетью (Edit Mesh) 3DS бысрее шевелиться, а вот при работе с "твердыми телами" - SW быстрее.
Вообще бльшинство САПР использует OpenGl. Почему?
У кого какой мнений?
Если, конечно, есть желание высказаться...


А вот про ядро что-то никто не высказался!
Было-бы интересно...
Есть-ли какая зависимость между применением технологии DirectX(или OpenGL) и ядра - ACIS(или Parasolid).
Или тут смешивание понятий неуместно?
Автор: ssv22
Дата сообщения: 14.12.2008 22:17
Цитата:
...
А ядро как влияет: ParaSolid или ACIS? (это вопрос, а не утверждение, просто интересно).
3DS насколько я знаю основано на ядре ACIS. А SW - на Psrasolid`e.
Так вот, при работе с сетью (Edit Mesh) 3DS бысрее шевелиться, а вот при работе с "твердыми телами" - SW быстрее.
Вообще бльшинство САПР использует OpenGl. Почему?
У кого какой мнений?
Если, конечно, есть желание высказаться...

Цитата 2:
А вот про ядро что-то никто не высказался!
Было-бы интересно...
Есть-ли какая зависимость между применением технологии DirectX(или OpenGL) и ядра - ACIS(или Parasolid).
Или тут смешивание понятий неуместно?

Да, меня тоже интересует этот вопрос: почему большинство CAD работают на ParaSolid`e.
А то, что (Edit Mesh) 3DS бысрее шевелиться - даже "обидно" как-то... это я давно заметил.
Может тут дело в представлении Сети и 3D-тела во внутреннем представлении базы даных конкретной 3D-системы?
Непонятно однако...
Где что почитать?
Автор: PrWork1
Дата сообщения: 23.11.2009 03:21
ssv22

Сетью (в 3D max) проще создавать обекты нужной формы,
а Solid'ом, с четким описаним трансформаций, проще подготавливать данные для изготовления в производстве.
Автор: ArkadyKiller
Дата сообщения: 02.03.2010 08:44
Уважаемые програмисты, помогите плиз, замутить программку:
Берется разрешение экрана, каждый пиксель экрана меняет свою цветовую гамму по счетчику случайных чисел с частотой 24 кадра в секунду, и чтобы эти пиксели не были зависимы друг от друга т.е. хаотично меняют цветовую гамму. Помогите замутить такую мелкую прогу, ваще не разу не работал с графикой.

Страницы: 12

Предыдущая тема: Visual C++ 6


Форум Ru-Board.club — поднят 15-09-2016 числа. Цель - сохранить наследие старого Ru-Board, истории становления российского интернета. Сделано для людей.