Direct3D је графички апликациони програмски интерфејс (АПИ) за Windows. Direct3D се користи да донесе тродимензионалну графику у апликацијама у којима је важан учинак, као што су игре. Direct3D користи хардверско убрзање ако је доступна на графичкој картици, омогућавајући хардверско убрзање целог 3D рендеринг цевовода или чак само делимично убрзање. Direct3D открива напредне графичке могућности 3D графичког хардвера, укључујући З-бафера,[1] В-бафер,[2] Стенцил бафер, просторни анти-алиасинг, алфа мешање, боја мешања, мипмапинг, текстуре мешање,[3][4] клипинг, уништавање, атмосферски утицај, перспектива-исправна текстура мапирања, програмирати [5] и ефекти.[6] Интеграција са другим DirectX технологијом омогућава да Direct3D испоручи функције попут видео маппинга, хардвера 3D рендеринг у 2D прекривач авиона, па чак и спритес, пружајући употребу 2D и 3D графика у интерактивним медијским везама.

Direct3D
Програмер(и)Мајkрософт
Стабилно издање
12 / 29. јул 2015. (2015-07-29)
Оперативни системWindows
Платформаx86, ARM
Тип3Д графички АПИ
ЛиценцаВласништво
Веб-сајтmsdn.microsoft.com/en-us/library/windows/desktop/hh309466

Direct3D садржи многе команде за 3D рачунарску графику рендеринга; Међутим, од верзије 8, Direct3D је превазишла ДиректДрав оквир и такође преузела одговорност за пружање 2D графика.[7] Мајкрософт се труди да стално ажурира Direct3D да подржи најновију технологију доступну на 3D графичким картицама. Direct3D нуди потпуни чвор софтверских емулација, али не и пиксела софтверских емулација са могућностима које нису доступне у хардверу. На пример, ако софтвер програмира помоћу Direct3D захтева пиксел шејдер и графичка картица на рачунару корисника не подржава ту функцију, Direct3D је неће имитирати, иако ће израчунати и донети полигоне и текстуре 3D модела, мада обично деградирани квалитет и перформансе у односу на хардвер еквиваленту. АПИ укључује Референцу Растеризатора (или РЕФ уређаја), која подражава генерички графичку картицу у софтверу, иако је преспор у реалном времену 3D апликација и обично се користи само за отклањање грешака. Нови у реалном времену софтвер растеризатор, Варп, имитира комплетан сет могућности Direct3D 10.1, који је укључен у Windows 7 и Windows Vista Сервис Пковање 2 са платформе Упдате; његове перформансе су у рангу са ниже класе 3D картице на мулти-кор процесор.[8]

Део DirectX, Direct3D је доступан за Windows 95 и изнад, и то је основа за векторску графику АПИ на Xbox и Xbox 360 конзолама система. Вино компатибилни слој, слободан софтвер реимплементатион неколико Windows АПИ, садржи имплементацију Direct3D.

Главни конкурент Direct3Dу је OpenGL. Фаренхајт је био покушај Мајкрософта и СГИ да уједине OpenGL и Direct3D 1990, али је на крају отказана.

DirectX 2.0 и 3.0Уреди

Године 1992. Серван Кеондјиан основао је компанију под називом РендерМорпхикс, који је развио 3D графички АПИ који се зове Реални лаб, који је коришћен за медицинско снимање и ЦАД софтвере. Две верзије овог АПИ-ја су пуштене. Мајкрософт је купио РендерМорпхицс у фебруару 1995. године, доносећи Кеондјиан на брод да спроведе 3D графички чип за Windows 95. Прва верзија Direct3D схиппед у DirectX 2.0 (јун 2, 1996) и друга верзија DirectX 3.0 (септембар 26, 1996).

Direct3D је првобитно имплементиран "задржао мод" и "непосредан мод" 3D АПИ. Као и други DirectX АПИ, као што су ДиректДрав, обојица су на основи ЦОМ. Нераспоређен режим је био мод графикон АПИ који постиже мало усвајање. Програмери игрица су захтевали више директне контроле рада хардвера од Direct3D koja може да обезбеди режим. Само две игре које придају значајан обим, Лего Острво и Лего Рок Раидерс су на основу Direct3D задржале режим, тако да Мајкрософт није ажурирао режим након DirectX 3.0.

За DirectX 2.0 и 3.0, Direct3D непосредни режим употребе "изврши бафер" програмског модела Мајкрософт се надао да ће хардвер директно подржати. Извршни бафери су у циљу доделе у хардвер меморију и извршавају се од стране хардвера за обављање 3D приказивања. Они су били веома незгодни програми, међутим, ометају доношење новог АПИа што је довело до позива Мајкрософта да усвоји OpenGL као званични 3D приказ АПИа за игре, као и радне станице. (види OpenGL против Direct3D-а)

Уместо да усвоји OpenGL као играње АПИа Мајкрософт је одлучио да настави да унапређује Direct3D, не само да буде конкурентна са OpenGLом, него и да се такмиче ефикасније са власничком АПИ као што су 3дфк је Глиде.

Од самог почетка, непосредно режим је такође подржао Талисман поплочан приказивањем са БегинСцене / ЕндСцене методама ИDirect3DДевице интерфејса.

ДиреX 4.0Уреди

Нема битних промена планираних у Direct3D за DirectX 4.0, које би биле заказана за испоруку крајем 1996. године, а затим отказан.[9]

DirectX 5.0Уреди

У децембру 1996. године, тим из Редмонда је преузео развој Direct3D непосредног Мода, док је РендерМорпхицс тим из Лондона наставио рад на нераспоређеном Моду. Редмонд тим је додао ДравПримитиве АПИ који елиминише потребу за апликацијама, да се изграде извршни бафери, прављење Direct3D више личи на друге непосредне модове приказивања АПИа као што су Глиде и OpenGL. Први бета ДравПримитиве схиппед је изашо у фебруару 1997. године,[10] а коначна верзија испоручује се са DirectX 5.0 у августу 1997. године [11]

Поред увођења лакших метода за коришћење мода АПИ DirectX 5.0 је додао метод СетРендерТаргет који је омогућио Direct3D уређају да напише свој графички излаз на различитим површинама ДиректДрав.[12]

DirectX 6.0Уреди

DirectX 6.0 (објављен у августу 1998) представио бројне могућности да покрије савремени хардвер (као што су мултитекстуре [13] и шаблона буфера), као и оптимизовану геометрије цевовода за x87, SSE и 3DNow! и опциони менаџмент текстура за једноставно програмирање.[14] Direct3D 6.0 такође укључује подршку за функције које су лиценциране од стране Мајкрософта из специфичних хардвера за укључивање у АПИ, али да време на тржишту замени за предност лиценцираних продавца. Подршка текстура компресија С3 је један од тих опција, преименована у ДXТЦ за потребе укључивања у АПИ. Друга је била у власништву техника бумп мапирање ТРИТЕЦХ екипе. Мајкрософт укључује ове функције у DirectX, а затим их додаје у услове који су потребни за возаче да би Windows лого био усвојен у хардверу других произивиђача.

Ажурирање монитора за DirectX 6.0 је дошло у фебруару, 1999, DirectX 6.1 ажурирање. Поред додавања ДиректМусиц подршке за први пут, ово издање побољшава подршку за Интел Пентијум III 3D локала.[15]

Поверљив допис послат 1997.[16] године показује да Мајкрософт планира да објави пуну подршку за DirectX 6.0 Талисман, али АПИ је завршио отказивање (Погледајте Мајкрософт Талисман страну за детаље).

DirectX 7.0Уреди

DirectX 7.0 је увео формат .ддс текстура[17] и подршку за трансформацију и осветљење хардверског убрзања (први доступни на PC хардвера са Нвидиа ГеФорце 256), као и способност да се издвоји вертек амортизера у хардверу меморије. Хардвер вертек бафера представљају прво значајно побољшање у односу на OpenGL у DirectX историји. Direct3D 7.0 такође увећава подршку за DirectX мултитектуринг хардвера, и представља врхунац фиксне функције: поседује мултитекстуре цевовода: иако моћан, било је толико компликовано да се програм који је нови модел програмирања разоткрије сенчење могућности графичког хардвера.

DirectX 8.0Уреди

