Opengl - то, що змусить забути про directx - блоги - блоги геймерів, ігрові блоги, створити блог,
Це нас спантеличує. Серед веб-розробників вважається хорошим тоном лаяти стандартні технології, такі як Silverlight, Flash або ActiveX. зате всіляко вітається крос-платформна розробка. Жоден поважаючий себе фахівець не відчуває захоплення від роботи з закритими стандартами типу документів Word або серверів Exchange. І що ж сталося з цим світом, що інженери раптом почали не тільки аплодувати пропрієтарного API Microsoft. але ще й активно лаяти його відкритого конкурента?
Перш ніж ми пояснимо, чому ми за OpenGL. трохи історії.
У 1982 році Silicon Graphics початку продажу високопродуктивних графічних терміналів на основі пропрієтарного API під назвою Iris GL (GL - graphics library. Графічна бібліотека). Через кілька років Iris GL перетворився в монстра, якого стало дуже складно підтримувати. Тоді Silicon Graphics пішла на радикальний крок - повністю переробила Iris GL і створила на його основі відкритий стандарт. Тепер Відкриту графічну бібліотеку (OpenGL) могли використовувати конкуренти, але при цьому вони повинні були її підтримувати і оновлювати.
Сьогодні підтримкою OpenGL займається Khronos Group - некомерційна організація, до якої входять представники різних компаній, об'єднаних спільним інтересом: мати високоякісні медійні API.
Безпосередньою підтримкою займається Спостережна комісія з архітектури OpenGL. OpenGL підтримують всі ігрові платформи, включаючи Mac. Windows. Linux. PS3 (через GCM), Wii. iPhone. PSP і DS.
Тобто всі платформи, крім Xbox. І це плавно призводить нас до наступної теми:
Що таке DirectX

Якщо судити по сьогоднішньому ігровому ринку, ця стратегія себе виправдала. Більшість головних ігор для PC використовують DirectX і працюють на Windows і Xbox360. За рідкісними винятками вони не працюють на конкуруючих платформах, таких як PlayStation. Mac OS або Wii. Так Microsoft втрачає досить серйозні ринки, а ми ставимо важливе питання:
Чому все використовують DirectX?
1. Ефект зворотного зв'язку і порочні круги

Факт і в тому, що в DirectX розбирається більше програмістів графіки, ніж в OpenGL; отже, створити гру під DirectX дешевше, тому що для цього потрібно менше витрат на навчання. І це ще один порочне коло: чим більше ігор використовує DirectX. тим більше програмістів повинні її вивчити. Чим більше програмістів вивчають DirectX. тим дешевше DirectX обходиться ігровим проектам в порівнянні з OpenGL.
2. Vista і сумніви щодо OpenGL

Коли Vista нарешті вийшла, виявилося, що ці заяви не відповідали дійсності: постачальники створили швидкі встановлюються клієнтські драйвери (ICD), які повернули системі нативную підтримку OpenGL. Комісія з OpenGL розіслала лист з доказами, що OpenGL як і раніше в строю і нічим не поступається Direct3D на Vista. На жаль, потрібний Microsoft результат вже був досягнутий: довіру до OpenGL серйозно похитнулося.

Далеко не всі ігри підтримують цей маркетинговий фарс Microsoft. Багато справжні професіонали графіки, такі як Джон Кармак (John Carmack). відносяться до DX10 скептично. Він одного разу сказав: «Особисто я не став би зараз переходити на щось на кшталт DX10. Я б почекав, коли все трохи владнається і для цього з'явиться дійсно об'єктивна необхідність ».
Так чому ж ми використовуємо OpenGL?
З огляду на все вищесказане: слабку підтримку виробників, відсутність в іграх, нападу з боку Microsoft, спірні ринкові перспективи, - чому ми як і раніше її використовуємо? Чи не вигідніше відмовитися від OpenGL і перейти до DirectX. як всі інші? Ні, тому що насправді OpenGL могутніше DirectX, підтримує більше платформ і вкрай важлива для ігрової індустрії.
1. OpenGL могутніше DirectX
2. OpenGL кроссплатформенная
Понад половину гравців нашої Lugaru грає на Mac або Linux. і ми не здивуємося, якщо так само буде і з новою грою Overgrowth. У бесідах з великими ігровими розробниками ми часто чуємо, що підтримка Mac і Linux - марна трата часу. Але мені ніколи не зустрічалися докази цього твердження. Blizzard завжди випускає версію своїх ігор для Mac одночасно з іншими платформами. Якщо вони в чомусь принципово не сходяться з іншими, то я думаю, що праві вони, а не інші.
Коли Джона Кармака запитали, чи працює Rage під DirectX. він відповів: «Ні, це OpenGL. хоча ми використовували API в стилі D3D [на Xbox360] і CG для PS3. Ви знаєте, технологій досить нецікаво, який ви використовуєте API і якого покоління ваші технології. API цікавиться буквально кілька файлів, а мільйони рядків коду абсолютно байдужі до вашої платформі ». Якщо можна досягти всіх платформ з OpenGL, то навіщо себе штучно обмежувати, прив'язуючись до DirectX?
Навіть якщо вас не цікавить нічого, крім Windows. дозвольте ще раз нагадати, що половина користувачів Windows працює на XP. і вони не зможуть грати в вашу гру, якщо у вас будуть останні версії DirectX. Єдиний спосіб дати нові графічні рішення користувачам Windows XP (а це найбільша ігрова платформа на PC) - використовувати OpenGL.
3. У OpenGL більше перспектив на ігровому ринку

OpenGL - це некомерційний відкритий стандарт, який переслідує мету надати графіком найвищої якості користувачам всіх платформ. Позиції OpenGL похитнулися в результаті монополістичного нападу з боку одного корпоративного колоса, який вирішив прибрати до рук занадто молоду і тому нездатну за себе постояти індустрію. Microsoft тримає ринок ігор для PC мертвою хваткою, яка тим сильніше, чим більше ексклюзивні позиції Direct3D в Windows.
Для зниження цін і підвищення якості необхідна конкуренція. Монополія Microsoft на ігровому ринку дуже шкідлива і гравцям, і розробникам.
Чи зможе OpenGL повернути втрачені позиції?
З іншого боку, якщо ви пишете під OpenGL. ви отримуєте швидшу і потужну графіку, ніж в DirectX 11. причому на всіх версіях Windows. Mac і Linux. а також PS3. Wii. PSP. DS і iPhone. Крім того, ви отримуєте все це в рамках динамічно розвивається стандарту WebGL. який цілком може стати базовим для браузерних ігор наступного покоління.
Якщо ви - розробник ігор, я прошу вас провести дослідження, порівняти цифри і вирішити для себе, краще OpenGL чи ні. Деякі програмісти прихильні стилю DirectX 11. але ви в будь-якому випадку перенесете низькорівневі API на рівень абстракції, тому цей фактор не може бути вирішальним. Якщо щось в OpenGL вам не подобається, просто попросите спостережну комісію це поміняти - вона для того і існує!
Якщо ви граєте в ігри на Windows XP. Mac або Linux. ви повинні зрозуміти, що DirectX існує тільки для того, щоб закрити вам доступ до нових ігор. І у вас є тільки один спосіб вплинути на ситуацію - почати підтримувати ігри, що використовують OpenGL.