阴道是什么样的| 三叉神经是什么病| 结石长什么样子图片| 沉鱼落雁什么意思| 后脑两侧痛是什么原因| 白蚁长什么样| 乳房胀痛什么原因| 习字五行属什么| 八卦中代表雷的卦象叫什么| 蕊字五行属什么| 什么是处女膜| 什么是神经官能症| 外向是什么意思| 渃是什么意思| daddy什么意思| 一月出生是什么星座| 什么是处方药和非处方药| 断桥铝是什么意思| 王代表什么生肖| 本子是什么意思| 语素是什么| 2月7日是什么星座| 什么叫精索静脉曲张啊| 770是什么意思| 内分泌科看什么| pop是什么意思| 肚子疼发烧是什么病症| 子宫肌腺症是什么病| 空调制冷效果差是什么原因| 宗气是什么意思| 壬水命是什么意思| 草酸钙结晶是什么意思| 日头是什么意思| 腺管瘤是什么| 水煮鱼一般用什么鱼| 石斛有什么作用| 人参有什么功效| 酸野是什么| 什么的鼻子填词形容词| 东盟为什么没有中国| 桑叶有什么作用和功效| 痛风什么蔬菜不能吃| 姝字五行属什么的| 形同陌路是什么意思| 为什么鱼和熊掌不可兼得| 强龙不压地头蛇是什么生肖| 日本人什么时候投降的| 102是什么意思| 老人嗜睡是什么原因| 脑缺血有什么症状| 上证指数是什么意思| 怀孕可以吃什么水果| 甲状腺功能减退是什么意思| 人艰不拆是什么意思| 五月出生是什么星座| lily是什么牌子| rx是什么意思| 巴基斯坦是什么语言| denham是什么牌子| 童字五行属什么| 得道是什么意思| 一路卷风迎大年是什么生肖| asks是什么意思| 糜烂性胃炎可以吃什么蔬菜| 心梗是什么原因造成的| 舌头口腔溃疡是什么原因引起的| 妮子什么意思| 脾切除对身体有什么影响| plory是什么牌子| 沥水是什么意思| 白巧克力是什么做的| hpv检查是什么| 抑制素b检测是什么意思| os是什么意思| 突然膝盖疼是什么原因| 小孩子手脱皮是什么原因引起的| siri是什么意思| 199是什么意思| 为什么会长肥胖纹| 知性是什么类型的女人| 小狗能吃什么| 小麦肤色是什么颜色| 泌乳素高是什么原因| 缘木求鱼什么意思| 挺舌反应是什么| 04属什么生肖| 什么的神色| 尿隐血弱阳性什么意思| 沈阳有什么大学| inr是什么意思医学| 肚脐眼周围痛挂什么科| 躁动是什么意思| 血余炭是什么制成的| 失聪是什么原因造成的| 手足口病要注意什么| 拉肚子拉稀是什么原因| 脂溢性脱发是什么意思| 四川代表什么生肖| 脾大是什么意思| 大便干燥一粒一粒的吃什么药| 护照和签证有什么区别| 子宫憩室有什么症状| 女性潮红是什么意思| 沪深300是什么意思| 为什么叫六小龄童| zqsg是什么意思| 腋下长痘痘是什么原因| 维生素b什么时候吃效果最好| 盆底脱垂有什么症状| 拉屎是绿色的是什么原因| 过敏性鼻炎不能吃什么| 女性肛门坠胀看什么科| 12月13日是什么纪念日| 贼眉鼠眼是什么生肖| pop店铺是什么意思| 1995年属猪的是什么命| 户籍是指什么| 脱相是什么意思| 轻度郁症有什么表现| 18岁属什么| 2004年属猴的是什么命| zw是什么意思| 结局he是什么意思| 扁平足是什么样的| 白事随礼钱有什么讲究| 大脚骨疼是什么原因| 慢性鼻炎用什么药| 什么是干咳| 良性反应性改变是什么意思| HlV是什么| 弱水三千只取一瓢什么意思| 什么石穿| 用什么药膏能拔去粉瘤| 安置房和商品房有什么区别| 什么是末法时代| 湿化瓶内放什么水| 鱼露是什么| 印第安人属于什么人种| 什么是海拔| 处理是什么意思| coa是什么| 鸽子红鼻头喂什么药| 粉瘤是什么东西| 疱疹一般长在什么部位| nlp是什么| 黄酮对女性有什么作用| 齿加禹念什么| 过敏性哮喘吃什么药| 怀孕孕酮低吃什么补得快| 胸透检查什么| 嘴唇麻木什么病兆| 乳头内陷是什么原因| 什么是寓言| 印泥干了用什么稀释| 规培证什么时候发| 木瓜什么时候成熟| 心经是什么意思| 近视眼睛什么牌子好| 非转基因是什么意思| 今天天气适合穿什么衣服| 四川芽菜是什么菜| 玉兰油适合什么年龄| 法香是什么菜| 乙肝两对半是什么意思| 香蕉和什么一起吃能减肥| 大便不成形用什么药| 肾亏是什么意思| 省管干部是什么级别| 什么样的毛刺是良性的| 思密达是什么意思| 丁亥日五行属什么| 牙齿遇热就疼什么原因| 豆浆配什么主食当早餐| 紫玫瑰花语是什么意思| 怀孕上火吃什么能降火| 重症肌无力用什么药| eap是什么| 月经老提前是什么原因| 什么是疱疹怎么得的| 红细胞分布宽度偏高是什么意思| pcr是什么| 胰腺是什么| 内痔疮吃什么药最好| 机遇什么意思| 梦到谈恋爱预示着什么| 圣诞节吃什么| 霜花店讲了什么故事| 唐玄宗叫什么| 断背山讲的是什么故事| 汉城为什么改名叫首尔| 为什么会长阴虱| 肝脏损伤会出现什么症状| 缺锌有什么表现和症状| 身体发麻是什么原因| 2月13号是什么星座| 柬埔寨有什么特产| 尘埃落定什么意思| 心跳过快是什么原因引起的| 马铃薯什么时候传入中国| ara是什么| 浑身麻是什么原因| 吃止疼药有什么副作用| 小便有血尿是什么原因| 怀孕梦到蛇预示着什么| 铁棍山药和普通山药有什么区别| 瞳字五行属什么| 梦见自己的哥哥死了是什么意思| 清醒的反义词是什么| 绿豆不能跟什么一起吃| 为什么老做梦| 2021年是属什么年| 小金人车标是什么车| 甘草不能和什么一起吃| 向内求什么意思| 什么食物补钙| 什么原因导致子宫内膜息肉| 什么是哮喘| 美国为什么制裁伊朗| 癫痫吃什么药| lch是什么病| 煮粥用什么锅最好| 单字五行属什么| 凯乐石属于什么档次| 马蜂蛰了用什么药| cm是什么岗位| 子宫糜烂是什么症状| 群像是什么意思| 1月27日是什么星座| 皮粉色是什么颜色| 热痱子长什么样| 牙齿松动吃什么药| 高血压突然变成低血压是什么原因| 什么时候绝经| 日出扶桑是什么意思| 2022年是属什么| 八字带什么的长寿| 手上三条线分别代表什么| 阿司匹林什么时候吃最好| 胃糜烂吃什么药可以根治| 12生肖为什么没有猫| 小孩过敏吃什么药| 铁皮石斛适合什么人吃| 朱元璋属什么生肖| 贷款是什么意思| 肺部斑片状高密度影是什么意思| 百香果和什么不能一起吃| 拉肚子吃什么食物好得快| dine是什么意思| 甲醛什么味| 乙肝两对半阴性是什么意思| 早孕反应什么时候开始| 壬午五行属什么| 百思不得其解是什么意思| 肠胃炎需要做什么检查| 陈光标做什么生意| 带状疱疹不能吃什么食物| 肚子胀气吃什么通气| 尿蛋白定量是什么意思| 知否知否应是绿肥红瘦什么意思| 鸡蛋白过敏指的是什么| 六月一日什么星座| 4.8什么星座| 红颜知己是什么意思| 梦到打死蛇是什么意思| 百度