DirectX 8.0, је објављен у новембру 2000. године, уведено је програмирање у облику чворова и пиксела шејдера, омогућавајући програмерима да пишу код без бриге о сувишном стању хардвера.[18] Сложеност шејдер програма зависи од сложености задатка, и програма за приказ компилован од тих шејдера са упутством које може схватити хардвер. Direct3D 8.0 и његови програмирати сенчења могућности, су први велики одлазак из OpenGL стила фиксне функције архитектуре, где је цртеж под контролом стања машинерије. Direct3D 8.0 такође елиминише ДиректДрав као одвојени АПИ. Direct3D подвеставља све преостале ДиректДрав АПИ позиве и даље потребне за развој апликација, као што је функција која се користи за приказивање резултата.

Direct3D није сматрао да је корисник пријатељски, али од верзије 8.1 ДиреkтX, многи употребљиви проблеми су решени. Direct3D 8 садржи многе моћне 3D графичке функције, као што су чворови шејдера, пиксел шејдера, магла, бумп мапирање и мапирање текстура.

DirectX 9.0Уреди

DirectX 9.0[19] је додао нову верзију подршке високом нивоу шејдер језика[20][21][22] за покретне зарезе текстуре формата, Вишеструки Пружени Циљеви (МРТ),[23] Вишеструки Елемент Текстуре,[24] текстура лоокупс у највишој тачки шејдера и матрица тампон техникама.[25] Продужење је доступно само у оперативном систему Windows Vista, под називом Direct3D 9Ек[26] (претходно версионед 9.0Л), омогућава коришћење предности које нуди Windows Висте Windows Приказ Драјвер Модела (ВДДМ) и користи се за Windows Аеро.[27] Direct3D 9Ек, у сарадњи са DirectX 9 класе ВДДМ возачима омогућава да се графичке меморије виртуелизују и зове системску меморију, омогућава графичке операције да се прекину и закажу и омогућава DirectX површини да се дели кроз процесе.[28] Direct3D 9Ек је раније познат као верзији 1.0 оперативни систем Windows Грапхицс Фоундатион (ВГФ).

DirectX 10.0Уреди

Windows Vista садржи велики апдејт за Direct3D АПИ. Првобитно назван ВГФ 2.0 (цомпатибле Графика Фондација 2.0), а затим DirectX 10 и DirectX Следећа. Direct3D 10[29] Карактеристике ажурирани шејдер модел 4.0 и опциони интерруптибилити за шејдер програм.[28] У овом моделу шејдер још увек се састојати од основних фаза, као на претходним верзијама, али све фазе подржава скоро јединствен интерфејс, као и јединствен приступ парадигма за ресурсе као што су текстуре и шејдер константи. Сам језик је проширен да буде изражајан, укључујући и целе операције, а знатно повећана инструкција тачке, а више C-као језика конструкције. Поред претходно доступних чворова и пиксел шејдер фаза, АПИ укључује геометријска шејдер фазу која продире кроз стари модел једног темена у / једно темена оут, како би се омогућило геометрија да заиста бити генерисана из унутрашњег шејдера, омогућавајући сложене геометрије у потпуности остварени од графичког хардвера.

Windows XП не подржава DirectX 10.0 и горе.

За разлику од претходних верзија АПИ, Direct3D 10 више не користи "погодност бајта" (или "капе") да укаже које функције су подржане на датом графичком уређају. Уместо тога, он дефинише минимални стандард хардвера способности које морају бити подржани за дисплеј систем да буде "Direct3D 10 компатибилна". Ово је значајан одлазак, са циљем рационализације апликације, уклањањем могућности провере кода и посебне случајеве на основу присуства или одсуства специфичних способности.

Зато што Direct3D 10 хардвер је релативно редак након почетног пуштања система Windows Vista и због масовног инсталиране базе не-Direct3D 10 компатибилна графичким картицама, први Direct3D 10-компатибилне игре и даље пружају Direct3D 9 рендер путеве. Примери таквих наслова су игре оригинално написан за Direct3D 9 и пребачене на Direct3D 10, након њиховог пуштања, као што су Company of Heroes или игре првобитно развијене за Direct3D 9 са Direct3D 10 стазом монтирати касније у развоју, као што је Hellgate: London или Crysis . DirectX 10 СДК постао доступан у фебруару 2007. године.[тражи се извор]

DirectX 10.0Уреди

Direct3D 10.0 ниво хардвера мора да подржава следеће функције: способност да обради читаве примитиве у новој геометрија-шејдер фази, способност излаза гасовода генерисан теменима података у меморији користећи ток-излазни степен, мултисамплед алфа-да-покривеност подршке, реадбацк од дубине / стенцил површини или мултисамплед ресурс када га више не обавезује као циљ, пуна ХЛСЛ Интеграције - Алл Direct3D 10 шејдер су писане у ХЛСЛ и реализоване уз заједнички-шејдер-кор, целим и битовима шејдер операција, организација стања цевовода у 5 непроменљивих стања објекта, организацију шејдер константи у сталним буферима, повећан број рендер циљева, текстуре, и модела, нема шејдер дужина границе, нове врсте ресурса и формата ресурса,,[30] слојевита Рунтиме / АПИ слојева,[31] опцију да обављају по-примитивно материјал премештају и подешавање геометрије користећи шејдер, повећана генерализација приступа ресурсима користећи поглед, уклоњене Способност наслеђе хардвер бита (цапс).

  • Цевовод[32] се одриче у корист потпуно програмабилних цевовода (често из архитектуре као јединственог цјевовода), која се могу програмирати да имитирају исти.
  • Ново стање објекта како би се омогућило (углавном) ЦПУ да ефикасно промени стања.
  • шејдер Модел 4.0 побољшава програмирања у графичком цевоводу. Он додаје упутства за целе и битовне прорачуне.
  • Заједничка шејдер језгра[33] пружају комплетан сет, ИЕЕЕ-цомплиант 32-битни цео број и битовна операција. Ове операције омогућавају нову класу алгоритама у графичког хардвера-Примери укључују компресије и паковање технике, ФФТс и контрола битфиелд програма протока.
  • Геометрија шејдера,[34][35] који раде на суседним троугловима који формирају мреже.
  • Текстуре низова омогућавају брзу замену текстура у ГПУ без интервенције процесора.
  • Заснован Рендеринг омогућава израду позива који се игноришу на основу неких других услова. То омогућава брзо зачепљење редукционог лова, који спречава предмете да буду изречени ако није видљиво или сувише далеко да буду видљиви.
  • Инстанцинг 2.0 подршка, омогућава више инстанци сличних мрежа, као што су војска, или трава или дрвеће, које доноси у једној извлачење позива, смањујући време потребно за обраду више сличних објеката на један једини.[36]


DirectX 10.1Уреди

Direct3D 10.1[37] је објавио Мајкрософт недуго након објављивања Direct3D 10 као мање исправке. Спецификација је завршен са издавањем новембра 2007. DirectX СДК и извршни је послата са Windows Vista СП1, који је доступан од средине марта 2008. године.

Direct3D 10.1 Поставља још неколико стандарда квалитета слике за графичке продаваце, и даје програмерима већу контролу над квалитетом слике.[38][39] Феатурес инцлуде финију контролу над анти-алиасинг (како мултисамплинг и суперсамплинг са по узорку нијансирање и контролу апликација преко узорка положај) и више флексибилности за неке од постојећих функција (цубемап низови и независни мешање модова). Direct3D 10.1 ниво хардвер који мора да подржава следеће карактеристике: мултисамплинг је побољшан генерализовати покривеност на основу транспарентности и ефикасније са мулти-пасс рендеринг би мултисамплинг посао, боље уништавање понашања - Нула-ареа лица се аутоматским побилима; то утиче вирефраме рендеринг само независни мешавина модова на рендер циљ, нови узорак-фреквенција Пикел шејдер извршења са примитивном растеризацијом, повећана фаза нафтовода бандвидтх, и боја и дубина / стенцил МСАА површина може сада да се користи са ЦопиРесоурце било као извор или одредиште, МултисамплеЕнабле утиче само на линију растеризација (бодови и троуглови су нетакнути), а користи се да изабере линије за цртање алгоритма. То значи да неки Мултисампле растеризација од Direct3D 10 се више не подржава, текстура Узорковање - сампле_ц и сампле_ц_лз упутства су дефинисани за рад са обе Тектуре2ДАрраис и ТектуреЦубеАрраис користе чланове локација (алфа компонента) да одредите индекс низа, подршку за ТектуреЦубеАрраис.

  • Обавезно 32-битно филтрирање покретних зареза.
  • Правила покретних зареза - користе иста ИЕЕЕ 754 правила за покретне ОСИМ 32-битне операција са покретним зарезом су затегнути да произведе резултат у 0,5 јединица последњег места (0,5 УЛП) од бескрајно прецизне резултате. Ово се односи на сабирање, одузимање и множење. (прецизности 0,5 УЛП за вишеструко, 1.0 УЛП за реципрочно).
  • Формати - Прецизност флоат16 мешање је порасло на 0,5 УЛП. Мешање је такође потребно за УНОРМ16 / СНОРМ16 / СНОРМ8 формата.
  • Формат Конверзија док копирате између појединих 32/64/128 бит преструцтуред, куцаних ресурса и компресоване репрезентације истих бита ширине.
  • Обавезна подршка за 4к МСАА за све чине циљеве осим Р32Г32Б32А32 и Р32Г32Б32.[40]
  • шејдер Модел 4.1

