DirectX и OpenGL блог Майкъл flonova

Това е още една halivarny и някои религиозни спорове - че по-стръмен от DirectX или OpenGL, и моята позиция, както винаги, е, че и двамата са добри по свой собствен начин.

Възможност превъзхожда DirectX OpenGL, а след това Microsoft е прикрепен много добра работа, но OpenGL също има своите предимства - мидълуер. След писмено код може да се адаптира към различни платформи. Не казвам, че кодът ще работи навсякъде едновременно, но за да се адаптира съвсем реална.

OpenGL се предлага както за Windows, така и в все по-популярни MacOS, постоянно непрекъснато се противопоставят, но никога не обещава Linux. И ако говорим за мобилни платформи, тя е на разположение за IOS и Android. И това е невероятно голям плюс.

Ако искате да се ограничим с платформата на Microsoft, изборът е ясен - трябва да напишете под DirectX. Е, ако имате планове да завладее пазара на мобилни устройства, че си струва да мисля за OpenGL, тъй като Microsoft на този пазар, докато резултатът не блести.

Защо реших да пиша за опозицията срещу DirectX OpenGL? Просто видях един програмист казва, че OpenGL е твърде фрагментиран и производителите често правят разширения, които не са съвместими един с друг. Не винаги е лесно да се прехвърлят на кода към друга платформа.

Е, в случая на MS като цяло само ограничени MS. И дори да пиша само за преходи на Microsoft към новите версии не винаги е възможно. Само един код на пристанището от версия 9- до 10 беше прекрасен. Спомням си как в 9-ти версия на Microsoft просто взех и да се промени начинът на работа с шейдъри. В непосредствена близост освобождаване на SDK (мисля, че беше лято) са малко по-различен от предишния.

Microsoft има дори вътре платформа код преминаване към нова версия на може да има проблеми. Тогава нямаше да се открои победител, тъй като и двете библиотеки са проблеми със съвместимостта. Още веднъж казвам, че има смисъл да се избере на DirectX, ако са ограничени до платформата Windows. Е, на Android, IOS бор не трябва да изберете OpenGL.

О, това би било толкова просто с OpenGL. Сега все пак съществува използва 6 malosovmestimymi стандарти (2.1,3.3,4.h, ES 1.0, ES 2.0, ES 3.0), в която различните езици шейдърни, в част (а понякога почти напълно) различен API. Още по-лошо, ако не се отнасят изпълнение и много малко контрол на качеството. В резултат на това по-голямата част на пазара на PC (Intel и AMD) OpenGL реализира криво, и на мобилните телефони, в допълнение към страната на водача на кривата (за Adreno (екс-ATI, Че тук искам да), са много различни подходи към оптимизиране

Майкъл сте малко по-погрешно. DirectX е необходимо да се избере само един единствен случай. Ако искате да ограничите вашата аудитория не е само платформа vindous но една версия на Windows и точно съвпадение за производителите и серия kopmletkuyuschih компютъра, за да го използвате, за да се формулира. Въпреки, че никой няма да се твърди, че писмено ispolzvaniem Direct ще работи върху други компоненти и дори някои версии на Windows, все едно, за всяко несъответствие на снимката ще бъде различно за по-лошо, както и представяне. Във всички други случаи, ако разработчик иска да донесе неговото творение във формата, както прави просто трябва да бъдете сигурни, за да изберете OpenGL.

OpenGL на компютър с изключително лошо. Шанс, че тя ще работи на AMD малко. За Intel Не съм казал нищо. Потребителят, особено в прасето не може да устои на водачите, че ще го дават хладен softvarny рендиране и подкрепят много API 1.1. В този случай, има отличен шанс, че играта D3D ще работи перфектно.

crsib. Надявам се, че имате свои собствени проекти на игра. Достатъчно е, че съм видял достатъчно от това колко код би могъл да напише, че изображението е просто навсякъде, където има най D3D9, аз няма да се твърди, че по-голямата част от програмисти, използващи DirectX не са мързеливи хора, за разлика от предпочитам OpenGL, но тя не добавя към достойнството на DirectX. В крайна сметка, за мен лично, а разработчиците мярка yavlyutsya разходи, тъй като в случая на директивите те несъразмерно с много по-малко полезна, тъй като в резултат на отработените газове.

Аз някак си точно там. И на OpenGL ES. За разходите за труд не получават шегата. Следене на състоянието на поточната линия на OpenGL, че все още измъчва, защото голяма част от нея е по някакъв начин капсулирани в графика "примитиви". Пазете кода pernosimym е всичко, калай. ES 1 Като цяло, няма изисквания за хардуер текстура компресия формат, най-ES 2.0 имат лоша Т.Н. В резултат на това за същия андроидът изгражда трябва да събере куп текстури в различни формати. Аз не говоря за това, че Мали и PowerVR и Adreno места директно protivolopozhnye подходи за оптимизиране на нивото на OpenGL (ако подходът към "хардуера" на абстракция). За PC аз не искам да говоря. Поради факта, че ние трябва да работим върху компютрите си в рамките на OpenGL винаги ще бъде ускорител на NVIDIA. Аз глупаво няма друг избор. почти мога да гарантирам, че писането на съответствие със стандартната кода / HD работата на Intel GMA няма да е тъп, дори и ако сложа 10 шофьори. Или ще работи така, че би било по-добре да не честно спечелени. Почти същата история с ATI / AMD, ситуацията е малко по-добре.

Като цяло, вашите коментари ще бъдат чути в духа на начинаещия разработчик, който просто не е имал време да мине през всички кръгове на ада развитие Productions на OpenGL