Difference between revisions 11587538 and 11587628 on srwiki

{{ФИН2015}}
{{Инфокутија софтвер
| име                        = Direct3D
| лого                       = <!-- Image name is enough -->
| лого_опис                  =
| скриншот                   = <!-- Image name is enough -->
| скриншот_опис              = 
| програмер                  = Мajајkрософт
| настанак                   = 
| верзија_најновијег_издања  = 12
| датум_најновијег_издања    = {{Start date|2015|07|29|df=}}
| последње_предиздање        = 
| датум_последње_предверзије = 
| стање                      = Активно
| писано                     = 
(contracted; show full)
* Ново стање објекта како би се омогућило (углавном) ЦПУ да ефикасно промени стања.
* [[Схадер Модел 4.0]] побољшава програмирања у [[Grafička protočna obrada|графичком цевоводу]]. Он додаје упутства за целе и битовне прорачуне.
* Заједничка Схадер језгра<ref>{{cite web|url=http://msdn.microsoft.com/en-us/library/windows/desktop/bb509580(v=vs.85).aspx|title=Common-Shader Core|author=|date=|publisher=Microsoft}}</ref> пружа
jју комплетан сет, ИЕЕЕ-цомплиант 32-битни цео број и битовна операција. Ове операције омогућавају нову класу алгоритама у графичког хардвера-Примери укључују компресије и паковање технике, ФФТс и контрола битфиелд програма протока.
* [[Геометрија схадерaа]],<ref>{{cite web|url=http://msdn.microsoft.com/en-us/library/windows/desktop/ff471423(v=vs.85).aspx|title=Geometry Shader Features|author=|date=|publisher=Microsoft}}</ref><ref>{{cite web|url=http://msdn.microsoft.com/en-us/library/windows/desktop/bb205146(v=vs.85).aspx#Geometry_Shader_Stage|title=Shader Stages|author=|date=|publisher=Microsoft}}</ref> који раде на суседним троугловима који формирају [[мрежaа|мреже]].
* Текстуре низова омогућавају брзу замену текстура у ГПУ без интервенције процесора.
* Заснован Рендеринг омогућава израду позива који се игноришу на основу неких других услова. То омогућава брзо зачепљење [[редукциони лов|редукционог лова]], који спречава предмете да буду изречени ако није видљиво или сувише далеко да буду видљиви.
(contracted; show full)

Директ3D 11 показивач карактеристика је у стању да ради на Директ3D 9 и 10.к-класама хардвера и [[Драјвер|драјвери]] користе концепт "[[Директ3D|одлика нивоа]]", шира функционалност први пут уведена у Директ3D 10.1 показвач карактеристика.<ref name=D3DFeatureLevels_chuckw>{{cite web | url = http://blogs.msdn.com/b/chuckw/archive/2012/06/20/direct3d-feature-levels.aspx | title =  Direct3D Feature Levels  | work = Games for Windows and the DirectX SDK Blog |
 author = Chuck Walbourn last=Walbourn|first=Chuck|date =  20. 06. 2012}}</ref><ref name="GF08_D3D11downlevel">{{cite web|url=http://www.microsoft.com/download/en/details.aspx?id=15051 |title=GameFest 2008: Introduction to the Direct3D 11 Graphics Pipeline| at=Slide 56| publisher=Microsoft}}</ref><ref name="D3D11_downlevel">{{cite web|url=http://msdn.microsoft.com/en-us/library/windows/desktop/ff476872|title=Direct3D 11 on Downlevel Hardware|accessdate = 18. 11. 2012 |publisher=MSDN}}</ref> Нивои омогућавај(contracted; show full)

[[Vindous 7|Платформ Апдејт]] за [[Vindous 7|Виндоус 7]] укључује ограничен скуп функција из Директ3D 11.1, мада компоненте које зависе од ВДДМ 1.2 - као што је [[Директ3D|функција нивоа ниво
aа]] 11_1 и пратећих АПИ, или [[куад баферовање|куад баферовања]] за [[стереоскопски|стереоскопскoо]] приказивање - нису присутни.<ref name=W7PU_MSDN>{{cite web | url = http://msdn.microsoft.com/en-us/library/jj863687.aspx| title = DirectX Graphics - Platform Update for Windows 7 |date = 14. 11. 2012| publisher=MSDN}}</ref><ref name=D3D11.1W7>{{cite web | url = http://blogs.msdn.com/b/chuckw/archive/2012/11/14/directx-11-1-and-windows-7.aspx| title = DirectX 11.1 and Windows 7 | work =  Games for Windows and the DirectX SDK Blog | date = November 13, 2012}}</ref>

=== ДиректКс 11.2 ===

'''Директ3D 11.2'''<ref>{{cite web|url=http://msdn.microsoft.com/en-us/library/windows/apps/bg182880.aspx|title=DirectX programming|publisher=MSDN|accessdate = 30. 09. 2014}}</ref><ref>{{cite web|url=http://msdn.microsoft.com/en-us/library/windows/desktop/dn312084(v=vs.85).aspx|title=Direct3D 11.2 Features|publisher=MSDN|accessdate = 30. 09. 2014}}</ref><ref>{{cite web|url=http://msdn.microsoft.com/en-us/library/windows/desktop/dn280377(v=vs.85).aspx|title=D3D11_FEATURE_DATA_D3D11_OPTIONS1 structure|publisher=MSDN|accessdate = 30. 09. 2014}}</ref> је послат са [[Windows 8.1|Виндоусом 8.1]].<ref name=DXSDK8.1>{{cite web|url=http://msdn.microsoft.com/en-us/library/windows/apps/bg182880|work= MSDN Library|title= Windows 8.1 Feature Guide - DirectX programming|date = 26. 06. 2013}}</ref><ref name=D3D11.2W8.1>{{cite web|url=http://channel9.msdn.com/Events/Build/2013/3-062|authorlast=Sorbo|first=Bennett Sorbo|title=What's New in Direct3D 11.2|work =Channel9 - [[Build (developer conference)|BUILD]] 2013| date = 26. 06. 2013}}</ref> Нове хардверске карактеристике захтевају ДГКСИ 1.3<ref name=MSDN_DXGI1.3>{{cite web|url=http://msdn.microsoft.com/en-us/library/dn280344 |title=DXGI 1.3 Improvements|work=MSDN Library|date = 26. 06. 2013}}</ref> са ВДДМ 1.3<ref name=wddm1.3>{{cite web|url=http://msdn.microsoft.com/en-us/library/windows/hardware/dn265512|title=What's new for Windows 8.1 Preview display drivers (WDDM 1.3)|publisher=MSDN|accessdate = 30. 09. 2014}}</ref> драјверима и укључују компоненте схадера измену и повезивање, функција повезује графикон (ФЛГ), инбок [[ХЛСЛ]] преводилац, могућност да обележите графичке команде.<ref>https://msdn.microsoft.com/en-us/library/windows/apps/bg182880.aspx</ref> Ниво Феатуре 11_0 и 11_1 уводе опционалну подршку за поплочане ресурсе са схадер нивоима детаља стезаљке (Тиер2).<ref>{{cite web|url=http://msdn.microsoft.com/en-us/library/windows/desktop/dn280435(v=vs.85).aspx|title=D3D11_TILED_RESOURCES_TIER enumeration|publisher=MSDN|accessdate = 30. 09. 2014}}</ref> Ова друга функција ефикасно обезбеђује контролу над хардверском [[страница табеле|страницом табеле]] која је присутнaа у многим актуелним ГПУ-има.<ref name="build2013_D3Dtile">{{cite web|url = http://channel9.msdn.com/Events/Build/2013/4-063|title = Massive Virtual Textures for Games: Direct3D Tiled Resources|work = Channel9 - [[Build (developer conference)|BUILD]] 2013|date =  26. 06. 2013|author = Charles Hollemeersch, Matt Sandy}}</ref> ВАРП је ажуриран да у потпуности подржава нове функције.<ref name="DXSDK8.1" /><ref name="MDSN_D3D11.2features">{{cite web|url=http:(contracted; show full)

=== ДиректКс 11.3 ===
'''Директ3D 11.3''' очекује се да ће се испоручивати са Виндоусом 10; она треба да садржи неке мање приказне функције од Директ3D 12, а имајући целокупну структуру Директ3D 11.к АПИ.<ref name="anandtech.com">{{cite web|url=http://www.anandtech.com/show/8544|title=AnandTech - Microsoft Details Direct3D 11.3 & 12 New Rendering Features|
author=Ryan Smithlast=Smith|first=Ryan|publisher=|accessdate = 30. 09. 2014}}</ref><ref name="ReferenceA">{{cite web|url=http://www.anandtech.com/show/8526/nvidia-geforce-gtx-980-review/4|title=AnandTech - The NVIDIA GeForce GTX 980 Review: Maxwell Mark 2|author=Ryan Smithlast=Smith|first=Ryan|publisher=|accessdate = 30. 09. 2014|quote = First and foremost among Maxwell 2’s new features is the inclusion of full Direct3D 11.2/11.3 compatibility.}}</ref><ref name="redgamingtech.com">{{cite web|url=http://www.redgamingtech.com/directx-11-3-new-features-outline-tiled-resources-typed-uav-loads/|title=DirectX 11.3 New Features Outline - Tiled Resources - Typed UAV Loads|publisher=|accessdate = 30. 09. 2014}}</ref> Директ3D 11.3 уводи опциону Стенцил референцу у пиксел Схадер, опционо додатне формате откуцане у УАВ, опциони растеризатор показног реда (Роверс), опционо конзервативна растеризација (у три нивоа<ref name="MSDN_CR_TIER">{{cite web|url=https://msdn.microsoft.com/en-us/library/dn859364.aspx|title=D3D11_CONSERVATIVE_RASTERIZATION_TIER enumeration|date = 22. 02. 2015|work=MSDN library|accessdate = 22. 02. 2015}}</ref>), [[OОпционо OОбједињена MМеморија (УМА)]] подршке, и додатни ресурси плочицама Тиер 3 (Волуме каљеве ресурси).<ref name="D3D11.3_MSDN">{{cite web|url=https://msdn.microsoft.com/en-us/library/windows/desktop/dn914596(v=vs.85).aspx|title=Direct3D 11.3 Features|date = 28. 03. 2015|work=MSDN library|accessdate = 28. 03. 2015}}</ref>

== ДиректКс 12.0 ==
'''Директ3D 12'''<ref name="anandtech.com"/><ref name="redgamingtech.com"/><ref>{{cite web|url=http://www.redgamingtech.com/directx-12-low-level-api-analysis-of-what-we-currently-know-page-2/|title=DirectX 12 Low Level API - Analysis of What We Currently Know - Page 2 RedGamingTech|publisher=|accessdate = 30. 09. 2014}}</ref><ref name="anand12">{{cite web|url=http://www.anandtech.com/show/7889/microsoft-announces-directx-12-low-level-graphics-programming-comes-to-directx/2|title=AnandTech - Microsoft Announces DirectX 12: Low Level Graphics Programming Comes To DirectX|author=Ryan Smithlast=Smith|first=Ryan|publisher=|accessdate = 30. 09. 2014}}</ref><ref>{{cite web|url=http://imgur.com/a/qnPph#0|title=GDC DirectX 12 Presentation (All Slides)|work=Imgur|accessdate = 30. 09. 2014}}</ref> омогућава нижи ниво апстракције хардвера од ранијих верзија, омогућавајући да будуће игре значајно побољшају перформансе и мултитхреадед (смањење) ЦПУ искоришћености. Ово се боље поклапа са Директ3D апстракционим слојем са основним хардвером, помоћу нових функција као што су дескриптивни столови, концизно стање гасовод објеката, и цртају позиве пакета. Смањење драјвера изнад је заправо главна атракција на Директ3D 12, слично као АМД [[плашт]];<ref name="anand12"/> по речима њеног Девелопер Макс МцМуллен, главни циљ Директ3D 12 је постизање "ефикасност конзола нивоaа" и побољшан ЦПУ паралелизам.<ref>{{cite web|url=https://software.intel.com/en-us/blogs/2014/09/05/direct3d-12-overview-part-8-cpu-parallelism|title=Direct3D 12 Overview Part 8: CPU Parallelism|author=|date=|publisher=}}</ref><ref>{{cite web|url=https://software.intel.com/en-us/blogs/2014/07/17/direct3d-overview-part-1-closer-to-the-metal|title=Direct3D 12 Overview Part 1: 'Closer To The Metal'|publisher=|accessdate = 2. 10. 2014}}</ref><ref>first two minutes of https://channel9.msdn.com/Events/Build/2014/3-564</ref>

Иако је Нвидиа најавила широку подршку за Директ3D 12, они су такође били помало резервисани за универзалне привлачности новог АПИ, напомињући да док играју мотор програмери могу бити одушевљени директним управљањем ГПУ средства из њиховог кода апликација, "доста [Отхер] људи не би "радо да то урадите.<ref>{{cite web|url=http://techreport.com/review/26239/a-closer-look-at-directx-12/3|title=A closer look at DirectX 12 - The Tech Report - Page 3|publisher=|accessdate = 30. 09. 2014}}</ref>

Неке нове хардверске карактеристике такође се сматрају за Директ3D 12,<ref name="redgamingtech.com"/><ref name="ReferenceB">{{cite web|url=http://www.anandtech.com/show/8544/microsoft-details-direct3d-113-12-new-features|title=AnandTech - Microsoft Details Direct3D 11.3 & 12 New Rendering Features|author=Ryan Smithlast=Smith|first=Ryan|publisher=|accessdate = 30. 09. 2014}}</ref><ref>http://static.gamespot.com/uploads/original/823/8237367/2484602-pixel+ordered+uav.jpg</ref> укључујући Волуме плочицeе ресурсaа, откуцана УАВ оптерећењaа, конзервативна растеризација, боље судара и редукцију дивљачи са конзервативним растеризацијамaа Растер Ж Виевс (Роверс), свиззлед ресурсе и компримовани ресурси,<ref>{{cite web|url=http://www.pcworld.com/article/2110085/next-gen-directx-12-graphics-tech-revealed-hitting-microsoft-platforms-in-2015.html|title=Meet the future of PC graphics: Microsoft reveals faster, console-like DirectX 12|date = 20. 03. 2014|work=PCWorld|accessdate = 30. 09. 2014}}</ref> додатни [[бленд модес]],<ref>{{cite web|url=http://techreport.com/news/26210/directx-12-will-also-add-new-features-for-next-gen-gpus|title=DirectX 12 will also add new features for next-gen GPUs|publisher=|accessdate = 30. 09. 2014}}</ref> програмирати спој и ефикасно заказан [[Независно од Транспарентности]] (ОИТ) са пикселима УАВ.<ref>{{cite news |last=Kowaliski  |first=Cyril |date = 21. 03. 2014 |title=DirectX 12 will also add new features for next-gen GPUs |url=http://techreport.com/news/26210/directx-12-will-also-add-new-features-for-next-gen-gpus |newspaper=The Tech Report |location= |publisher= |accessdate = 1. 04. 2014 }}</ref>

Цевовод стања објекта<ref>{{cite web|url=https://software.intel.com/en-us/blogs/author/1048217|title=Author's Blogs|author=|date=|publisher=}}</ref> еволуира од Директ3D 11, а ново концизно стање пипелине значи да је процес поједностављен. ДиректКс 11 је изузетно флексибилан како би се њено стање мењало, на штету перформанси. Поједностављење процеса уједињења и цевовода (нпр пикел схадер Државе) доводи до много Аеродинамичаних процеса, знатно смањење трошкова и омогућава графичку картицу за цртање више позива за сваки оквир.

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

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

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

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

Динамичне гомиле су такође карактеристика Директ3D 12<ref>{{cite web|url=https://software.intel.com/en-us/blogs/2014/08/27/direct3d-12-overview-part-7-dynamic-heaps|title=Direct3D 12 Overview Part 7: Dynamic Heaps|publisher=|accessdate = 2. 10. 2014}}</ref>

Крајем фебруара 2015 Гамеспот.цом је објавио вест видео на You Tube-u<ref>{{cite web|url=https://www.youtube.com/watch?v=9z-j_5auiOM|title=DirectX 12 Can Combine Nvidia and AMD Cards - GS News Update|publisher=GS News|accessdate = 27. 02. 2015}}</ref> тврдећи - између осталог - подршкaа у Директ3D 12 за продавца агностик ГПУ и ВРАМ удруживање ради веће перформансе представљајући суму системски фграфика процесних ресурса као једна приказана јединица апликација. Детаљи су светло и нејасно је како се постиже нешто овако, поготово јер је велики део Директ 3D 12 је наведено циљ је да се смањи апстракција слој за смањен изнад главе и резултира побољшања перформанси, и остваривања циљева горе би изгледало да треба већи слој апстракције, а не мањи.


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

(contracted; show full)

== Ниво функције ==
{{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е у горњим нивоима.<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"/>

(contracted; show full)

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

=== Директ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. 09. 2014}}</ref> Имплементација Вине може да се ради на Виндоусу под одређеним услови.<ref>{{cite web|url=http://wiki.winehq.org/WineD3DOnWindows |title=WineD3DOnWindows - The Official Wine Wiki |publisher=Wiki.winehq.org |date = 02. (contracted; show full){{reflist|4}}

== Спољашње везе ==
* [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 и њихов утицај на рачунарске игре

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