За разлику од Direct3D 10, који је стриктно потребан Direct3D 10-класи хардверском и покретном интерфејсу, Direct3D 10.1 Рунтиме може да ради на Direct3D 10.0 хардверу користећи концепт "одлика нивоа",[41][42][43] али нове функције подржавају искључиво нови хардвер који излаже функцију на нивоу 10_1.

Једини доступан Direct3D 10.1 хардвер у јуну 2008. године био Радеон ХД 3000 серија и ГеФорце 4000 серија од АТИ; у 2009. години, су им се придружили Хроме 430 / 440ГТ ГПУ из С3 Графикa и одаберите мање-енд моделе у ГеФорце 200 Сериес из Нвидиа. У 2011. години, Интел чипсетови почео подржава Direct3D 10.1 увођењем Интел ХД Графика 2000 (ГМА ХД).

DirectX 11.0Уреди

Direct3D 11[44] је пуштен у оквиру Windows 7. Представљен је у Гамефест 2008 22. јула 2008. године и показан на Нвисион 08 техничкој конференцији 26. августа 2008. године.[45][46] Direct3D 11 Технички Преглед је уврштен у новембру 2008. године, и ослобођен DirectX СДКа.[47] Интел је приказао радни DirectX 11 хардвер на Цомпутеку 3. јуна 2009. године, ради неких DirectX 11 СДК узорака.[48]

Direct3D 11 показивач карактеристика је у стању да ради на Direct3D 9 и 10.к-класама хардвера и драјвери користе концепт "одлика нивоа", шира функционалност први пут уведена у Direct3D 10.1 показвач карактеристика.[41][49][50] Нивои омогућавају програмерима да уједине приказивања цевовода испод Direct3D 11 АПИ и искористе побољшања АПИ за што боље управљање ресурсима и Мултитхреадинг чак и на ентри-левел картицама, иако напредне функције, као што су нови шејдер модели и пружање фаза ће бити изложено само на уп- Ниво хардвера.[49][51] Постоје три "10 Ниво 9" профила који енкапсулирају различите способности популарног DirectX 9.0а картица, и Direct3D 10, 10.1 и 11 сваки има посебан ниво функције.; сваки горњи ниво је строг надскуп нижем нивоу.[52]

Тесселлатион се раније сматрао за Direct3D 10, али је касније напуштена. ГПУ као што Радеон Р600 поседују тесселлатион мотор који се може користити са Direct3D 9/10 / 10.1[53][54][55] и OpenGL,[56] али није компатибилан са Direct3D 11 (према Мајкрософт). Старији графички хардвери, као што су Радеон 8ккк, ГеФорце 3/4 су имали подршку за још један облик Тесселатион (РТ фластери, Н патцхес), али оне никада нису виделе значајне технологије коришћења. Као таква, њихова подршка је пала за новије хардвере.

Мајкрософт је такође наговестио на другим функцијама, као што је поредак независне транспарентности, који никада није изложен од стране Direct3D АПИ, али подржава готово транспарентно почетком Direct3D хардвера као што ВИДЕОЛОГИЦ је ПоверВР линије чипова.

DirectX 11Уреди

Direct3D 11.0 карактеристике укључују: Подршка за шејдер Модел 5.0, Динамичко шејдер повезивање,[57] адресибилне ресурсе, додатне типове ресурса, подпрограме, геометрија инстанцинг, покривеност као пиксел шејдер улаз, програмабилна интерполација улаза, новие текстуре компресоване формате (1 новог ЛДР формату и 1 нова ХДР формата), текстура стеге да ограничи ВДДМ прелоад, захтевају 8-битовни субтекел и под-МИП прецизношћу на филтрирање текстура, 16К текстура границе, Гатхер4 (подршка за мулти-компоненте текстуре, подршка за програмирање поравнања), ДравИндирецт, конзервативни оДептх, Дубина Предрасуда,[58][59] адресабилан поток излаза, по-ресурс Мипмап стезање, приказ највише тачке, инструкције шејдер конверзија, побољшана Мултитхреадинг.

  • шејдер Модел 5[60]
  • Подршка за Теселацију[61] и тесалацију шејдера[62] да се повећа компонентан број видљивих полигона са ниским детаљима полигоналних модела
  • Вишенитно приказивање - да пружи на исти Direct3D објекат уређаја из различитих тема за мулти коре процесорима
  • Израчунавање шејдера - које излаже шејдер цевовод за не-графичке задатаке, као што су ток обраде и физике убрзање, слично у духу онога што ОпенЦЛ, Нвидиа ЦУДА, АТИ Стреам и ХЛСЛ шејдер Модел 5 постигне између осталог.[45][46]
  • Обавезна подршка за 4к МСАА за све приказне циљеве и 8к МСАА за све приказне циљне формате осим Р32Г32Б32А32 формата.[40]

Остале значајне карактеристике су додавање два нова текстурна компресована алгоритама за ефикасније паковање високог квалитета и ХДР / алфа текстуре и повећане текстуре кеш.

Прво види у верзији објављених кандидата, Windows 7 интегрише први пут објављену Direct3D 11 подршку.Платформски апдејт за оперативни систем Windows Vista укључује потпуно функционалан Direct3D 11 издржљивост и ДXГИ 1.1 апдејт, као и друге сродне компоненте из Windows 7 као Варп, Директ2D, ДиректВрите и ВИЦ.[63]

DirectX 11.1Уреди

Direct3D 11.1[64][65] је исправка за АПИ који се испоручује са Windows 8.[66][67] Direct3D компонента у оперативном систему Windows 8 карактеристична за ДXГИ 1.2[68] и захтева нову ВДДМ 1.2[69] управљачких програма.[69] Прелиминарну верзију Windows СДК за Windows 8 Девелопер Превиев пуштен је 13. септембра 2011. године.

Нови АПИ за шејдер праћење и ХЛСЛ компајлер побољшања, подршка за минимално прецизне врсте ХЛСЛ скаларне податаке,[70] УАВс (УНОРДЕРЕД Аццесс Виевс) у свакој фази гасовода, циљ је независна растеризација (ТИР), могућност мап СРВС динамичких буфера са НО_ОВЕРВРИТЕ, обрада шејдер од визуелних средстава, могућност да користе логичке операције и донесу мету, могућност да се везују за субранге константне тампоне на шејдеру и преузму га, могућност да се створи веће стални амортизери него они коима шејдер може приступити, опцију одбаци ресурсе и погледа ресурса, могућност да промените субресоурцес са новим опцијама копирања, могућност да примора узорак тачке да створи растеризатор стања, могућност да обришете све или део поглед ресурса, могућност да користе Direct3D у заседању 0 процесе, опција да бисте навели корисника на клип авиона у ХЛСЛ на функцијама у нивоу 9 и више, подршка за сенке тампона на играном нивоу 9, подршку за видео репродукцију, проширење подршке заједничким ресурсима Тектуре2Д, и он-тхе-фли замене између Direct3D 10 и 11 контекстима и нивоа функцију. Direct3D 11.1 подразумева нови ниво карактеристика 11_1, која доноси мање исправке за шејдер језике, као што су веће сталним буфера и изборних двоструко прецизних инструкција, као и побољшано мешање режима и обавезно подршку за 16-битне формате у боји да побољшају перформансе уласка нивоа ГПУ као што су Интел ХД График.[71] ВАРП је ажуриран да подржи функцију на нивоу 11_1.

