Зміст
DirectX
Ключові особливості версій DirectX
Шейдерні мови
Опис використовуються функцій
Функція D3DXMatrixPerspectiveFovLH
Функція D3DXMatrixTranspose
Функція D3DXMatrixMultiply
Функція D3DXCreateTextureFromFile
Функція D3DXLoadMeshFromX
Функція D3DXAssembleShaderFromFile
Функція MessageBox
Вихідний код програми
Приклад роботи програми
Висновок
Список літератури
DirectX
DirectX ( від англ. direct - прямо, безпосередньо) - це набір API, розроблених для вирішення завдань, пов'язаних з програмуванням під Microsoft Windows. Найбільш широко використовується при написанні комп'ютерних ігор. Пакет засобів розробки DirectX під Microsoft Windows безкоштовно доступний на сайті Microsoft. Найчастіше оновлені версії DirectX поставляються разом з ігровими додатками.
Практично всі частини DirectX API являють собою набори COM lt; # justify gt; · DirectX Graphics, набір інтерфейсів, раніше (до версії 8.0) делившихся на:
· DirectDraw: інтерфейс виведення растрової графіки. (Його розробка давно припинена)
· Direct3D (D3D): інтерфейс виведення тривимірних примітивів.
· DirectInput: інтерфейс, використовуваний для обробки даних, що надходять з клавіатури, миші, джойстика і ін. ігрових контролерів.
· DirectPlay: інтерфейс мережевої комунікації ігор.
· DirectSound: інтерфейс низкоуровневой роботи зі звуком (формату Wave)
· DirectMusic: інтерфейс відтворення музики у форматах Microsoft.
· DirectShow: інтерфейс, використовуваний для введення-виведення аудіо та/або відео даних.
· DirectX Instruments - технологія, що дозволяє на основі мультимедійного API DirectX створювати і використовувати програмні синтезатори. На відміну від DX-плагінів, такі програми можуть повністю управлятися по MIDI і служать головним чином не для обробки, а для синтезу звуку. Технологія DXi була популярна в 2001-2004 рр., Особливо в програмних продуктах Cakewalk, але з часом програла війну форматів технології VST від Steinberg.
· DirectSetup: частина, відповідальна за установку DirectX.
· DirectX Media Objects: реалізує функціональну підтримку потокових об'єктів (наприклад, кодувальники/декодувальнику)
· Direct2D: інтерфейс виведення двомірної графіки
Спочатку націлений на розробку відеоігор, DirectX став популярний і в інших областях розробки програмного забезпечення. Приміром, DirectX, поряд з OpenGL, отримав дуже широке поширення в інженерному/математичному ПЗ.
У 1994 році Microsoft була практично готова випустити наступну версію Windows - Windows 95. Головним чинником, що визначає, наскільки популярна буде нова ОС, був набір програм, які можна буде запускати під її управлінням. У Microsoft прийшли до висновку, що, поки розробники бачать MS-DOS більш придатної для написання ігрових додатків, комерційний успіх нової ОС вельми сомнітелен.DOS дозволяла розробникові отримати прямий доступ до відеокарти, клавіатурі/миші/джойстику та іншим частинам системи, в той час як Windows 95, з її захищеною моделлю пам'яті, надавала більш стандартизований, але в той же час вельми обмежений і накладний доступ до пристроїв. Microsoft потребувала нового способі дати розробнику все, що йому необхідно. Айслер (Eisler), Сейнт Джон (St. John), і Енгстрем (Engstrom) вирішили цю проблему, назвавши саме рішення DirectX.
Перший реліз DirectX був випущений у вересні 1995 року, під назвою Windows Game SDK .
Ще до появи DirectX, Microsoft включила OpenGL в ОС Windows NT. Direct3D позиціонувався як заміна OpenGL в ігровій сфері. Звідси бере свій початок священна війна між прихильниками крос-платформної OpenGL і доступною лише в Windows (у тому числі Windows NT) Direct3D. Так чи інакше, інші частини DirectX дуже часто комбінуються з OpenGL в комп'ютерних іграх, так як OpenGL як такої не має на увазі функціональність рівня DirectX (наприклад, доступ до клавіатури/джойстику/миші, підтримка звуку, ігри по мережі і т.д.). є базою для Xbox API. Xbox API схожий з DirectX 8.1, але оновлення версії, як і на інших консолях того часу, неможливо.
У 2002 році Microsoft випустила DirectX 9 з поліпшеною і розширеною підтримкою шейдеров. З 2002 року DirectX неодноразово оновлювався. У серпні 2004 року в DirectX була додана п...