Difference between revisions 11425534 and 11425622 on srwiki

{{почетник|27|11|2015}}
'''Директ3D''' је графички [[апликациони програмски интерфејс]] (АПИ) за [[Мајкрософт виндоус|Мајкрософт Виндовс]]. Директ3D се користи да донесе [[тродимензионална графика|тродимензионалну графику]] у апликацијама у којима је важан учинак, као што су игре. Директ3D користи [[хардверско убрзање]] ако је доступна на [[Графичка карта|графичкој картици]], омогућавајући хардверско убрзање целог 3D рендеринг цевовода или чак само делимично убрзање. Директ3Д о(contracted; show full)t;/ref> тврдећи - између осталог - подршкa у Директ3D 12 за продавца агностик ГПУ и ВРАМ удруживање ради веће перформансе представљајући суму системски фграфика процесних ресурса као једна приказана јединица апликација. Детаљи су светло и нејасно је како се постиже нешто овако, поготово јер је велики део Директ 3D 12 је наведено циљ је да се смањи апстракција слој за смањен изнад главе и резултира побољшања перформанси, и остваривања циљева горе би изгледало да треба већи слој апстракције, а не мањи.



== Архитектура ==

Директ3D је Мајкрософт [[DirectX|ДирецтКс]] АПИ подсистем компонента. Циљ Директ3D је апстрактна комуникација између графичке апликације и графичког хардвера драјвера. Представљен је као танак апстрактни слој на нивоу упоређености са ГДИ (погледајте приложени дијаграм). Директ3D садржи бројне карактеристике које [[Graphics Device Interface|ГДИ]]у недостају.

(contracted; show full)

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

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