Платформ Апдејт за Windows 7 укључује ограничен скуп функција из Direct3D 11.1, мада компоненте које зависе од ВДДМ 1.2 - као што је функција нивоа нивоа 11_1 и пратећих АПИ, или куад баферовања за стереоскопско приказивање - нису присутни.[72][73]

DirectX 11.2Уреди

Direct3D 11.2[74][75][76] је послат са Windows-ом 8.1.[77][78] Нове хардверске карактеристике захтевају ДГXI 1.3[79] са ВДДМ 1.3[80] драјверима и укључују компоненте шејдера измену и повезивање, функција повезује графикон (ФЛГ), инбок ХЛСЛ преводилац, могућност да обележите графичке команде.[81] Ниво Феатуре 11_0 и 11_1 уводе опционалну подршку за поплочане ресурсе са шејдер нивоима детаља стезаљке (Тиер2).[82] Ова друга функција ефикасно обезбеђује контролу над хардверском страницом табеле која је присутна у многим актуелним ГПУ-има.[83] ВАРП је ажуриран да у потпуности подржава нове функције.[77][84] Не постоји опција нивоа 11_2 иако; су нове карактеристике распршене широм постојећих играних нивоа. Они који су хардверски-зависни могу се проверити појединачно преко ЦхецкФеатуреСуппорт.[78][85] Неке од "нових" функција у Direct3D 11.2, заправо излаже неке старе хардверске карактеристике у грануларном начину.; На пример Д3Д11_ФЕАТУРЕ_Д3Д9_СИМПЛЕ_ИНСТАНЦИНГ_СУППОРТ излаже делимичну подршку за инстанцинг на играном нивоу 9_1 9_2 и хардвер, иначе у потпуности подржан од функција нивоа 9_3 па надаље.[86]

Direct3D 11. X је надскуп DirectX-а 11.2 компоненте на Xbox One.[87][88] То укључује и неке функције, рецимо нацрт пакета, који је касније објављен као део DirectX 12.[89]

DirectX 11.3Уреди

Direct3D 11.3 очекује се да ће се испоручивати са Windows-ом 10; она треба да садржи неке мање приказне функције од Direct3D 12, а имајући целокупну структуру Direct3D 11.к АПИ.[90][91][92] Direct3D 11.3 уводи опциону Стенцил референцу у пиксел шејдер, опционо додатне формате откуцане у УАВ, опциони растеризатор показног реда (Роверс), опционо конзервативна растеризација (у три нивоа[93]), Опционо Обједињена Меморија (УМА) подршке, и додатни ресурси плочицама Тиер 3 (Волуме каљеве ресурси).[94]

DirectX 12.0Уреди

Direct3D 12[90][92][95][96][97] омогућава нижи ниво апстракције хардвера од ранијих верзија, омогућавајући да будуће игре значајно побољшају перформансе и мултитхреадед (смањење) ЦПУ искоришћености. Ово се боље поклапа са Direct3D апстракционим слојем са основним хардвером, помоћу нових функција као што су дескриптивни столови, концизно стање гасовод објеката, и цртају позиве пакета. Смањење драјвера изнад је заправо главна атракција на Direct3D 12, слично као АМД плашт;[96] по речима њеног Девелопер Макс МцМуллен, главни циљ Direct3D 12 је постизање "ефикасност конзола нивоа" и побољшан ЦПУ паралелизам.[98][99][100]

Иако је Нвидиа најавила широку подршку за Direct3D 12, они су такође били помало резервисани за универзалне привлачности новог АПИ, напомињући да док играју мотор програмери могу бити одушевљени директним управљањем ГПУ средства из њиховог кода апликација, "доста [Отхер] људи не би "радо да то урадите.[101]

Неке нове хардверске карактеристике такође се сматрају за Direct3D 12,[92][102][103] укључујући Волуме плочице ресурса, откуцана УАВ оптерећења, конзервативна растеризација, боље судара и редукцију дивљачи са конзервативним растеризацијама Растер Ж Виевс (Роверс), свиззлед ресурсе и компримовани ресурси,[104] додатни бленд модес,[105] програмирати спој и ефикасно заказан Независно од Транспарентности (ОИТ) са пикселима УАВ.[106]

Цевовод стања објекта[107] еволуира од Direct3D 11, а ново концизно стање пипелине значи да је процес поједностављен. DirectX 11 је изузетно флексибилан како би се њено стање мењало, на штету перформанси. Поједностављење процеса уједињења и цевовода (нпр пикел шејдер Државе) доводи до много Аеродинамичаних процеса, знатно смањење трошкова и омогућава графичку картицу за цртање више позива за сваки оквир.

Следеће је командна листа и снопови, и то је место где Direct3D 12 повлачи паралеле са АМД Мантле. Циљ овде у суштини је да обезбеди ЦПУ и ГПУ да заједно раде на више уравнотежен начин.

У оквиру Direct3D 11 команде се шаљу од ЦПУ једна по једна до ГПУ и ГПУ ради кроз ове команде редом. То значи да су команде ометене услед брзине којом ЦПУ може послати ове команде на линеаран начин. У оквиру DirectX 12 те команде се шаљу као командна листа, која садржи све потребне информације у једном пакету. ГПУ је тада у стању да рачуна и изврши ове команде у једном процесу, без потребе да се чека на додатне информације из процесор.

У оквиру ових командних листа су снопови. Где се претходне команде само узете, користе, а затим забораве од стране ГПУа, снопови могу да се поново користе. То смањује оптерећење на ГПУ и значи поново средства се могу користити много брже.

Док ресурс обавезујућа је прилично згодно у Direct3D 11 за програмере у овом тренутку, његова неефикасност значи да неколико модерних хардверских могућности се драстично недовољно користе. По потреби ресурс игра мотор у ДX11, морала је да извуче податке од нуле сваки пут, што значи поновне процесе и непотребне употребе. У Direct3D 12, дескриптор гомиле и табеле значи да су најчешће користе средства могу бити додељена од стране програмера у табелама које ГПУ може брзо и лако да приступи. Ово може да допринесе бољим перформансама од Direct3D 11 на еквивалентне хардвере, али и подразумева више посла за програмера.

Динамичне гомиле су такође карактеристика Direct3D 12[108]

Крајем фебруара 2015 Гамеспот.цом је објавио вест видео на You Tube-u[109] тврдећи - између осталог - подршка у Direct3D 12 за продавца агностик ГПУ и ВРАМ удруживање ради веће перформансе представљајући суму системски фграфика процесних ресурса као једна приказана јединица апликација. Детаљи су светло и нејасно је како се постиже нешто овако, поготово јер је велики део Direct3D 12 је наведено циљ је да се смањи апстракција слој за смањен изнад главе и резултира побољшања перформанси, и остваривања циљева горе би изгледало да треба већи слој апстракције, а не мањи.


АрхитектураУреди

 
Сажетак слоја

Direct3D је Мајкрософт DirectX АПИ подсистем компонента. Циљ Direct3D је апстрактна комуникација између графичке апликације и графичког хардвера драјвера. Представљен је као танак апстрактни слој на нивоу упоређености са ГДИ (погледајте приложени дијаграм). Direct3D садржи бројне карактеристике које ГДИу недостају.