中国网:两岸市长带你游:一场与众不同的旅游

procedura per lo sviluppo di videogiochi in Windows
百度 2015年8月,中央把四川确定为全国系统推进全面创新改革试验的8个地区之一,赋予绵阳开展以军民融合为主攻方向的全面创新改革试验的重要使命。

DirectX (in origine chiamato "Game SDK") è una raccolta di API per lo sviluppo semplificato di videogiochi per sistema operativo Microsoft Windows. Il kit di sviluppo (SDK) è disponibile gratuitamente sul sito di Microsoft. Le DirectX sono state distribuite dai produttori di giochi stessi assieme al videogioco, ma sono anche incluse direttamente nel sistema operativo. In Windows XP è presente la versione 9.0c delle librerie, in Windows Vista è possibile installare la versione 11 con specifici aggiornamenti, in Windows 7 e 8 la versione 11 è già inclusa, mentre in Windows 10 e in Windows 11 è già presente la versione 12 anche per Linux.

DirectX
software
Logo
Logo
GenereFramework?(non?in?lista)
SviluppatoreMicrosoft Corporation, Linux
Ultima?versione12 Ultimate (5 ottobre 2021)
Sistema operativoMicrosoft Windows
LinguaggioC++
High Level Shader Language
LicenzaEULA
(licenza non libera)
Sito webHome Page DirectX