* '''Тип''': Одређује тип ресурса: површине, запремине, текстуре, Цубе текстуре, запремине текстуре, текстуре површине, индекс бафер или бафер темена.
[[''Поол'']]* '''[[Поол]]''':<ref>{{cite web |url=http://www.toymaker.info/Games/html/d3d_resources.html#MemoryPool |title=Direct3D Resources - Memory pool}}</ref> Описује како ресурси управљају компонентама и где се чувају. У '''подразумеваном''' Поолу ресурс ће постојати само у меморији уређаја. Извори у '''управљању''' Поола ће бити смештени у системској меморији, и биће послат на уређај када је то потребно. Извори у '''системској меморији''' Поола ће постојати само у системској меморији. Коначно, '''гребање''' Поола је у основи исто као системска меморија Поола, али ресурси нису ограничени хардверским ограничењима.


* '''Формат''' описује распоред података ресурса у меморији. На пример, ''Д3ДФМТ_Р8Г8Б8'' формат вредност значи 24 бита [[дубина боје|дубине боје]] (8 битова за црвону, 8 битова за зелену и 8 битова за плаву).


* Употреба: Описује, са колекцијом [[застава]] бита, како ће ресурс да користи апликације. Ове заставе диктирају која средства се користе у динамичким или статичким образцима приступа. Статички вредности ресурса се не мијењају након утовара, док динамичне вредности ресурса могу бити модификоване.

Директ3D спроводи два режима приказа:

* Екран Режим: Директ3D апликација генерише све графичке излазе за приказ уређаја. У овом режиму Директ3D аутоматски снима Алт-Таб и скупове / враћа резолуцију екрана и пиксела формат без интервенције програмера. Ово такође обезбеђује обиље проблема за отклањање грешака због "Ексклузиве задруге Мода".

<sup>''[[(потребан цитат)]]''</sup>
* Виндовед режим: Резултат је приказан у области дисплеја. Директ3D комуницира са [[Graphics Device Interface|ГДИ]]ем за генерисање графичког излаза на екрану. Виндовед режим може имати исти ниво перформанси као цео екран, у зависности од драјвер подршку.

== Цевовод ==

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



<ref>{{cite web
|url=http://msdn.microsoft.com/en-us/library/ff476882.aspx |title=Graphics Pipeline |publisher=MSDN}}</ref>

# '''Улазни асемблер''': чита вертекс податаке из апликација испоручује вертекс бафер и храни цевовод.
# '''[[Вертек Схадер]]''': обавља послове на једном темену у исто време, као што су трансформација, драње, или осветљење.
# '''[[Хал Схадер]]''': обавља послове на сетау контролних тачака закрпа, и ствара додатне податке познате као патцх константе.
# '''Мозаик фаза''': дели геометрију за креирање вишег реда представе трупа.
# '''[[Домен Схадер]]''': обавља послове на излазу темена које даје мозаик фази, на исти начин као Вертек Схадер.
# '''[[Геометријски Схадер]]''': процеси ћитавих примитива као што су троуглови, тачке или линије. С обзиром на примитиве, ова фаза је одбацује, или ствара једну или више нових примитива.
# '''Стреам Излаз:''':<ref>{{cite web|url=http://msdn.microsoft.com/en-us/library/windows/desktop/bb205121(v=vs.85).aspx|title=Stream-Output Stage|author=|date=|publisher=Microsoft}}</ref> може написати резултат претходне фазе у меморију. Ово је корисно да рециркулише податке у плану.
# '''Растеризатор:''':<ref>{{cite web|url=http://msdn.microsoft.com/en-us/library/windows/desktop/bb322826(v=vs.85).aspx|title=RenderStates|publisher=|accessdate=2 October 2014}}</ref><ref>{{cite web|url=http://msdn.microsoft.com/en-us/library/windows/desktop/bb205125(v=vs.85).aspx|title=Rasterizer Stage|author=|date=|publisher=Microsoft}}</ref> претвара примитиве у пикселе, храњење тих пиксела у пиксел схадеру. Растеризатор може обављати и друге послове, као што су исечци оног што се не види, или интерполацијом вертек података у по-пиксел податке.
# '''[[Пиксел Схадер]]''': утврђује коначне боје пиксела да буде написане на рендер циљу и може да израчуна вредност дубине и треба да буде написана у дубини бафера.
# '''Излазно Спајање:''':<ref>{{cite web|url=http://msdn.microsoft.com/en-us/library/windows/desktop/bb205120(v=vs.85).aspx|title=Output-Merger Stage|author=|date=|publisher=Microsoft}}</ref> спаја разне врсте излазних података (П[[пиксел Ссхадер]] вредности, алфа мешање, дубинског / стенцил ...)за изградњу коначаног резултата.

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

== Ниво функције ==
{{главни артикал|Feature levels in Direct3D}}
{{anchor|Direct3D 9.3}}

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

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

Директ3D 10.1 додао неколико нових обавезних хардверских захтева, и да би остаo компатибилан са 10,0 хардвером и драјверима, ове функције су енкапсулиране у два сета под називом "ниво карактеристика", са 10,1 ниво формирање надскупа 10.0 нивоа. Као Директ3D 11.0 и 11.1 додао je подршку за нови хардвер, новe обавезнe могућности су додатно груписанe у горњим нивоима.

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

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

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

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

Сваки горњи ниво је строгi надскуп нижем нивоу, са само неколико нових или претходно изборних функција које се крећу у основама. Функционалности на горњем нивоу напредније функције у великом ревизију Директ3D АПИa као што су нови схадер модели и приказне фазе изложене само на горењем нивоу хардвера.

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

Директ3D 10 и 11 нивои

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

Директ3D 11.1 за Виндовс 8 уводи функцију нивоа 11_1 и додатне способности за нивое 10_0, 10_1 и 11_0, међутим, оне нису доступне у Директ3D 11.1 за Виндовс 7 платформни апдејт.  Директ3D 11.2 за Виндовс 8.1 додаје опцију тилед средства за нивоима 11_0 11_1 и, и Директ3D 11.3 за Виндовс 10 додаје више изборних функција и захтева ВДДМ 2.0 драјвера.






Директ3D 12 ниво

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




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




Вишенитно

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

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

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

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

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

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

Директ3D Мобилни

Директ3D Мобилни је изведен из Директ3D али има мањи меморијски отисак. Виндовс ЦЕ пружа Директ3D Мобилну подршку.


Вине имплементација 

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

Повезани алати

Главни чланак: Д3ДКС

Директ3D долази са Д3ДКС, библиотеком алата дизајнираних за обављање уобичајених математичких прорачуна на векторима, матрицама и бојама, рачунајући поглед-на и пројекције матрице, СПЛИНЕ интерполација и још неколико компликованих задатака, као што су састављање и монтажа схадер који се користе за 3D графичко програмирање, компримована скелетна анимација складиштење и матрице гомиле. Постоји неколико функција које обезбеђују комплексне операције над 3D месхесом као израчунавање тангента-простора, месх поједностављење, прецомпутед трансфер сјаја, оптимизација за темена кеш једноставности и стрипифицатион, и генератор за 3D текст мрежа. 2D карактеристике укључују часове за цртање екрана-простора линија, текст и Сприте честица засноване системима. Просторне функције укључују различите пресечне рутине, конверзију из / до барицентриц координата и гранични оквир / свера генератора. Д3ДКС је обезбеђен као библиотека динамичких веза (ДЛЛ). Д3ДКС је застарела из Виндовса 8 па надаље и не може се користити у излозима апликације.

Неке функције присутне у претходним верзијама Д3ДКС уклоњене су из Директ3D 11, а сада су обезбеђени као одвојени извори:


Виндовс СДК и Висуал Студио 
Велики део математичких библиотека је уклоњен. Мајкрософт препоручује коришћење ДиректКс Матх библиотека уместо њега.
Сферно хармонична математика је уклоњена и сада се дистрибуира као извор.
Оквир Ефекат је уклоњен и сада се дистрибуира као извор преко КодеПлека. 
Функције плетиво интерфејс и геометрија су уклоњене и сада се дистрибуирају као извор преко КодеПлек под ДирецтКСМесх библиотеком обраде геометрија. 
Функције Тектуре су уклоњене и сада се дистрибуирају као извор преко КодеПлек под ДиректКСТек библиотеком обраде текстура. 
Општи помагачи су уклоњене и сада се дистрибуирају као извор преко КодеПлек под ДиректКс, алатка за комплет (ДиректКСТК) пројекта.
Графичка текстура Атлас је уклоњена и сада се дистрибуира као извор преко КодеПлек под УВАтлас пројектом.

ДКСУТ

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

Види још

ВНСЈ - Високи ниво схадер језика
ДиректКс - Збирка АПИа у којима се реализује Директ3D
ОпенГЛ - Главни конкурент Директ3Dу
Плашт (АПИ)
Вулкан (АПИ)
Метал (АПИ)
ДиректДрав
3D компјутерске графике
Схадер
Силверлигхт

== Reference ==
{{reflist}}<ref name=D3DFeatureLevels_chuckw/>

Директ3D 11 је такође представио "10левел9", подскуп Директ3D 10 АПИ са нивоима играних енцапсулатинг разним Директ3D 9 картицама са [[ВДДМ]] [[Драјвер|драјверима]], и Директ3D 11.1 je уведo пар опционих функција за све нивое.<ref name="CheckFeatureSupport">https://msdn.microsoft.com/en-us/library/windows/desktop/hh404562#check_support_of_new_direct3d_11.1_features_and_formats</ref>

Овај приступ омогућава програмерима да уједине приказивања гасовода и користе једну верзију АПИ на оба нова и стара хардвера, искористивши побољшања перформанси и употребљивости новијих компоненти.<ref name="gamefest2008"/>

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

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

Сваки горњи ниво је строгi надскуп нижем нивоу, са само неколико нових или претходно изборних функција које се крећу у основама.<ref name="FeatureLevels"/> Функционалности на горњем нивоу напредније функције у великом ревизију Директ3D АПИa као што су нови схадер модели и приказне фазе изложене само на горењем нивоу хардвера.<ref name="D3D11_downlevel"/><ref name="D3D11DDI"/>

Одвојене могућности постоје да укажу подршку за специфичне текстуре операције и формата ресурса; Оне су утврђене по свакој текстури формата коришћењем комбинација способности застава.<ref name="format_support">{{cite web|url=https://msdn.microsoft.com/en-us/library/windows/desktop/ff476134 |title=D3D11_FORMAT_SUPPORT enumeration |accessdate=2015-06-16 |publisher=MSDN}}</ref><ref name="format_support2">{{cite web|url=https://msdn.microsoft.com/en-us/library/windows/desktop/ff476135 |title=D3D11_FORMAT_SUPPORT2 enumeration |accessdate=2015-06-16 |publisher=MSDN}}</ref>

=== Директ3D 10 и 11 нивои ===

У Директ3D 11.к, постоји девет функција нивоа обезбеђених {{code|Д3Д_ФЕАТУРЕ_ЛЕВЕЛ}} структура; Ниво 9_1 9_2, 9_3 (колективно познати као '''Директ3D 10 Ниво 9''') поново обухвата различите карактеристике популарних Директ3D 9 картица, док је нивои 10_0, 10_1, 11_0 и 11_1 односе на одговарајуће верзије Директ3D АПИ-ја. <ref name="D3D11_downlevel"/>

Директ3D 11.1 за Виндовс 8 уводи функцију нивоа 11_1 и додатне способности за нивое 10_0, 10_1 и 11_0,<ref name="CheckFeatureSupport"/> међутим, оне нису доступне у Директ3D 11.1 за Виндовс 7 [[Vindous 7|платформни апдејт]].<ref>{{cite web|url=http://blogs.msdn.com/b/chuckw/archive/2012/06/20/direct3d-feature-levels.aspx|title=MSDN Blogs|publisher=|accessdate=30 September 2014}}</ref><ref>https://msdn.microsoft.com/en-us/library/windows/desktop/jj863687.aspx</ref>  Директ3D 11.2 за Виндовс 8.1 додаје опцију тилед средства за нивоима 11_0 11_1,<ref name=D3D11.2W8.1/> и Директ3D 11.3 за Виндовс 10 додаје више изборних функција и захтева ВДДМ 2.0 драјвера.

{| class="wikitable"  style="font-size: 90%"
|+ Ниво функције у Диркт3D 11.3
|-
! Ниво функције !!  Обавезне хардверске карактеристике !! Додатне функције 
|-
| '''9_1'''
| Схадер Модел 2.0 (вс_2_0 / пс_2_0), 2К текстуре, запремина текстуре, догађај упити, БЦ1-3 (звани ДКСТн), неколико других специфичних способности.
| rowspan="3" {{Н/А}}
|-
| '''9_2'''
| Оклузија упити, формати покретне тачке (не мешање), Ектендед капе, све 9_1 карактеристике.
|-
| '''9_3'''
| {{code|vs_2_a}}/{{code|ps_2_x}} са инстанцинг и додатне схадер капе, 4К текстура, више циљева (4 МРТс), покретне тачке мешања (Лимитед), све 9_2 карактеристикама.
|-
| '''10_0'''
| Схадер Модел 4.0, геометрија схадера, поток од, алфа-то-покрића, 8К текстуре, МСАА текстуре, 2 једнострана стенцила, општи виши циљеви ставова, текстура низова, БЦ4 / БЦ5, пуна подршка формата покретне тачке, све 9_3 феатурес.
| rowspan="2"| Логичко мешање операција, ДиректЦомпуте (ЦС 4.0 / 4.1), проширени формати пиксела.<ref name="CheckFeatureSupport"/><br/>  
|-
| '''10_1'''
|Схадер Модел 4.1, цубемап низови, проширен МСАА, све 10_0 функције.
|-
| '''11_0'''
| Схадер модел 5.0 / 5.1, Хулл & домен схадера, ДиректКомпуте (ЦС 5.0 / 5.1), 16К текстуре, БЦ6Х / БЦ7, проширен формат пиксела, све 10_1 функције.
|style="border-bottom-style:hidden"| Беспилотну летелицу приказану као пример сила тачака, стални буфери компензују и парцијалним променама, двострукој прецизности (64-бит) операцијама покретних тачки, минимална прецизност покретнихтачака (10 или 16 бита), мин / мак филтрирања.
|-
| '''11_1'''
| Логичке бленд операције, мета-независна растеризација, УАВс у свакој фази цевовода са повећаном слот тачком, беспилотну летелицу само приказ узорка сила тачки, константан буфер пребијања и парцијално ажурирање, све 11_0 функције.
|rowspan=3 style="border-top-style:hidden"| Плочасти ресурси (три нивоа), конзервативна растеризација (три нивоа), Стенцил референтна вредност од пиксел схадер, растеризатор наредио став, откуцана УАВ оптерећења за додатне формате
|-
| '''12_0''' 
| Плочасти ресурс Ниво 2 (Тектуре2Д), откуцана УАВ марфа (додатни формати).
|-
| '''12_1'''
| Конзервативна растеризација Тиер 1, растеризатор Ж Виевс.
|}

=== Директ3D 12 ниво ===

Директ3D 12 за Виндовс 10 захтева графички хардвер у складу са карактеристикама нивоа 11_0 11_1 које подржава виртуелна меморија превода адреса и захтева ВДДМ 2.0 драјвера. Постоје два нивоа функција, нова 12_0 12_1 која укључује неке нове функције изложене од Директ3D 12, који су опционо на нивоу 11_0 11_1.<ref>https://msdn.microsoft.com/en-us/library/dn899127.aspx</ref> Неке раније изборне карактеристике су усклађене као основа на ниво 11_0 11_1.

{| class="wikitable"  style="font-size: 90%"
|+ Директ3D играни нивои
|-
! Ниво !!style="width:50%;"|Обавезне карактеристике !!  Додатне функције 
|-
| rowspan="2"|'''11_0'''
| Све обавезне 11_0 карактеристике из Директ3D 11, Схадер Модел 5.1, ресурса обавезујуће Тиер 1.
| rowspan="5"| Логичке мешане операције, двоструке прецизности (64-битни) операција покретних тачака, минимална прецизност покретних тачака (10 или 16 битни).
Ресурс везивање (три спрата), поплочан ресурси (три нивоа), конзервативни растеризација (три спрата), Стенцил референтна вредност од пиксел схадер, растеризатор наредио став, откуцана УАВ оптерећења за додатне формате.
|-
|style="border-bottom-style:hidden"| УАВс у свакој фази гасовода, беспилотну летелицу приказану као пример сила тачака, стално буфер пребијање и парцијално ажурирање.
|-
| '''11_1'''
| style="border-top-style:hidden"| Логичке мешане операције, мета-независна растеризација, повећана УАВ Слот датотека.
|-
| '''12_0''' 
| Ресурс Обавезна Тиера 2, поплочани ресурси Нивоа 2 (Тектуре2Д), откуцана УАВ оптерећења (додатни формати).
|-
| '''12_1'''
| Конзервативна растеризација Тиера 1, растеризатор Ордеред Виевс
|}

Директ3D 12 уводи модерније ресурсе обавезујући модел који омогућава експлицитну контролу над меморијом. Сажети "виев ресурс" објекти<ref>https://msdn.microsoft.com/en-us/library/windows/desktop/ff476900(v=vs.85).aspx</ref> су сада заступљени са ресурсима описима, који се додељују користећи меморијске гомиле и табеле.<ref name="engel">[https://software.intel.com/en-us/articles/introduction-to-resource-binding-in-microsoft-directx-12 Wolfgang Engel. Introduction to Resource Binding in Microsoft DirectX 12]</ref> Ресурс за везивање спрата дефинисања максималног број ресурса који могу бити обухваћени коришћењем ЦБВ (константа буфер Виев), СРВ (. Схадер поглед ресурса) и беспилотне летелице (неуређен приступ погледу), као и текстура самплер јединица. Ниво 3 хардвера омогућава потпуно биндлесс ресурсе само ограничене по величини дескриптора гомиле, док Тиер 1 и Тиер 2 хардвери наметну неке границе на броју дескриптора ("Погледи") који се може користити истовремено.<ref>[https://intel.lanyonevents.com/sf14/connect/sessionDetail.ww?SESSION_ID=1315 GVCS005 - Microsoft Direct3D 12: New API Details and Intel Optimizations]</ref><ref name=
"Build2015_McMullen">[http://channel9.msdn.com/Events/Build/2015/3-673 Build 2015: Advanced DirectX12 Graphics and Performance]</ref>

{| class="wikitable"  style="font-size: 90%" 
|+ Ресурс обавезујућих нивоа
|-
! Ресурс ограничење !! Tier 1 !! Tier 2 !! Tier 3
|-
| Дескриптор у ЦБВ / СРВ / УАВ хеап ||1M||1M||'''>1M'''
|-
| ЦБВс на схадер фази||14||14||'''full heap'''
|-
| СРВС на схадер фази||128||colspan="2"| '''full heap'''
|-
| УАВс у свим фазама||8, 64<sup>†</sup> ||64||'''full heap'''
|-
| Семплери на схадер фази||16||colspan="2"| '''full heap'''
|-
|colspan=4|<sup>†</sup> 64 слота на функцијама на нивоу хардвера 11_1
|}

== Вишенитно ==

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

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

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

Прецизнији контекст пребацивање, тј бити у стању да се пребаци две извршене теме на нивоу схадер-инструкција, уместо у једном командном нивоу или чак серији команди, уведена је ВДДМ / ДКСГИ 1.2 која се испоручује са оперативним системом Виндовс 8.<ref name=wddm_w8/> Ово превазилази потенцијални проблем распореда када би апликација имала веома дуго извршење јединственом командном / серије команди и да ће морати да се раскине ОС ватцхдог тајмер.<ref>http://www.microsoft.com/whdc/device/display/wddm_timeout.mspx</ref>

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

== Остале имплементације==

=== Директ3D Мобилни ===
Директ3D Мобилни је изведен из Директ3D али има мањи [[меморијски отисак]]. [[Виндовс ЦЕ]] пружа Директ3D Мобилну подршку.

=== Вине имплементација ===
[[Винe]] пројекат има радну имплементацију на Директ3D 8, 9 и 10 АПИ (они су, од 20. маја 2014. године, 100%, 78% и 82% комплетно респективно).<ref>{{cite web|url=http://winehq.org/winapi_stats|title=Status of Windows APIs implementation|publisher=|accessdate=30 September 2014}}</ref> Имплементација Вине може да се ради на Виндовсу под одређеним услови.<ref>{{cite web|url=http://wiki.winehq.org/WineD3DOnWindows |title=WineD3DOnWindows - The Official Wine Wiki |publisher=Wiki.winehq.org |date=2013-06-02 |accessdate=2013-06-15}}</ref> Рад на спровођењу Директ3D 10 почела је у Винеу 1.1.7, користећи ОпенГЛ преко [[ВГЛ]]. <sup>[[(потребан цитат)]]</sup>

== Повезани алати ==

{{Главни|D3DX}}
Директ3D долази са Д3ДКС, библиотеком алата дизајнираних за обављање уобичајених математичких прорачуна на [[Вектор|векторима]], [[Матрица (математика)|матрицама]] и бојама, рачунајући поглед-на и [[пројекција|пројекције]] матрице, [[Сплајн интерполација|сплајн интерполација]] и још неколико компликованих задатака, као што су састављање и монтажа схадер који се користе за 3D графичко програмирање, компримована [[скелетна анимација]] складиштење и матрице гомиле. Постоји неколико функција које обезбеђују комплексне операције над 3D [[месхес|месхесом]] као израчунавање тангента-простора, месх поједностављење, [[прецомпутед трансфер сјаја]], оптимизација за темена кеш једноставности и стрипифицатион, и генератор за 3D текст мрежа. 2D карактеристике укључују часове за цртање екрана-простора линија, текст и [[сприте]] засноване [[честице системима|честицама системима]]. Просторне функције укључују различите пресечне рутине, конверзију из / до [[барицентриц координата]] и [[гранични оквир]] / свера генератора. Д3ДКС је обезбеђен као [[библиотека динамичких веза]] (ДЛЛ). Д3ДКС је застарела из Виндовса 8 па надаље и не може се користити у излозима апликације.<ref>{{cite web|url=http://msdn.microsoft.com/en-us/library/windows/desktop/ff476162(v=vs.85).aspx|title=D3DX 11 Reference|publisher=MSDN|accessdate=30 September 2014}}</ref>

Неке функције присутне у претходним верзијама Д3ДКС уклоњене су из Директ3D 11, а сада су обезбеђени као одвојени извори:<ref name=LivingWithoutD3DX>{{cite web |url=http://blogs.msdn.com/b/chuckw/archive/2013/08/21/living-without-d3dx.aspx |title=Living without D3DX| publisher=MSDN}}</ref>

* Виндовс СДК и Висуал Студио<ref>{{cite web|url=http://msdn.microsoft.com/en-us/library/windows/desktop/bb232919(v=vs.85).aspx|title=Effect-Compiler Tool|author=|date=|publisher=Microsoft}}</ref> 
* Велики део математичких библиотека је уклоњен. Мајкрософт препоручује коришћење ДиректКс Матх библиотека уместо њега.
* Сферно хармонична математика је уклоњена и сада се дистрибуира као извор.<ref>{{cite web|url=http://blogs.msdn.com/b/chuckw/archive/2012/07/28/spherical-harmonics-math.aspx|title=Spherical Harmonics Math|work=msdn.com|accessdate=23 November 2014}}</ref>
* Оквир Ефекат је уклоњен и сада се дистрибуира као извор преко КодеПлека.<ref>{{cite web|url=http://fx11.codeplex.com/|title=Effects 11|work=CodePlex|accessdate=30 September 2014}}</ref> 
* Функције плетиво интерфејс и геометрија су уклоњене и сада се дистрибуирају као извор преко КодеПлек под ДирецтКСМесх библиотеком обраде геометрија.<ref>{{cite web|url=https://directxmesh.codeplex.com/|title=DirectXMesh geometry processing library|work=CodePlex|accessdate=30 September 2014}}</ref> 
* Функције Тектуре су уклоњене и сада се дистрибуирају као извор преко КодеПлек под ДиректКСТек библиотеком обраде текстура.<ref>{{cite web|url=http://directxtex.codeplex.com/|title=DirectXTex texture processing library|work=CodePlex|accessdate=30 September 2014}}</ref> 
* Општи помагачи су уклоњене и сада се дистрибуирају као извор преко КодеПлек под ДиректКс, алатка за комплет (ДиректКСТК) пројекта.<ref>{{cite web|url=https://directxtk.codeplex.com/|title=DirectX Tool Kit|work=CodePlex|accessdate=30 September 2014}}</ref>
* Графичка текстура Атлас је уклоњена и сада се дистрибуира као извор преко КодеПлек под УВАтлас пројектом.<ref>{{cite web|url=http://uvatlas.codeplex.com/|title=UVAtrlas|work=CodePlex|accessdate=23 November 2014}}</ref>

=== ДКСУТ ===
ДКСУТ (такође назива узорак оквир) је слој изграђен на врху Директ3D АПИ-ја. Оквир је дизајниран да помогне програмеру да проводи мање времена са свакодневним задацима, као што је креирање прозора, стварајући уређај, обраду Виндовс поруке и руковање уређајима догађаја. ДКСУТ су уклоњене са Виндовс СДК 8.0 и сада се дистрибуира као извор преко КодеПлек.<ref name=DXUTWin32>{{cite web |url=http://blogs.msdn.com/b/chuckw/archive/2013/09/14/dxut-for-win32-desktop-update.aspx |title=DXUT for Win32 Desktop Update| publisher=MSDN}}</ref>

== Види још ==
* [[ВНСЈ]] - Високи ниво схадер језика
* [[DirectX|ДиректX]] - Збирка АПИа у којима се реализује Директ3D
* [[OpenGL|ОпенГЛ]] - Главни конкурент Директ3Dу
* [[Плашт (АПИ)]]
* [[Вулкан (АПИ)]]
* [[Метал (АПИ)]]
* [[ДиректДрав]]
* [[3D|3D компјутерске графике]]
* [[Схадер]]
* [[Силверлигхт]]

== Reference ==
{{reflist}}

== Спољашње везе ==
* [http://www.xbox.com/en-US/gfwl ДиректX сајт]
* [https://msdn.microsoft.com/en-us/library/windows/desktop/ee663274 МСДН ДиректX Графика и Игре]
* [http://www.bit-tech.net/hardware/graphics/2006/11/30/directx10_future_of_pc_gaming/1 ДиректX 10: Будућност ПЦ Игара] технички чланци расправљају о новим карактеристикама ДиректX 10 и њихов утицај на компјутерске игре


[[Категорија:Графичке библиотеке]]