Direct3D је непосредни мод графичког АПИ. Он пружа низак ниво интерфејс за сваку видео картицу 3D функција (трансформације, клиппинг, осветљење, материјали, текстуре, дубина буфера и тако даље). Она је такође садржала виши ниво Задр`ана режим компоненту, која је сада званично прекинута.

Direct3D непосредни режим представља три главне апстракције: уређајима, средствима и Свап Цхаинс (погледајте приложени дијаграм). Уређаји су одговорни за пружање 3D сцене. Они пружају интерфејс са различитим могућностима приказивања. На пример, моно уређај пружа бела и црна приказивања, док РГБ уређај чини у боји. Постоје четири врсте уређаја:

 
Уређај
  • Референтни уређај: симулира нове функције још увек није доступан у хардверу. Неопходно је да инсталирате Direct3D СДК да користи ову врсту уређаја.
  • Нулл референтни уређај: не ради ништа. Овај уређај се користи када није инсталиран СДК и референтна уређај га тражи.

Сваки уређај садржи најмање један свап ланац. Свап ланац се састоји од једног или више буфера окрентутим леђним површинама. До приказивања долази у задњем буферу.

Осим тога, уређаји садрже прикупљена средства; специфични подаци коришћени приликом доношења. Сваки ресурс има четири атрибута:

  • Тип: Одређује тип ресурса: површине, запремине, текстуре, Цубе текстуре, запремине текстуре, текстуре површине, индекс бафер или бафер темена.
  • Поол:[110] Описује како ресурси управљају компонентама и где се чувају. У подразумеваном Поолу ресурс ће постојати само у меморији уређаја. Извори у управљању Поола ће бити смештени у системској меморији, и биће послат на уређај када је то потребно. Извори у системској меморији Поола ће постојати само у системској меморији. Коначно, гребање Поола је у основи исто као системска меморија Поола, али ресурси нису ограничени хардверским ограничењима.
  • Формат описује распоред података ресурса у меморији. На пример, Д3ДФМТ_Р8Г8Б8 формат вредност значи 24 бита дубине боје (8 битова за црвону, 8 битова за зелену и 8 битова за плаву).
  • Употреба: Описује, са колекцијом застава бита, како ће ресурс да користи апликације. Ове заставе диктирају која средства се користе у динамичким или статичким образцима приступа. Статички вредности ресурса се не мијењају након утовара, док динамичне вредности ресурса могу бити модификоване.

Direct3D спроводи два режима приказа:

  • Екран Режим: Direct3D апликација генерише све графичке излазе за приказ уређаја. У овом режиму Direct3D аутоматски снима Алт-Таб и скупове / враћа резолуцију екрана и пиксела формат без интервенције програмера. Ово такође обезбеђује обиље проблема за отклањање грешака због "Ексклузиве задруге Мода".(потребан цитат)
  • Windows режим: Резултат је приказан у области дисплеја. Direct3D комуницира са ГДИем за генерисање графичког излаза на екрану. Windows режим може имати исти ниво перформанси као цео екран, у зависности од драјвер подршку.

ЦевоводУреди

 
График процес цевовода

Мајкрософт Direct3D 11 АПИ дефинише процес претварања групе темена, текстура, пуфери, и стања слика на екрану. Овај процес је описан као приказивање цевовода са неколико засебних фаза. Различите фазе Direct3D 11 цевовода су:[111]

  1. Улазни асемблер: чита вертекс податаке из апликација испоручује вертекс бафер и храни цевовод.
  2. Вертек шејдер: обавља послове на једном темену у исто време, као што су трансформација, драње, или осветљење.
  3. Хал шејдер: обавља послове на сетау контролних тачака закрпа, и ствара додатне податке познате као патцх константе.
  4. Мозаик фаза: дели геометрију за креирање вишег реда представе трупа.
  5. Домен шејдер: обавља послове на излазу темена које даје мозаик фази, на исти начин као Вертек шејдер.
  6. Геометријски шејдер: процеси ћитавих примитива као што су троуглови, тачке или линије. С обзиром на примитиве, ова фаза је одбацује, или ствара једну или више нових примитива.
  7. Стреам Излаз:[112] може написати резултат претходне фазе у меморију. Ово је корисно да рециркулише податке у плану.
  8. Растеризатор:[113][114] претвара примитиве у пикселе, храњење тих пиксела у пиксел шејдеру. Растеризатор може обављати и друге послове, као што су исечци оног што се не види, или интерполацијом вертек података у по-пиксел податке.
  9. Пиксел шејдер: утврђује коначне боје пиксела да буде написане на рендер циљу и може да израчуна вредност дубине и треба да буде написана у дубини бафера.
  10. Излазно Спајање:[115] спаја разне врсте излазних података (пиксел шејдер вредности, алфа мешање, дубинског / стенцил ...)за изградњу коначаног резултата.

Фазе нафтовода илустрована са округлим кутијама се могу програмирати. Апликација нуди шејдер програм који описује тачне операције да буду завршен за ту фазу. Многе фазе су опционе и могу се потпуно искључити.

Ниво функцијеУреди

У Direct3D 5 до 9, када нове верзије АПИ уведу подршку за нове хардверске могућности, већина њих је била изборна - сваки графички продавац одржава свој скуп подржаних функција поред основне потребне функционалности. Подршка за поједине функције мора да буде одређена коришћењем "погодност бита" или "капе", што крос-продају графичког програмирања као комплексан задатак.

Direct3D 10 је увео много поједностављен сет обавезних хардверских захтева на основу најпопуларнијих Direct3D 9 могућности које све пратећe графичке картице морају да се придржавају, са само неколико изборних могућности за подржавање формата текстура и операција.

Direct3D 10.1 додао неколико нових обавезних хардверских захтева, и да би остао компатибилан са 10,0 хардвером и драјверима, ове функције су енкапсулиране у два сета под називом "ниво карактеристика", са 10,1 ниво формирање надскупа 10.0 нивоа. Као Direct3D 11.0 и 11.1 додао је подршку за нови хардвер, нове обавезне могућности су додатно груписане у горњим нивоима.[41]

Direct3D 11 је такође представио "10левел9", подскуп Direct3D 10 АПИ са нивоима играних енцапсулатинг разним Direct3D 9 картицама са ВДДМ драјверима, и Direct3D 11.1 је уведо пар опционих функција за све нивое.[116]

Овај приступ омогућава програмерима да уједине приказивања гасовода и користе једну верзију АПИ на оба нова и стара хардвера, искористивши побољшања перформанси и употребљивости новијих компоненти.[45]

Функција нивоа типичних енкапсулација

  • Главне карактеристике обавезно су изложене у новој верзији АПИа (Direct3D 11.0, Direct3D 12),
  • неколико мањих функција је изложено у новој верзији (Direct3D 10.1, 11.1, Директан 12), или
  • заједнички скуп претходно опционих карактеристика (Direct3D 11.0 "10 ниво 9", Direct3D 12).

Сваки горњи ниво је строгi надскуп нижем нивоу, са само неколико нових или претходно изборних функција које се крећу у основама.[52] Функционалности на горњем нивоу напредније функције у великом ревизију Direct3D АПИа као што су нови шејдер модели и приказне фазе изложене само на горењем нивоу хардвера.[50][51]

Одвојене могућности постоје да укажу подршку за специфичне текстуре операције и формата ресурса; Оне су утврђене по свакој текстури формата коришћењем комбинација способности застава.[117][118]

Direct3D 10 и 11 нивоиУреди

У Direct3D 11.к, постоји девет функција нивоа обезбеђених Д3Д_ФЕАТУРЕ_ЛЕВЕЛ структура; Ниво 9_1 9_2, 9_3 (колективно познати као Direct3D 10 Ниво 9) поново обухвата различите карактеристике популарних Direct3D 9 картица, док је нивои 10_0, 10_1, 11_0 и 11_1 односе на одговарајуће верзије Direct3D АПИ-ја. [50]

Direct3D 11.1 за Windows 8 уводи функцију нивоа 11_1 и додатне способности за нивое 10_0, 10_1 и 11_0,[116] међутим, оне нису доступне у Direct3D 11.1 за Windows 7 платформни апдејт.[119][120] Direct3D 11.2 за Windows 8.1 додаје опцију тилед средства за нивоима 11_0 11_1,[78] и Direct3D 11.3 за Windows 10 додаје више изборних функција и захтева ВДДМ 2.0 драјвера.

Ниво функције у Диркт3D 11.3
Ниво функције Обавезне хардверске карактеристике Додатне функције
9_1 шејдер Модел 2.0 (вс_2_0 / пс_2_0), 2К текстуре, запремина текстуре, догађај упити, БЦ1-3 (звани ДXТн), неколико других специфичних способности. Н/Д
9_2 Оклузија упити, формати покретне тачке (не мешање), Ектендед капе, све 9_1 карактеристике.
9_3 vs_2_a/ps_2_x са инстанцинг и додатне шејдер капе, 4К текстура, више циљева (4 МРТс), покретне тачке мешања (Лимитед), све 9_2 карактеристикама.
10_0 шејдер Модел 4.0, геометрија шејдера, поток од, алфа-то-покрића, 8К текстуре, МСАА текстуре, 2 једнострана стенцила, општи виши циљеви ставова, текстура низова, БЦ4 / БЦ5, пуна подршка формата покретне тачке, све 9_3 феатурес. Логичко мешање операција, ДиректЦомпуте (ЦС 4.0 / 4.1), проширени формати пиксела.[116]
10_1 шејдер Модел 4.1, цубемап низови, проширен МСАА, све 10_0 функције.
11_0 шејдер модел 5.0 / 5.1, Хулл & домен шејдера, ДиректКомпуте (ЦС 5.0 / 5.1), 16К текстуре, БЦ6Х / БЦ7, проширен формат пиксела, све 10_1 функције. Беспилотну летелицу приказану као пример сила тачака, стални буфери компензују и парцијалним променама, двострукој прецизности (64-бит) операцијама покретних тачки, минимална прецизност покретнихтачака (10 или 16 бита), мин / мак филтрирања.
11_1 Логичке бленд операције, мета-независна растеризација, УАВс у свакој фази цевовода са повећаном слот тачком, беспилотну летелицу само приказ узорка сила тачки, константан буфер пребијања и парцијално ажурирање, све 11_0 функције. Плочасти ресурси (три нивоа), конзервативна растеризација (три нивоа), Стенцил референтна вредност од пиксел шејдер, растеризатор наредио став, откуцана УАВ оптерећења за додатне формате
12_0 Плочасти ресурс Ниво 2 (Тектуре2Д), откуцана УАВ марфа (додатни формати).
12_1 Конзервативна растеризација Тиер 1, растеризатор Ж Виевс.

Direct3D 12 нивоУреди

Direct3D 12 за Windows 10 захтева графички хардвер у складу са карактеристикама нивоа 11_0 11_1 које подржава виртуелна меморија превода адреса и захтева ВДДМ 2.0 драјвера. Постоје два нивоа функција, нова 12_0 12_1 која укључује неке нове функције изложене од Direct3D 12, који су опционо на нивоу 11_0 11_1.[121] Неке раније изборне карактеристике су усклађене као основа на ниво 11_0 11_1.

Direct3D играни нивои
Ниво Обавезне карактеристике Додатне функције
11_0 Све обавезне 11_0 карактеристике из Direct3D 11, шејдер Модел 5.1, ресурса обавезујуће Тиер 1. Логичке мешане операције, двоструке прецизности (64-битни) операција покретних тачака, минимална прецизност покретних тачака (10 или 16 битни).

Ресурс везивање (три спрата), поплочан ресурси (три нивоа), конзервативни растеризација (три спрата), Стенцил референтна вредност од пиксел шејдер, растеризатор наредио став, откуцана УАВ оптерећења за додатне формате.

УАВс у свакој фази гасовода, беспилотну летелицу приказану као пример сила тачака, стално буфер пребијање и парцијално ажурирање.
11_1 Логичке мешане операције, мета-независна растеризација, повећана УАВ Слот датотека.
12_0 Ресурс Обавезна Тиера 2, поплочани ресурси Нивоа 2 (Тектуре2Д), откуцана УАВ оптерећења (додатни формати).
12_1 Конзервативна растеризација Тиера 1, растеризатор Ордеред Виевс

Direct3D 12 уводи модерније ресурсе обавезујући модел који омогућава експлицитну контролу над меморијом. Сажети "виев ресурс" објекти[122] су сада заступљени са ресурсима описима, који се додељују користећи меморијске гомиле и табеле.[123] Ресурс за везивање спрата дефинисања максималног број ресурса који могу бити обухваћени коришћењем ЦБВ (константа буфер Виев), СРВ (. шејдер поглед ресурса) и беспилотне летелице (неуређен приступ погледу), као и текстура самплер јединица. Ниво 3 хардвера омогућава потпуно биндлесс ресурсе само ограничене по величини дескриптора гомиле, док Тиер 1 и Тиер 2 хардвери наметну неке границе на броју дескриптора ("Погледи") који се може користити истовремено.[124]

Ресурс обавезујућих нивоа
Ресурс ограничење Tier 1 Tier 2 Tier 3
Дескриптор у ЦБВ / СРВ / УАВ хеап 1M 1M >1M
ЦБВс на шејдер фази 14 14 full heap
СРВС на шејдер фази 128 full heap
УАВс у свим фазама 8, 64 64 full heap
Семплери на шејдер фази 16 full heap
64 слота на функцијама на нивоу хардвера 11_1

ВишенитноУреди

ВДДМ драјвер модел у оперативном систему Windows Vista већ подржава произвољно велики број извршења контекста (или тема) у хардверу или у софтверу. Windows XП подржава само за више задатака приступ Direct3Dа, где се одвојене апликације могу извршити у различитим прозорима и да буду хардверски убрзане, и ОС има ограничену контролу о томе шта је ГПУ могао и драјвер може пребацити извршењем теме произвољно.

Способност да изврши компоненте у мулти-Низу уведене са Direct3D 11 компоненти. Сваки контекст извршење је представљен са ресурсима погледа на ГПУ. Извршење контекста је заштићена једна од друге, међутим, рогуе или лоше написана апликација може да преузме контролу извршења у управљачком корисничком-моду и потенцијално може приступити подацима из другог процеса у ГПУ меморије слањем модификованих команди. Иако заштићена од приступа другог програма, добро написана апликација и даље треба да се штити од кварова и губитка уређаја изазваних другим апликацијама.

Оперативни систем управља темама све од себе, дозвољавајући хардверу да се пребаци са једне нити на другу када је то потребно, а такође се бави управљањем меморијом и позивање (до системске меморије и диск) преко интегрисаног ОС кернел управљања меморијом.

Прецизнији контекст пребацивање, тј бити у стању да се пребаци две извршене теме на нивоу шејдер-инструкција, уместо у једном командном нивоу или чак серији команди, уведена је ВДДМ / ДXГИ 1.2 која се испоручује са оперативним системом Windows 8. Ово превазилази потенцијални проблем распореда када би апликација имала веома дуго извршење јединственом командном / серије команди и да ће морати да се раскине ОС ватцхдог тајмер.[тражи се извор]

ВДДМ 2.0 и DirectX 12 су конструисани како би се омогућило потпуно мултитхреадед извлачења позива. Ово је постигнуто тако што сви ресурси непроменљиве (нпр реад-онли), сериализинг стања пружањем, односно коришћењем нерешено позивају пакете. Овим се избегава сложено управљање ресурсима у управљачком кернел моду, што је могуће више улазин позив драјвера корисничких-модова преко истовремених погубљења контекста добили одвојене приказне нити у истој апликацији.

Остале имплементацијеУреди

Direct3D МобилниУреди

Direct3D Мобилни је изведен из Direct3D али има мањи меморијски отисак. Windows CE пружа Direct3D Мобилну подршку.

Вине имплементацијаУреди

Вине пројекат има радну имплементацију на Direct3D 8, 9 и 10 АПИ (они су, од 20. маја 2014. године, 100%, 78% и 82% комплетно респективно).[125] Имплементација Вине може да се ради на Windows-у под одређеним услови.[тражи се извор] Рад на спровођењу Direct3D 10 почела је у Винеу 1.1.7, користећи OpenGL преко ВГЛ.[тражи се извор]

Повезани алатиУреди

Direct3D долази са Д3ДX, библиотеком алата дизајнираних за обављање уобичајених математичких прорачуна на векторима, матрицама и бојама, рачунајући поглед-на и пројекције матрице, сплајн интерполација и још неколико компликованих задатака, као што су састављање и монтажа шејдер који се користе за 3D графичко програмирање, компримована скелетна анимација складиштење и матрице гомиле. Постоји неколико функција које обезбеђују комплексне операције над 3D месхесом као израчунавање тангента-простора, месх поједностављење, прецомпутед трансфер сјаја, оптимизација за темена кеш једноставности и стрипифицатион, и генератор за 3D текст мрежа. 2D карактеристике укључују часове за цртање екрана-простора линија, текст и сприте засноване честицама системима. Просторне функције укључују различите пресечне рутине, конверзију из / до барицентриц координата и гранични оквир / свера генератора. Д3ДX је обезбеђен као библиотека динамичких веза (ДЛЛ). Д3ДX је застарела из Windows-а 8 па надаље и не може се користити у излозима апликације.[126]

Неке функције присутне у претходним верзијама Д3ДX уклоњене су из Direct3D 11, а сада су обезбеђени као одвојени извори:[127]

  • Windows СДК и Висуал Студио[128]
  • Велики део математичких библиотека је уклоњен. Мајкрософт препоручује коришћење DirectX Матх библиотека уместо њега.
  • Сферно хармонична математика је уклоњена и сада се дистрибуира као извор.[129]
  • Оквир Ефекат је уклоњен и сада се дистрибуира као извор преко КодеПлека.[130]
  • Функције плетиво интерфејс и геометрија су уклоњене и сада се дистрибуирају као извор преко КодеПлек под DirectXМесх библиотеком обраде геометрија.[131]
  • Функције Тектуре су уклоњене и сада се дистрибуирају као извор преко КодеПлек под DirectXТек библиотеком обраде текстура.[132]
  • Општи помагачи су уклоњене и сада се дистрибуирају као извор преко КодеПлек под DirectX, алатка за комплет (DirectXТК) пројекта.[133]
  • Графичка текстура Атлас је уклоњена и сада се дистрибуира као извор преко КодеПлек под УВАтлас пројектом.[134]

ДXУТУреди

ДXУТ (такође назива узорак оквир) је слој изграђен на врху Direct3D АПИ-ја. Оквир је дизајниран да помогне програмеру да проводи мање времена са свакодневним задацима, као што је креирање прозора, стварајући уређај, обраду Windows поруке и руковање уређајима догађаја. ДXУТ су уклоњене са Windows СДК 8.0 и сада се дистрибуира као извор преко КодеПлек.[135]

Види јошУреди

ReferenceУреди

  1. ^ "Configuring Depth-Stencil Functionality".
  2. ^ "RenderStateManager.
  3. ^ "Texture Blending (Direct3D 9)".
  4. ^ "Geometry Blending (Direct3D 9)".
  5. ^ "HLSL".
  6. ^ "Effects (Direct3D 11)".
  7. ^ "DirectX Software Development Kit, October 2006" Архивирано на сајту Wayback Machine (2. новембар 2011).
  8. ^ "Windows Advanced Rasterization Platform (WARP) Guide - WARP Architecture and Performance".
  9. ^ "What happened to DirectX 4?". msdn.com. 2004-01-22.
  10. ^ "Press Release-Microsoft Meltdown (February 1997)".
  11. ^ "Press Release-Microsoft Meltdown (July 1997)".
  12. ^ Ron Fosner.
  13. ^ "Direct3D 7 Immediate Mode Framework Programming 3: Multitexturing" Архивирано на сајту Wayback Machine (5. август 2011). gamedev.net. 2000-05-29.
  14. ^ "Microsoft Ships Final Release of DirectX 6.0".
  15. ^ "Microsoft Ships DirectX 6.1".
  16. ^ "Bill Gates April 1997 Talisman Update" Архивирано на сајту Wayback Machine (8. децембар 2015) (PDF).
  17. ^ "DDS (DirectDraw Surface format)".
  18. ^ "Microsoft Announces Release of DirectX 8.0".
  19. ^ "Direct3D 9 Graphics".
  20. ^ "Writing HLSL Shaders in Direct3D 9".
  21. ^ [21]
  22. ^ "HLSL in Direct3D 9.0" Архивирано на сајту Wayback Machine (27. август 2010).
  23. ^ "Multiple Render Targets (Direct3D 9)".
  24. ^ "Multiple-element Textures (Direct3D 9)".
  25. ^ "Stencil Buffer Techniques (Direct3D 9)".
  26. ^ "Direct3D 9Ex Improvements".
  27. ^ "Graphics APIs in Windows".
  28. ^ а б „The role of the Windows Display Driver Model in the DWM”. 2. 4. 2006. Архивирано из оригинала на датум 20. 04. 2010. Приступљено 22. 11. 2015. 
  29. ^ „API Features (Direct3D 10)”. MSDN. Приступљено 30. 9. 2014. 
  30. ^ „Resource Types (Direct3D 10)”. MSDN. Приступљено 30. 9. 2014. 
  31. ^ „API Layers (Direct3D 10)”. MSDN. Приступљено 30. 9. 2014. 
  32. ^ „CNet News”. Приступљено 30. 9. 2014. 
  33. ^ „Common-Shader Core”. Microsoft. 
  34. ^ „Geometry Shader Features”. Microsoft. 
  35. ^ „Shader Stages”. Microsoft. 
  36. ^ „What Direct3D 10 is all about - Additional Improvements”. Tom's Hardware. 8. 11. 2006. 
  37. ^ „Direct3D 10.1 Features”. MSDN. Приступљено 30. 9. 2014. 
  38. ^ „Microsoft Presents DirectX 10.1 Details at SIGGRAPH”. ExtremeTech. 7. 8. 2007. 
  39. ^ „Direct3D 10.1 Features”. MSDN. 
  40. ^ а б „ID3D11Device::CheckMultisampleQualityLevels method”. MSDN. Приступљено 30. 9. 2014. 
  41. ^ а б в Walbourn, Chuck (20. 6. 2012). „Direct3D Feature Levels”. Games for Windows and the DirectX SDK Blog. 
  42. ^ „D3D10_FEATURE_LEVEL1 enumeration”. MSDN. Приступљено 22. 11. 2009. 
  43. ^ „Direct3D feature levels”. MSDN. Приступљено 30. 9. 2014. 
  44. ^ „Direct3D 11 Features”. MSDN. Приступљено 30. 9. 2014. 
  45. ^ а б в „Gamefest 2008 Presentations”. Microsoft. Архивирано из оригинала на датум 13. 11. 2013. Приступљено 26. 11. 2015. 
  46. ^ а б „Nvision 08 Tech Presentations”. Nvidia. Приступљено 16. 9. 2011. 
  47. ^ „DirectX Software Development Kit, November 2008”. Microsoft. 7. 11. 2008. 
  48. ^ „AMD shows off world's first DirectX 11 GPU”. Engadget. 3. 6. 2009. 
  49. ^ а б „GameFest 2008: Introduction to the Direct3D 11 Graphics Pipeline”. Microsoft. Slide 56. Архивирано из оригинала на датум 28. 01. 2013. Приступљено 26. 11. 2015. 
  50. ^ а б в „Direct3D 11 on Downlevel Hardware”. MSDN. Приступљено 18. 11. 2012. 
  51. ^ а б „Windows Driver Kit - Supporting Direct3D 11”. MSDN. Приступљено 13. 6. 2009. 
  52. ^ а б „Direct3D feature levels”. MSDN. Приступљено 2. 7. 2012. 
  53. ^ „Using ATI hardware tessellation in DX9”. 14. 7. 2008. 
  54. ^ „AMD DX9 Tessellation SDK”. Архивирано из оригинала на датум 8. 11. 2010. Приступљено 26. 11. 2015. 
  55. ^ „Programming for Real-Time Tessellation on GPU” (PDF). Архивирано из оригинала (PDF) на датум 27. 07. 2011. Приступљено 26. 11. 2015. 
  56. ^ „OpenGL Tessellation Samples”. Архивирано из оригинала на датум 9. 04. 2010. Приступљено 26. 11. 2015. 
  57. ^ „New Resource Types”. MSDN. Приступљено 30. 9. 2014. 
  58. ^ „Depth Bias”. MSDN. Приступљено 30. 9. 2014. 
  59. ^ „D3D11_RASTERIZER_DESC1 structure”. MSDN. Приступљено 30. 9. 2014. 
  60. ^ „Shader Model 5”. MSDN. Приступљено 30. 9. 2014. 
  61. ^ „Tessellation Overview”. Microsoft. 
  62. ^ „Tessellation Overview”. MSDN. Приступљено 30. 9. 2014. 
  63. ^ „Description of the Platform Update for Windows Server 2008 and the Platform Update for Windows Vista”. Support.microsoft.com. 2. 10. 2012. Приступљено 15. 6. 2013. 
  64. ^ „Direct3D 11.1 Features”. MSDN. Приступљено 30. 9. 2014. 
  65. ^ „D3D11_FEATURE_DATA_D3D11_OPTIONS structure”. MSDN. Приступљено 30. 9. 2014. 
  66. ^ „DirectX feature improvements in Windows 8”. MSDN. Приступљено 30. 9. 2014. 
  67. ^ „Direct3D 11.1 Features”. MSDN. Приступљено 13. 9. 2009. 
  68. ^ „DXGI 1.2 Improvements”. MSDN. Приступљено 30. 9. 2014. 
  69. ^ а б „WDDM 1.2 features”. MSDN. Приступљено 30. 9. 2014. 
  70. ^ „Scalar Types”. Приступљено 2. 10. 2014. 
  71. ^ „Intel's Haswell IGP to Feature DirectX 11.1, Increased Professional Application Support”. AnandTech. 5. 8. 2011. 
  72. ^ „DirectX Graphics - Platform Update for Windows 7”. MSDN. 14. 11. 2012. 
  73. ^ „DirectX 11.1 and Windows 7”. Games for Windows and the DirectX SDK Blog. 13. 11. 2012. 
  74. ^ „DirectX programming”. MSDN. Архивирано из оригинала на датум 31. 10. 2013. Приступљено 30. 9. 2014. 
  75. ^ „Direct3D 11.2 Features”. MSDN. Приступљено 30. 9. 2014. 
  76. ^ „D3D11_FEATURE_DATA_D3D11_OPTIONS1 structure”. MSDN. Приступљено 30. 9. 2014. 
  77. ^ а б „Windows 8.1 Feature Guide - DirectX programming”. MSDN Library. 26. 6. 2013. Архивирано из оригинала на датум 27. 08. 2015. Приступљено 27. 11. 2015. 
  78. ^ а б в Sorbo, Bennett (26. 6. 2013). „What's New in Direct3D 11.2”. Channel9 - BUILD 2013. 
  79. ^ „DXGI 1.3 Improvements”. MSDN Library. 26. 6. 2013. 
  80. ^ „What's new for Windows 8.1 Preview display drivers (WDDM 1.3)”. MSDN. Приступљено 30. 9. 2014. 
  81. ^ „Content Moved (Windows)[[Категорија:Ботовски наслови]]”. Архивирано из оригинала на датум 04. 03. 2016. Приступљено 27. 11. 2015.  Сукоб URL—викивеза (помоћ)
  82. ^ „D3D11_TILED_RESOURCES_TIER enumeration”. MSDN. Приступљено 30. 9. 2014. 
  83. ^ Charles Hollemeersch, Matt Sandy (26. 6. 2013). „Massive Virtual Textures for Games: Direct3D Tiled Resources”. Channel9 - BUILD 2013. 
  84. ^ „Direct3D 11.2 Features”. MSDN Library. 26. 6. 2013. 
  85. ^ „MSDN Blogs”. MSDN. Приступљено 30. 9. 2014. 
  86. ^ „D3D11_FEATURE_DATA_D3D9_SIMPLE_INSTANCING_SUPPORT structure”. MSDN. Приступљено 30. 9. 2014. 
  87. ^ „Raising the Bar with Direct3D”. Building Apps for Windows. Приступљено 30. 9. 2014. 
  88. ^ „Microsoft officially turns down Mantle”. Приступљено 30. 9. 2014. 
  89. ^ Chris Tector's segment of http://channel9.msdn.com/Blogs/DirectX-Developer-Blog/DirectX-Evolving-Microsoft-s-Graphics-Platform (starting approx. 18 minute in.)
  90. ^ а б Smith, Ryan. „AnandTech - Microsoft Details Direct3D 11.3 & 12 New Rendering Features”. Приступљено 30. 9. 2014. 
  91. ^ Smith, Ryan. „AnandTech - The NVIDIA GeForce GTX 980 Review: Maxwell Mark 2”. Приступљено 30. 9. 2014. »First and foremost among Maxwell 2’s new features is the inclusion of full Direct3D 11.2/11.3 compatibility.« 
  92. ^ а б в „DirectX 11.3 New Features Outline - Tiled Resources - Typed UAV Loads”. Приступљено 30. 9. 2014. 
  93. ^ „D3D11_CONSERVATIVE_RASTERIZATION_TIER enumeration”. MSDN library. 22. 2. 2015. Приступљено 22. 2. 2015. 
  94. ^ „Direct3D 11.3 Features”. MSDN library. 28. 3. 2015. Приступљено 28. 3. 2015. 
  95. ^ „DirectX 12 Low Level API - Analysis of What We Currently Know - Page 2 RedGamingTech”. Приступљено 30. 9. 2014. 
  96. ^ а б Smith, Ryan. „AnandTech - Microsoft Announces DirectX 12: Low Level Graphics Programming Comes To DirectX”. Приступљено 30. 9. 2014. 
  97. ^ „GDC DirectX 12 Presentation (All Slides)”. Imgur. Приступљено 30. 9. 2014. 
  98. ^ „Direct3D 12 Overview Part 8: CPU Parallelism”. 
  99. ^ „Direct3D 12 Overview Part 1: 'Closer To The Metal'. Приступљено 2. 10. 2014. 
  100. ^ first two minutes of https://channel9.msdn.com/Events/Build/2014/3-564
  101. ^ „A closer look at DirectX 12 - The Tech Report - Page 3”. Приступљено 30. 9. 2014. 
  102. ^ Smith, Ryan. „AnandTech - Microsoft Details Direct3D 11.3 & 12 New Rendering Features”. Приступљено 30. 9. 2014. 
  103. ^ „Архивирана копија”. Архивирано из оригинала на датум 30. 04. 2018. Приступљено 28. 11. 2015. 
  104. ^ „Meet the future of PC graphics: Microsoft reveals faster, console-like DirectX 12”. PCWorld. 20. 3. 2014. Приступљено 30. 9. 2014. 
  105. ^ „DirectX 12 will also add new features for next-gen GPUs”. Приступљено 30. 9. 2014. 
  106. ^ Kowaliski, Cyril (21. 3. 2014). „DirectX 12 will also add new features for next-gen GPUs”. The Tech Report. Приступљено 1. 4. 2014. 
  107. ^ „Author's Blogs”. 
  108. ^ „Direct3D 12 Overview Part 7: Dynamic Heaps”. Приступљено 2. 10. 2014. 
  109. ^ „DirectX 12 Can Combine Nvidia and AMD Cards - GS News Update”. GS News. Приступљено 27. 2. 2015. 
  110. ^ „Direct3D Resources - Memory pool”. Архивирано из оригинала на датум 9. 05. 2008. Приступљено 28. 11. 2015. 
  111. ^ „Graphics Pipeline”. MSDN. 
  112. ^ „Stream-Output Stage”. Microsoft. 
  113. ^ „RenderStates”. Приступљено 2. 10. 2014. 
  114. ^ „Rasterizer Stage”. Microsoft. 
  115. ^ „Output-Merger Stage”. Microsoft. 
  116. ^ а б в Direct3D 11.1 Features (Windows)
  117. ^ „D3D11_FORMAT_SUPPORT enumeration”. MSDN. Приступљено 16. 6. 2015. 
  118. ^ „D3D11_FORMAT_SUPPORT2 enumeration”. MSDN. Приступљено 16. 6. 2015. 
  119. ^ „MSDN Blogs”. Приступљено 30. 9. 2014. 
  120. ^ Platform Update for Windows 7 (Windows)
  121. ^ Hardware Tiers (Windows)
  122. ^ Introduction to a Resource in Direct3D 11 (Windows)
  123. ^ Wolfgang Engel. Introduction to Resource Binding in Microsoft DirectX 12
  124. ^ Build 2015: Advanced DirectX12 Graphics and Performance
  125. ^ „Status of Windows APIs implementation”. Архивирано из оригинала на датум 15. 07. 2014. Приступљено 30. 9. 2014. 
  126. ^ „D3DX 11 Reference”. MSDN. Приступљено 30. 9. 2014. 
  127. ^ „Living without D3DX”. MSDN. 
  128. ^ „Effect-Compiler Tool”. Microsoft. 
  129. ^ „Spherical Harmonics Math”. msdn.com. Приступљено 23. 11. 2014. 
  130. ^ „Effects 11”. CodePlex. Архивирано из оригинала на датум 24. 09. 2014. Приступљено 30. 9. 2014. 
  131. ^ „DirectXMesh geometry processing library”. CodePlex. Архивирано из оригинала на датум 29. 09. 2014. Приступљено 30. 9. 2014. 
  132. ^ „DirectXTex texture processing library”. CodePlex. Архивирано из оригинала на датум 25. 09. 2014. Приступљено 30. 9. 2014. 
  133. ^ „DirectX Tool Kit”. CodePlex. Архивирано из оригинала на датум 29. 09. 2014. Приступљено 30. 9. 2014. 
  134. ^ „UVAtrlas”. CodePlex. Архивирано из оригинала на датум 27. 06. 2015. Приступљено 23. 11. 2014. 
  135. ^ „DXUT for Win32 Desktop Update”. MSDN. 

Спољашње везеУреди