DirectX API

modifica

I vari componenti delle librerie DirectX sono disponibili al programmatore come oggetti corrispondenti alle specifiche COM.

I componenti compresi in DirectX 9.0c sono:

  1. DirectX Graphics: permette la presentazione a video di grafica 2D e 3D, interfacciandosi direttamente con la scheda video.
    Permette al programmatore di sfruttare direttamente le potenzialità dell'hardware del PC, eludendo Graphics Device Interface (GDI) e Display Device Interface (DDI) di Windows. Le funzioni non supportate dall'hardware vengono emulate via software dalle DirectX grazie al Hardware Emulation Layer (HEL).
    è composto da una API di basso livello (Direct3D) ed una di alto livello (Direct3DX).
    • Direct3D: è concepito per applicazioni grafiche complesse che richiedono un'alta frequenza di aggiornamento dello schermo (come per esempio i videogiochi). Fino alla versione 8.0 esistevano DirectDraw (grafica 2D) e Direct3D (solo grafica 3D), di cui nelle ultime versioni è rimasto solo l'API per la grafica tridimensionale (che all'occorrenza renderizza anche in 2D sfruttando poligoni texturizzati senza prospettiva).
    • Direct3DX: si basa su Direct3D per offrire potenzialità simili con minore complessità.
    • DirectX Raytracing: ray tracing in tempo reale per DirectX 12, abbreviato DXR.
  2. DirectInput: gestisce l'input dato dalla tastiera, dal mouse, dal joystick o da qualsiasi altra periferica di gioco, bypassando il sistema di messaggi di Windows e accedendo direttamente all'hardware, sia esso analogico o digitale. Supporta gli effetti di Force Feedback.
  3. DirectPlay: fornisce supporto ai giochi di rete. Consiste principalmente in un protocollo a livello "applicazione" (vedi il modello OSI) che gestisce oggetti logici quali la Sessione di gioco e i Giocatori (differenziati in remoti e locali).
    Generalmente però l'uso di DirectPlay è connesso ad un notevole sovraccarico di comunicazione, per cui ha ricevuto un'accoglienza tiepida tra gli sviluppatori, i quali sono ricorsi più spesso a implementazioni di rete ad-hoc tramite socket (che permette l'eventuale compatibilità con server di gioco su Linux, cosa impossibile con le DirectX legate al sistema operativo Microsoft). DirectPlay è ancora incluso nella DirectX, ma non viene più sviluppato. (Questa funzione è rimossa di default su Windows 8.1, ma è possibile reinstallarla tramite "Programmi e funzionalità").
  4. DirectSound: si interfaccia con la scheda audio per la riproduzione e la registrazione di effetti sonori. Supporta l'audio posizionale (che simula la spazialità del suono in 3D).
    I suoni possono essere modificati da effetti da diversi buffer di ingresso (Secondary Sound Buffers), dopodiché vengono missati insieme nell'unico buffer di uscita (Primary Sound Buffer). I buffer di ingresso possono essere statici (da file) o dinamici (streaming da un microfono, ecc.) e la loro quantità dipende esclusivamente dalla potenza computazionale del computer. DirectSound si può appoggiare sulle funzionalità della scheda audio, nel caso supporti gli effetti richiesti. Tra gli effetti ci sono il volume, l'equalizzazione, il panning, il riverbero, la distorsione, vari effetti tridimensionali e la simulazione dell'effetto Doppler.
  5. DirectMusic: supporta la riproduzione di musica (MIDI, ma non MP3). Offre la funzionalità di un sintetizzatore software all'occorrenza.
  6. DirectShow: gestisce diversi file multimediali (per esempio filmati MPEG o audio MP3) e supporta lo streaming via Internet.
  7. DirectSetup: permette al programmatore di rivelare le DirectX installate e aggiornarne i componenti durante l'installazione del proprio programma.
  8. DirectX Media Objects: permette la modifica di streams audio e video, così da poterli poi riprodurre tramite DirectShow o DirectSound.

Originariamente destinate all'industria degli sviluppatori di videogiochi, le DirectX sono diventate molto usate anche presso industrie di altri generi di software. Ad esempio, Direct3D è sempre più popolare nel campo dell'ingegneria, grazie alla capacità di renderizzare velocemente grafica 3D di alta qualità, usando le ultime schede video 3D.

Nel 1994, Microsoft era sul punto di mettere in commercio il nuovo sistema operativo - Windows 95. Il fattore principale che avrebbe determinato il gradimento degli utenti per questo nuovo sistema operativo sarebbe stato quali programmi si sarebbero potuti eseguire su macchine che lo utilizzavano. Microsoft era preoccupata, perché i programmatori tendevano a vedere il precedente sistema operativo Microsoft, DOS, come migliore piattaforma per la programmazione di videogiochi, il che significava che pochi giochi sarebbero stati sviluppati per Windows 95 ed il sistema operativo non avrebbe avuto molto successo.

DOS permetteva accesso diretto alle schede video, tastiere e mouse, periferiche audio e a tutte le altre parti del sistema operativo, mentre Windows 95, con il suo nuovo modello plug-and-play, limitava l'accesso a tutti questi dispositivi, lavorando su un modello più standardizzato. Microsoft aveva bisogno di un modo per fornire ai programmatori quello che volevano, e subito, visto che il sistema operativo era a pochi mesi dalla distribuzione. Microsoft iniziò a sviluppare internamente un API grafica iniziando verso la fine del 1994, ma dopo molti mesi Microsoft decise che il tempo non era sufficiente a permetterle di creare da zero l'API. Nel febbraio 1995, Microsoft prese la decisione di acquisire British 3D Rendermorphics compreso il suo laboratorio API, 3D graphics API Reality Lab, risviluppando l'API che prese il nome di DirectX.

La prima versione di DirectX fu distribuita nel settembre 1995 col nome di Windows Games SDK. Era l'API Win32 che avrebbe sostituito l'API insufficiente e nata male per il sistema operativo Win16 (DCI e WinG). Lo sviluppo di DirectX fu seguito dal team di Craig Eisler (capo progetto), Alex St. John (evangelista tecnologico), e Eric Engstrom (program manager). Detto in parole semplici, permise a tutte le versioni di Microsoft Windows, a partire da Windows 95, di incorporare multimedia di alta qualità.

Prima dell'esistenza di DirectX, Microsoft aveva già incluso OpenGL sulla propria piattaforma Windows NT. A quel tempo, OpenGL richiedeva hardware di alto livello ed era limitato all'uso ingegneristico e CAD. Direct3D avrebbe dovuto essere un piccolo aiuto per OpenGL orientato ai giochi. Con la crescita della potenza delle schede video e dei computer su cui girano, OpenGL diventò la corrente principale. A questo punto iniziò una "battaglia" tra gli ammiratori di OpenGL (multipiattaforma) e di Direct3D (solo Windows), che molti definirono come un altro esempio della tattica Microsoft. Tuttavia, le altre API di DirectX sono spesso combinate con OpenGL in molti videogiochi dal momento che OpenGL non include tutte le funzionalità di DirectX (come ad esempio il supporto per il suono o il joystick). Molti tentativi in questo senso sono falliti.

DirectX è stato usato come base per l'API della console Xbox della Microsoft. L'API è stata sviluppata in collaborazione tra Microsoft e nVidia, che ha sviluppato l'hardware usato nella console. L'API della Xbox è simile alla versione 8.1 di DirectX, ma non è aggiornabile a differenza di altre tecnologie per console.

Versioni

modifica

DirectX 8

modifica

Con la versione 8 sono stati introdotti i wrapper per il .NET Framework in modo da poter sviluppare direttamente con questa piattaforma.

DirectX 9

modifica

Nel 2002, Microsoft ha distribuito DirectX 9 con il supporto per l'uso con programmi più complicati di prima, con pixel and vertex shader versione 2.0. Microsoft ha continuato ad aggiornare DirectX aggiungendo le funzioni di shader model 3.0 in DirectX 9.0c nell'agosto 2004.

DirectX 10

modifica
?
Architettura della DirectX 10

Le DirectX10 hanno nuove DLL più veloci grazie anche all'abbandono della retrocompatibilità con le versioni precedenti. Questa non viene quindi gestita dalle DirectX 10, bensì dalle DirectX 9.0L che sono parallelamente presenti nel sistema operativo Windows Vista. Supporto dello Shader Model 4.0 e dei Geometry Shaders o shader unificati. Gli shader unificati permettono di usare una qualsiasi delle unità shader disponibili sulla scheda grafica, indifferentemente per il calcolo dei pixel, vertici, geometrie, ecc. in questo modo è possibile sfruttare in ogni momento tutta la potenza di calcolo della scheda grafica. Le DirectX 10 grazie al nuovo kernel di Windows Vista, permettono di renderizzare scene più complesse con un minor intervento della CPU, mediante una gestione del bilanciamento di carico fra la CPU e la GPU, con ottimizzazione dei trasferimenti. Viene drasticamente ridotto l'object overhead ossia il tempo di calcolo aggiuntivo per creare gli oggetti, grazie al fatto che con le DX10 la creazione avviene direttamente sulla GPU senza passare prima per la CPU per ogni oggetto (mentre con le DX9 già a partire da 500 oggetti il collo di bottiglia tra le API e la CPU diventava percepibile e le prestazioni diminuivano nettamente).

DirectX10 ha apportato grossi cambiamenti che rivoluzionano il modo di scrivere applicazioni RealTime, e ora ne analizzeremo alcuni.

Rimozione completa della fixed pipeline

modifica

In DirectX10 vi è una filosofia diversa nell'utilizzo di Device. Ora viene visto non come il centro di controllo totale di una applicazione, ma i suoi compiti vengono alleggeriti ponendolo su un piano di risorse, qualsiasi cosa serva (una texture, una vertex buffer o altro) deve e può essere creato soltanto tramite il device. Quindi non vi saranno più le tipiche funzioni per agire via device sul rendering, come possiamo vedere in questo esempio di D3D9.

Supponiamo sia device un puntatore alla classe IDirect3DDevice9 validato e funzionante

  device->SetTexture(EsempioTexture); //Immette la texture per il prossimo rendering
  device->SetRenderState(D3DRS_LIGHTENABLE,false) //Disattiva le luci

In questo piccolo esempio è possibile rendersi conto che tutto ciò che deve essere immesso per il rendering viene fatto via Device. Questa è chiamata fixed pipeline. In D3D10 questa viene abolita, sostituendola con gli Shader: quindi ogni applicazione D3D10 dovrà essere corredata da almeno uno shader, altrimenti non sarà possibile renderizzare nulla.

Questa rivoluzione porterà significative difficoltà a chi vuole avvicinarsi al mondo del 3D tramite Direct3D10, in quanto capire il meccanismo di rendering sarà più difficile.

Cambiamenti in D3DX

modifica

D3DX, la famosa lib nata con DirectX8 per facilitare il compito ai programmatori, è stata modificata.

Per prima cosa, molte funzioni e classi sugli shader (D3DXCompileShaderFromFile, D3DXAssembleShaderFromFile) sono state passate da D3DX a D3D. Ciò vuol dire che sono passate dalla libreria ausiliaria a quella principale. Ciò sottolinea ancora di più il fatto che lo shader sta diventando fondamentale in Direct3D10. Sono state completamente rimosse varie classi per la gestione delle animazioni (ID3DXAllocateHiearchy, D3DXMeshContainer, D3DXFrame), ciò vuol far intendere un nuovo sistema di animazioni. Di ciò, gioiranno molto i programmatori che a lungo tempo hanno criticato il sistema di animazioni di Direct3D9, forse un po' troppo antipatico da gestire.

Lost Device automatico

modifica

Direct3D10 è automaticamente in grado di gestire i lost device, ossia quelle condizioni in cui si perde il rendering della scena, ad esempio quando viene ridotta a icona una finestra in cui vi è un'applicazione D3D10. Con Direct3D9 in quel momento era necessario fermare il rendering, poiché nessuno avrebbe visto il risultato del disegno. Inoltre gestisce il recupero di device quando si passa da stato di stallo a disegno (da ridotto a icona a ingrandito). Prima era necessario, in ogni frame, controllare lo stato del device, e resettare se ve ne era bisogno, in questo modo

   if(FAILED(device->TestCooperativeLevel())
     device->Reset(&d3dpp);

Dove d3dpp è una struttura che contiene vari settaggi del device (dimensioni del backbuffer, finestra su cui disegnare, ecc.).

Inoltre la funzione TestCooperativeLevel è stata sostituita dalla funzione CheckDeviceState che restituisce molte più informazioni rispetto alla precedente.

Geometry Shaders

modifica

Nel nuovo Shader Model 4.0, vi sono i geometry shader, non indispensabili per un gioco, ma saranno di estrema utilità. Questi possono essere considerati come un'estensione del vertex shader. Il vertex shader, come dice il nome, può processare solo un vertice per volta, mentre i geometry shader saranno in grado di gestire intere geometrie.

Per ogni vertice il vertex shader restituisce 1 vertice, dunque non può leggere i dati dai vertici vicini (ciò inibisce varie tecniche: ad esempio risalire dal vertice che si sta leggendo al triangolo di appartenenza): il vertex shader infatti riceve un float4 che indica la sua posizione iniziale, e ne restituisce un altro che indica la sua nuova posizione (che può anche rimanere invariata). Il geometry shader invece riceve in input 1 vertice o un triangolo o fino a 6 triangoli, ma restituisce 1 o più primitive.

Ciò significa che da un semplice triangolo in input è possibile creare anche 1000 triangoli senza doverli disegnare come si fa normalmente (ossia creare un vertex buffer o index buffer). è possibile quindi variare continuamente il numero di triangoli da disegnare, a seconda della lontananza, inibendo le funzioni D3DX riguardo al numero dei vertici da disegnare in una data mesh.

Il geometry shader permette di scrivere un codice che in hardware crea triangoli dal nulla. Ciò può sembrare inutile, ma vediamo un piccolo esempio pratico.

Di solito, per disegnare il mare in modo realistico, si usa fare un'enorme griglia di punti e farli oscillare. Ciò occupa molta memoria.

Ma se la telecamera si trova a notevole distanza dal mare, è inutile farlo troppo dettagliato in quanto la lontananza impedisce di vedere i fini dettagli. Sarebbe quindi utile proporzionare i dettagli alla distanza del mare.

Usando i geometry shader sarà possibile calcolare dalla distanza il numero di poligoni, riducendoli addirittura a 2! E poi man mano che ci si avvicina si potrà aumentare il numero di questi ultimi, avendo allo stesso tempo un effetto realistico che consumerà risorse in proporzione al bisogno.

Altre applicazioni dei geometry shader saranno nelle ombre in stencil, che il motore grafico di Doom3 gestiva via CPU, rendendo il gioco molto pesante.

DirectX 11

modifica

La versione 11 delle DirectX venne annunciata a Seattle durante il GameFest 08. Inizialmente rivolta a Windows 7 venne poi portata anche su Vista. è un superinsieme delle DirectX 10, cioè ne mantiene tutte le API e aggiunge nuove funzioni solo se necessario. In particolare, con questa versione delle librerie fa la sua comparsa la tassellazione hardware, che migliora molto il realismo delle scene 3D in tempo reale. Altre novità importanti sono il supporto GPGPU con la API DirectCompute e l'adozione dello Shader Model 5; molto migliorato anche il supporto al multithreading. Le caratteristiche delle DX11 (tranne lo Shader Model 5) possono essere supportate anche da hardware compatibile DX9 o DX10.

DirectX 12

modifica

La versione 12 delle DirectX venne annunciata da Microsoft alla Game Developer Conference il 20 marzo 2014. Rivolta esclusivamente a Windows 10 e non compatibile con i sistemi operativi precedenti, la sua caratteristica di gran lunga più importante è una API di basso livello, simile a quanto già sviluppato da AMD con Mantle, Apple con Metal e dal Khronos Group con Vulkan. La nuova API, come quelle dei concorrenti, è molto più snella e veloce, permettendo una velocità di rendering superiore. Per contro, lo sviluppatore deve farsi carico di tutta la gestione della memoria. Altre novità importanti delle DX12 sono: l'introduzione del supporto ufficiale della modalità multi-GPU, che prima era lasciata all'implementazione dei costruttori di schede video. E l'introduzione del ray tracing per la serie di schede video Nvidia GeForce 20.[1]

Cronologia versioni

modifica
Versione DirectX Numero di versione Sistema operativo Data di distribuzione
DirectX 1.0 4.02.0095 ? 30 settembre 1995
DirectX 2.0 ? Inviata solo con alcune applicazioni 3D party 1996
DirectX 2.0a 4.03.00.1096 Windows 95 OSR2 e Windows NT 4.0 5 giugno 1996
DirectX 3.0 4.04.00.0068 ? 15 settembre 1996
4.04.00.0069 La versione successiva delle DirectX 3.0 incluse Direct3D 4.04.00.0069 1996
DirectX 3.0a 4.04.00.0070 Windows NT 4.0 Service Pack 3 (e versioni successive)
Ultima versione supportata di DirectX per Windows NT 4.0
dicembre 1996
DirectX 3.0b 4.04.00.0070 Fu un aggiornamento minore alla 3.0a che risolse un problema estetico con la versione giapponese di Windows 95 dicembre 1996
DirectX 4.0 Mai distribuito ?
DirectX 5.0 4.05.00.0155 (RC55) Disponibile come beta per Windows NT 5.0, ma installabile anche su Windows NT 4.0 16 luglio 1997
DirectX 5.2 4.05.01.1600?(RC00) DirectX versione 5.2 per Windows 95 5 maggio 1998
4.05.01.1998?(RC0) DirectX versione 5.2 per Windows 98 5 maggio 1998
DirectX 6.0 4.06.00.0318 (RC3) Windows CE come implemento su on Dreamcast 7 agosto 1998
DirectX 6.1 4.06.02.0436?(RC0) ? 3 febbraio 1999
DirectX 6.1a 4.06.03.0518?(RC0) Esclusiva Windows 98 SE 5 maggio 1999
DirectX 7.0 4.07.00.0700?(RC1) ? 22 settembre 1999
4.07.00.0700 Windows 2000 17 febbraio 2000
DirectX 7.0a 4.07.00.0716?(RC0) ? 8 marzo 2000
4.07.00.0716?(RC1) ? 2000
DirectX 7.1 4.07.01.3000 Esclusiva Windows Me 14 settembre 1999
DirectX 8.0 4.08.00.0400?(RC10) ? 12 novembre 2000
DirectX 8.0a 4.08.00.0400?(RC14) Ultima versione supportata per Windows 95 5 febbraio 2001
DirectX 8.1 4.08.01.0810 Esclusiva Windows XP, Windows Server 2003 e Xbox 25 ottobre 2001
4.08.01.0881?(RC7) Versione per sistemi operativi precedenti
(Windows 98, Windows Me e Windows 2000)
8 novembre 2001
DirectX 8.1a 4.08.01.0901?(RC?) Questa versione include un aggiornamento per Direct3D (D3d8.dll) 2002
DirectX 8.1b 4.08.01.0901?(RC7) Questo aggiornamento include un fix per DirectShow su Windows 2000 (Quartz.dll) 25 giugno 2002
DirectX 8.2 4.08.02.0134?(RC0) Come le DirectX 8.1b con l'aggiunta di DirectPlay 8.2 2002
DirectX 9.0 4.09.00.0900?(RC4) ? 19 dicembre 2002
DirectX 9.0a 4.09.00.0901?(RC6) ? 26 marzo 2003
DirectX 9.0b 4.09.0000.0902 (RC2) ? 13 agosto 2003
DirectX 9.0c 4.09.00.0903 Esclusiva Windows XP Service Pack 2 ?
4.09.00.0904?(RC0) ? 4 agosto 2004
4.09.00.0904 Windows XP Service Pack 2, Windows Server 2003 Service Pack 1, Windows Server 2003 R2 e Xbox 360(versione modificata) 6 agosto 2004
DirectX 9.0c - update periodici 4.09.00.0904?(RC0) Quella del 13 dicembre 2004 è l'ultima versione solamente a 32-bit sufficiente per Windows Me e Windows 2000 32-bit. Aggiornamenti bimestrali dall'ottobre 2004 all'agosto 2007, e successivamente trimestrali; Ultima versione: novembre 2010
DirectX 10 6.00.6000.16386 Esclusiva di Windows Vista 30 novembre 2006
6.00.6000.00000 Edizione modificata per Windows XP da KM-Software 4 dicembre 2007
6.00.6001.18000 Windows Vista SP1, Windows Server 2008
include la Direct3D 10.1 che introduce gli shader model 4.1
4 febbraio 2008
DirectX 11 6.01.7600.16385 Windows Vista SP2 e Server 2008 SP2, attraverso l'aggiornamento Aggiornamento della Piattaforma per Windows Vista e un ulteriore aggiornamento da Windows Update, 7 e Server 2008 R2 27 ottobre 2009
DirectX 11.1 6.02.9200.16384 Windows 8, Phone 8, Windows Server 2012 26 ottobre 2012
DirectX 11.2 6.03.9600.16384 Windows 8, RT, Windows Server 2012 R2
DirectX 12 10.00.10240 Windows 10, Windows 10 Mobile, Windows Server 2016, Windows 11 29 luglio 2015

Compatibilità

modifica

I costruttori hardware devono scrivere i driver per ogni componente e testarli per renderli compatibili con DirectX. Molte moderne periferiche hardware hanno driver compatibili solo con DirectX (in altre parole, si è obbligati ad installare DirectX prima di poter utilizzare quell'hardware). Le prime versioni di DirectX includevano una libreria aggiornata di tutti i driver compatibili disponibili fino a quel momento. Questo comportamento è stato interrotto a favore dell'aggiornamento automatico fatto con Windows Update, che permette agli utenti di scaricare solo i driver relativi al proprio hardware, piuttosto che l'intera libreria.

Alcuni driver supportano solo una versione di DirectX. Ma DirectX è backward compatible (compatibile col passato), il che significa che le nuove versioni supportano le più vecchie. Per esempio, se si ha installato DirectX 9 su un sistema e si esegue un gioco scritto per DirectX 6, dovrebbe funzionare comunque. Il gioco userà quella che è nota come "interfaccia" DirectX 6. Ogni nuova versione di DirectX deve supportare qualsiasi versione precedente.

Voci correlate

modifica

Altri progetti

modifica

Collegamenti esterni

modifica
Controllo di autoritàVIAF (EN)?179531118 GND (DE)?4516280-3
? Portale Microsoft: accedi alle voci di Wikipedia che trattano di microsoft
什么是白噪音 硝酸咪康唑乳膏和酮康唑乳膏有什么区别 屁股痒是什么原因 查染色体挂什么科 骨折吃什么好得快
闫和阎有什么区别 大便脂肪球是什么意思 花胶有什么功效与作用 da是什么意思 拔了尿管尿不出来有什么好办法
办护照需要准备什么材料 三点水翟读什么 喷塑工是干什么的 二元酸是什么 舌苔黄腻是什么原因
三朵花代表什么意思 离歌是什么意思 宝宝为什么吐奶 芭蕉花炖猪心治什么病 医生停诊是什么意思
注音是什么liaochangning.com 今年的属相是什么生肖hcv9jop0ns5r.cn 血压有点低是什么原因clwhiglsz.com 胃癌吃什么药hcv9jop1ns0r.cn 女宝胶囊的作用和功效是什么hcv9jop3ns4r.cn
什么药可以止血hcv7jop5ns2r.cn 小孩过敏吃什么药hcv9jop0ns6r.cn 周杰伦有什么病hcv7jop4ns5r.cn 海凉粉是什么做的adwl56.com 萎缩性胃炎吃什么药最好hcv7jop9ns8r.cn
反犬旁和什么有关hcv9jop0ns2r.cn 天上的云朵像什么hcv8jop8ns5r.cn 米索前列醇片是什么药hcv9jop7ns3r.cn 口腔溃疡吃什么药好得快hcv8jop8ns7r.cn 药剂师是什么专业hcv8jop5ns7r.cn
银杏叶提取物治什么病hcv7jop9ns9r.cn 四月十九是什么星座hcv9jop6ns9r.cn 分心念什么hcv8jop9ns2r.cn 俄狄浦斯情结是什么意思hcv8jop2ns2r.cn 2月13号是什么星座hcv8jop7ns8r.cn
百度