Casa / Skype / Tecnologia per la creazione di immagini tridimensionali realistiche. La grafica 3D nel mondo moderno Esempi di prodotti software

Tecnologia per la creazione di immagini tridimensionali realistiche. La grafica 3D nel mondo moderno Esempi di prodotti software

Probabilmente stai leggendo questo articolo sul monitor di un computer o sullo schermo di un dispositivo mobile: un display che ha dimensioni, altezza e larghezza reali. Ma quando guardi, ad esempio, il cartone animato di Toy Story o giochi a Tomb Raider, vedi un mondo tridimensionale. Una delle cose più sorprendenti del mondo 3D è che il mondo che vedi può essere il mondo in cui viviamo, il mondo in cui vivremo domani o il mondo che vive solo nella mente dei creatori di un film o di un gioco. E tutti questi mondi possono apparire solo su uno schermo: questo è almeno interessante.
In che modo un computer induce i nostri occhi a pensare che stiamo guardando uno schermo piatto per vedere la profondità dell'immagine presentata? In che modo gli sviluppatori di giochi riescono a vedere personaggi reali che si muovono in un paesaggio reale? Oggi vi parlerò dei trucchi visivi usati dai grafici e di come tutto si unisca e ci sembri così semplice. In effetti, non tutto è semplice e per scoprire com'è la grafica 3D, vai sotto il taglio: lì troverai una storia affascinante, in cui, sono sicuro, ti immergerai con un piacere senza precedenti.

Cosa rende un'immagine 3D?

Un'immagine che ha o sembra avere altezza, larghezza e profondità è tridimensionale (3D). Un'immagine con altezza e larghezza ma senza profondità è bidimensionale (2D). Mi ricordi dove vedi le immagini bidimensionali? - Praticamente ovunque. Ricorda anche il solito simbolo sulla porta del bagno, che indica una cabina per uno o un altro piano. I simboli sono progettati in modo tale da poterli riconoscere e riconoscerli a colpo d'occhio. Ecco perché usano solo le forme più elementari. Informazioni più dettagliate su qualsiasi simbolo possono dirti che tipo di vestiti indossa questo ometto, appeso alla porta o il colore dei capelli, ad esempio i simboli della porta del bagno delle donne. Questa è una delle principali differenze tra le modalità di utilizzo della grafica 3D e 2D: la grafica 2D è semplice e memorabile, mentre la grafica 3D utilizza più dettagli e inserisce molte più informazioni in un oggetto apparentemente ordinario.

Ad esempio, i triangoli hanno tre linee e tre angoli: tutto ciò che serve per dire di cosa è fatto il triangolo e di cosa si tratta effettivamente. Tuttavia, guarda il triangolo dall'altro lato: la piramide è una struttura tridimensionale con quattro lati triangolari. Tieni presente che in questo caso ci sono già sei linee e quattro angoli: questo è ciò di cui è composta la piramide. Guarda come un oggetto ordinario può trasformarsi in un oggetto tridimensionale e contenere molte più informazioni necessarie per raccontare la storia di un triangolo o di una piramide.

Per centinaia di anni, gli artisti hanno utilizzato alcuni trucchi visivi che possono trasformare un'immagine 2D piatta in una vera finestra nel mondo reale 3D. Puoi vedere un effetto simile nelle normali fotografie che puoi scansionare e visualizzare sul monitor di un computer: gli oggetti nella fotografia appaiono più piccoli quando sono più lontani; gli oggetti vicini all'obiettivo della fotocamera sono a fuoco, il che significa, di conseguenza, tutto ciò che si trova dietro gli oggetti a fuoco è sfocato. I colori tendono ad essere meno vivaci se il soggetto non è così vicino. Quando oggi parliamo di grafica 3D sui computer, parliamo di immagini che si muovono.

Cos'è la grafica 3D?

Per molti di noi, giocare su un personal computer, un dispositivo mobile o un sistema di gioco avanzato in generale, è l'esempio più eclatante e il modo più comune in cui possiamo contemplare la grafica tridimensionale. Tutti questi giochi, fantastici film creati con l'aiuto di un computer, devono seguire tre passaggi fondamentali per creare e presentare scene 3D realistiche:

  1. Creazione di un mondo 3D virtuale
  2. Determinare quale parte del mondo verrà mostrata sullo schermo
  3. Determinare l'aspetto di un pixel sullo schermo in modo che l'immagine completa appaia il più realistica possibile
Creazione di un mondo 3D virtuale
Il mondo virtuale 3D, ovviamente, non è lo stesso del mondo reale. La creazione di un mondo virtuale 3D è un complesso lavoro di visualizzazione al computer di un mondo simile a quello reale, per la cui creazione viene utilizzato un gran numero di strumenti e che implica dettagli estremamente elevati. Prendi, ad esempio, una piccolissima parte del mondo reale: la tua mano e il desktop sottostante. La tua mano ha qualità speciali che determinano come può muoversi e guardare esternamente. Le articolazioni delle dita si piegano solo verso il palmo e non di fronte ad esso. Se colpisci il tavolo, non accadrà alcuna azione: il tavolo è solido. Di conseguenza, la tua mano non può passare attraverso il desktop. Puoi provare che questa affermazione è vera osservando qualcosa di naturale, ma nel mondo virtuale 3D le cose sono abbastanza diverse: non c'è natura nel mondo virtuale, non ci sono cose naturali come la tua mano, per esempio. Gli oggetti nel mondo virtuale sono completamente sintetici: queste sono le uniche proprietà date loro dal software. I programmatori utilizzano strumenti speciali e progettano mondi 3D virtuali con grande cura in modo che ogni cosa in essi si comporti sempre in un certo modo.

Quale parte del mondo virtuale viene mostrata sullo schermo?
In un dato momento, lo schermo mostra solo una piccola parte del mondo virtuale 3D creato per il gioco per computer. Ciò che viene mostrato sullo schermo sono alcune combinazioni di modi in cui il mondo è definito, dove decidi dove andare e cosa vedere. Non importa dove vai - avanti o indietro, su o giù, sinistra o destra - il mondo virtuale 3D intorno a te determina ciò che vedi quando ti trovi in ​​una determinata posizione. Quello che vedi ha senso da una scena all'altra. Se stai guardando un oggetto dalla stessa distanza, indipendentemente dalla direzione, dovrebbe apparire in alto. Ogni oggetto dovrebbe apparire e muoversi in modo tale da credere che abbia la stessa massa dell'oggetto reale, che sia duro o morbido come l'oggetto reale e così via.


I programmatori che scrivono giochi per computer si impegnano molto nel progettare mondi virtuali 3D e realizzarli in modo che tu possa vagare attraverso di essi senza imbatterti in nulla che ti faccia pensare "Questo non potrebbe accadere in questo mondo!". L'ultima cosa che vuoi vedere sono due oggetti solidi che possono passare l'uno attraverso l'altro. Questo è un duro promemoria che tutto ciò che vedi è una farsa. Il terzo passaggio prevede almeno tanti calcoli quanti sono gli altri due passaggi e dovrebbe anche svolgersi in tempo reale.

Illuminazione e prospettiva

Quando entri in una stanza, accendi la luce. Probabilmente non passi molto tempo a pensare a come funziona effettivamente e come la luce proviene dalla lampada, diffondendosi nella stanza. Ma le persone che lavorano con la grafica 3D devono pensarci, perché tutte le superfici, i wireframe circostanti e cose del genere devono essere illuminate. Un metodo, il ray tracing, prevede sezioni del percorso che i raggi di luce prendono quando lasciano la lampadina, rimbalzano su specchi, pareti e altre superfici riflettenti e infine si posano su oggetti a intensità variabili da varie angolazioni. Questo è difficile, perché da una lampadina può esserci un raggio, ma nella maggior parte delle stanze vengono utilizzate diverse fonti di luce: diverse lampade, plafoniere (lampadari), lampade da terra, finestre, candele e così via.

L'illuminazione gioca un ruolo chiave in due effetti che conferiscono l'aspetto, il peso e la solidità esteriore degli oggetti: l'ombreggiatura e le ombre. Il primo effetto, l'oscuramento, è quando più luce cade su un lato di un oggetto rispetto all'altro. L'oscuramento conferisce al soggetto molto naturalismo. Questa sfumatura è ciò che rende le pieghe della trapunta profonde e morbide e gli zigomi alti appaiono sorprendenti. Queste differenze nell'intensità della luce rafforzano l'illusione generale che il soggetto abbia profondità, altezza e larghezza. L'illusione della massa deriva dal secondo effetto, l'ombra.

I corpi solidi proiettano ombre quando la luce li colpisce. Puoi vederlo quando guardi l'ombra che una meridiana o un albero proiettano sul marciapiede. Pertanto, siamo abituati a vedere oggetti reali e persone che proiettano ombre. In 3D, l'ombra, ancora una volta, rafforza l'illusione creando l'effetto di essere nel mondo reale, piuttosto che su uno schermo di forme generate matematicamente.

prospettiva
Prospettiva è una parola che può significare molto, ma in realtà descrive un semplice effetto che tutti hanno visto. Se ti trovi sul lato di una strada lunga e diritta e guardi in lontananza, sembra che entrambi i lati della strada convergano in un punto dell'orizzonte. Inoltre, se gli alberi sono vicini alla strada, gli alberi più lontani sembreranno più piccoli degli alberi più vicini a te. Sembrerà infatti che gli alberi convergano ad un certo punto dell'orizzonte formatosi vicino alla strada, ma non è così. Quando tutti gli oggetti nella scena sembrano convergere in un punto lontano, questa è la prospettiva. Esistono molte varianti di questo effetto, ma la maggior parte della grafica 3D utilizza l'unico punto di vista che ho appena descritto.

Profondità di campo


Un altro effetto ottico che è stato utilizzato con successo per creare grafica 3D è la profondità di campo. Usando il mio esempio ad albero, c'è un'altra cosa interessante che accade oltre a quanto sopra. Se guardi gli alberi vicini a te, gli alberi più lontani sembrano sfocati. I registi e gli animatori al computer usano questo effetto, la profondità di campo, per due scopi. Il primo è rafforzare l'illusione della profondità nella scena visualizzata dall'utente. Il secondo obiettivo è che i registi utilizzino la profondità di campo per concentrare la loro attenzione su soggetti o attori considerati più importanti. Per attirare la tua attenzione su una non eroina in un film, ad esempio, è possibile utilizzare la "profondità di campo ridotta", in cui solo l'attore è a fuoco. Una scena progettata per stupirti, al contrario, utilizzerà "profondità di campo" in modo che quanti più oggetti possibile siano a fuoco e quindi visibili allo spettatore.

Levigante


Un altro effetto che si basa anche sull'inganno dell'occhio è l'anti-aliasing. I sistemi di grafica digitale sono molto adatti per creare linee nitide. Ma succede anche che le linee diagonali abbiano il sopravvento (appaiono abbastanza spesso nel mondo reale, e poi il computer riproduce linee che sono più simili a delle scale a pioli (penso che tu sappia cos'è una scala quando guardi l'oggetto dell'immagine in dettaglio )). Pertanto, per indurre l'occhio a vedere una curva o una linea liscia, un computer può aggiungere determinate sfumature di colore alle righe di pixel che circondano la linea. Con questo "colore grigio" di pixel, il computer inganna solo i tuoi occhi e, intanto, pensi che non ci siano più passi frastagliati. Questo processo di aggiunta di pixel colorati extra per ingannare l'occhio è chiamato anti-aliasing ed è una delle tecniche create manualmente dalla computer grafica 3D. Un altro compito difficile per un computer è creare animazioni 3D, un esempio della quale ti verrà presentato nella prossima sezione.

Esempi reali

Quando tutti i trucchi che ho descritto sopra vengono usati insieme per creare una scena incredibilmente reale, il risultato vale lo sforzo. Gli ultimi giochi, film, oggetti generati dal computer sono combinati con sfondi fotografici: questo migliora l'illusione. Puoi vedere risultati sorprendenti quando confronti le foto e una scena generata dal computer.

La foto sopra mostra un tipico ufficio che utilizza un marciapiede per entrare. In una delle seguenti foto, una semplice palla in tinta unita è stata posizionata sul marciapiede, dopo di che è stata fotografata la scena. La terza foto è già l'utilizzo di un programma di computer grafica, che ha creato la palla che in realtà non esiste in questa foto. Puoi dire se ci sono differenze significative tra queste due foto? Penso che nessuno.

Creazione di animazioni e comparsa di "azioni dal vivo"

Finora, abbiamo esaminato gli strumenti che fanno sembrare più realistica qualsiasi immagine digitale, indipendentemente dal fatto che l'immagine sia un fermo immagine o una parte di una sequenza di animazione. Se si tratta di una sequenza animata, i programmatori e i designer utilizzeranno trucchi visivi ancora più diversi per dare l'aspetto di "azione dal vivo" piuttosto che di immagini generate al computer.

Quanti fotogrammi al secondo?
Quando vai a vedere un film di successo in un cinema locale, una sequenza di immagini chiamata inquadrature gira a 24 fotogrammi al secondo. Poiché la nostra retina conserva un'immagine per poco più di 1/24 di secondo, gli occhi della maggior parte delle persone fondono i fotogrammi in un'unica immagine continua di movimento e azione.

Se non capisci di cosa ho appena scritto, guardalo dall'altra parte: questo significa che ogni fotogramma del film è una fotografia scattata con una velocità dell'otturatore (esposizione) di 1/24 di secondo. Pertanto, se guardi uno dei tanti fotogrammi di un film di corse, vedrai che alcune delle auto da corsa sono "sfocate" perché stavano viaggiando ad alta velocità mentre l'otturatore della fotocamera era aperto. Questa sfocatura delle cose creata dal movimento veloce è ciò che siamo abituati a vedere, ed è parte di ciò che rende un'immagine reale per noi quando la guardiamo su uno schermo.


Tuttavia, le immagini 3D digitali non sono fotografie, quindi non si verifica alcun effetto di sfocatura quando un oggetto si muove attraverso l'inquadratura durante l'acquisizione. Per rendere le immagini più realistiche, la sfocatura deve essere aggiunta esplicitamente dai programmatori. Alcuni designer ritengono che occorrano più di 30 fotogrammi al secondo per "superare" questa mancanza di sfocatura naturale, motivo per cui hanno spinto i giochi a raggiungere un nuovo livello: 60 fotogrammi al secondo. Sebbene ciò consenta a ogni singola immagine di apparire in grande dettaglio e visualizzare oggetti in movimento con incrementi più piccoli, aumenta notevolmente il numero di fotogrammi per una determinata sequenza di animazione. Ci sono altre parti specifiche delle immagini in cui il rendering accurato del computer deve essere sacrificato per motivi di realismo. Questo vale sia per gli oggetti in movimento che per quelli fissi, ma questa è un'altra storia.

Arriviamo alla fine


La computer grafica continua a stupire il mondo intero creando e generando un'ampia varietà di oggetti e scene mobili e non mobili veramente realistici. Con 80 colonne e 25 righe di testo monocromatico, la grafica ha fatto molta strada e il risultato è chiaro: milioni di persone stanno giocando ed eseguono ogni tipo di simulazione con la tecnologia odierna. Anche i nuovi processori 3D si faranno sentire: grazie a loro, saremo in grado di esplorare letteralmente altri mondi e sperimentare cose che non abbiamo mai osato provare nella vita reale. Infine, torniamo all'esempio della palla: come è stata creata questa scena? La risposta è semplice: l'immagine ha una palla generata dal computer. Non è facile dire quale dei due sia autentico, vero? Il nostro mondo è fantastico e dobbiamo essere all'altezza. Spero che tu sia stato interessato e che tu abbia appreso da solo un'altra porzione di informazioni interessanti.

A differenza dell'animazione 2D, dove molto può essere disegnato a mano, in 3D gli oggetti sono troppo lisci, la loro forma è troppo regolare e si muovono lungo percorsi troppo "geometrici". È vero, questi problemi sono superabili. I pacchetti di animazione migliorano gli strumenti di rendering, aggiornano gli strumenti per effetti speciali ed espandono le librerie di materiali. Per creare oggetti "irregolari", come capelli o fumo, viene utilizzata la tecnologia di formare un oggetto da molte particelle. Vengono introdotte la cinematica inversa e altre tecniche di animazione e stanno emergendo nuovi metodi per combinare la registrazione video e gli effetti di animazione, il che rende scene e movimenti più realistici. Inoltre, la tecnologia dei sistemi aperti consente di lavorare con più pacchetti contemporaneamente. Puoi creare un modello in un pacchetto, dipingerlo in un altro, ravvivarlo in un terzo, integrarlo con un video in un quarto. Infine, le funzioni di molti pacchetti professionali oggi possono essere estese con applicazioni aggiuntive scritte appositamente per il pacchetto base.

Studio 3D e Studio 3D Max

Uno dei più famosi pacchetti di animazione 3D su IBM è 3D Studio di Autodesk. Il programma funziona in DOS, fornisce l'intero processo di creazione di un film tridimensionale: modellazione di oggetti e formazione di scene, animazione e visualizzazione, lavoro con il video. Inoltre, esiste un'ampia gamma di programmi applicativi (processi IPAS) scritti specificamente per 3D Studio. Un nuovo programma della stessa azienda chiamato 3D Studio MAX per Windows NT è stato sviluppato negli ultimi anni e afferma di essere un concorrente dei potenti pacchetti di workstation SGI. L'interfaccia del nuovo programma è la stessa per tutti i moduli e presenta un alto grado di interattività. 3D Studio MAX implementa funzionalità avanzate di controllo dell'animazione, memorizza la cronologia di vita di ogni oggetto e consente di creare una varietà di effetti di luce, supporta acceleratori 3D e ha un'architettura aperta, ovvero consente a terze parti di includere applicazioni aggiuntive nel sistema .



TrueSpace, Prismi, Three-D, RenderMan, Crystal Topas

Immagine elettrica, immagine morbida

Per creare animazioni tridimensionali su computer IBM e Macintosh, è anche conveniente utilizzare il pacchetto Electric Image Animation System, che include un ampio set di strumenti di animazione, effetti speciali, strumenti audio e un generatore di font con parametri personalizzabili. Sebbene questo programma non disponga di strumenti di modellazione, ha la capacità di importare oltre trenta diversi formati di modello. Il pacchetto supporta anche il lavoro con oggetti gerarchici e strumenti di cinematica inversa. A sua volta, il programma Softimage 3D di Microsoft viene eseguito su piattaforme SGI e Windows NT. Supporta la modellazione di poligoni e spline, effetti speciali, particelle e tecnologia di trasferimento del movimento dagli attori dal vivo ai personaggi dei computer.

Un'immagine realistica è un'immagine generata da computer di alta qualità (fotografica) di un prodotto che può essere utilizzata in una varietà di scene. Solitamente utilizzato per pubblicizzare prodotti non ancora progettati ma non realizzati. Il sottosistema per la creazione di immagini realistiche di prodotti in base ai loro modelli solidi (ad esempio, Photo Works) consente di: impostare le proprietà della superficie (colore, texture, riflettanza, trasparenza utilizzando una libreria di materiali (la libreria può essere reintegrata dall'utente in modo indipendente ) o aggiungendo una texture (immagini, loghi) , impostare lo scenario (ogni modello è associato a una scena per la quale è possibile impostare le proprietà: illuminazione, ombre, sfondo). Sulla base delle informazioni sulle sorgenti luminose posizionate, vengono generate ombre e penombra , conferendo una straordinaria affidabilità all'immagine informatica di una struttura che nella realtà non esiste ancora.

Creazione automatizzata di prototipi di prodotti progettati (Rapid Prototyping)

Questi metodi sono progettati per creare modelli reali di prodotti utilizzando i loro modelli al computer in breve tempo al fine di verificarne le prestazioni prima di avviarli in produzione e di utilizzare questi modelli nella produzione di prodotti (ad esempio come modelli di stampi per fonderia).

Il principio è creare un modello tridimensionale del prodotto e presentarlo sotto forma di profili bidimensionali trasversali separati, i cosiddetti tagli di piccolo spessore (0,1-0,5 mm), i cui parametri vengono trasferiti al Sistema CNC di un complesso speciale, con l'aiuto del quale un modello reale di ogni taglio, il cui set forma un modello reale del prodotto: il suo prototipo. La realizzazione di un prototipo avviene su un apposito fondo (substrato), che, dopo la realizzazione di ogni taglio, viene abbassato dello spessore del taglio. Sulla base di questo metodo, sono stati sviluppati numerosi metodi per la produzione di prototipi:

stereolitografia;

Rivestimento in massa solida;

Da strati di carta speciale o lamina;

Sinterizzazione selettiva con laser;

Saldatura.

stereolitografia( stereolitografia - STL). Il prototipo è realizzato su un substrato in un contenitore riempito con un polimero liquido (il cosiddetto fotopolimero), che si indurisce sotto l'influenza di un raggio laser. Il laser è installato sul corpo di lavoro, il cui movimento è controllato dal sistema CNC. Il programma di movimento del laser viene compilato sulla base di sezioni di singoli strati di un modello solido tridimensionale del prodotto. Il laser scansiona lo strato successivo, a seguito del quale il polimero solidifica in quest'area, dopodiché il substrato viene abbassato allo spessore del taglio, e questo processo viene eseguito per la sezione successiva fino alla realizzazione di un prototipo di prodotto.

Metodo di rivestimento solido(Solid Ground Curing - SGC) non prevede l'utilizzo di un laser e prevede l'implementazione di due processi paralleli: la creazione di una maschera e l'applicazione di uno strato di fotopolimero. La realizzazione di una maschera avviene per ogni taglio di un modello solido tridimensionale mediante deposizione elettrostatica di un materiale non trasparente per il passaggio della radiazione ultravioletta su una lastra trasparente della maschera. Quindi viene applicato un polimero liquido sul substrato, che si indurisce sotto l'influenza delle radiazioni ultraviolette. La piastra con la maschera viene posizionata sul substrato con il fotopolimero e il fotopolimero viene illuminato con radiazioni ultraviolette attraverso la maschera, a seguito della quale l'area illuminata del fotopolimero si solidifica. Il fotopolimero non polimerizzato viene quindi rimosso e sostituito con uno strato di materiale fusibile (come la cera) per ridurre la deformazione. La maschera viene rimossa dalla piastra e viene creata la maschera successiva corrispondente alla sezione del livello successivo del modello. Il processo viene ripetuto. Al termine del ciclo di realizzazione del prototipo del prodotto, lo strato di materiale bassofondente viene rimosso con un liquido caldo.

Processi creare oggetti da strati di carta speciale o stagnola(Laminated Objekt manufacturing – LOM) rivestito con un adesivo richiede l'uso di un laser. Ogni strato viene creato inserendo la carta nell'area di lavoro, ritagliando il contorno del taglio corrispondente con un raggio laser e incollandolo con lo strato precedente a seguito del rodaggio con un rullo caldo. Materiale: foglio sintetico, foglio di alluminio, foglio di ceramica, tessuto in fibra di carbonio.

Sinterizzazione selettiva con laser(Selective Laser Sintering - SLS) consiste nell'applicazione successiva di strati di polvere da un materiale termoplastico e nella sinterizzazione di ogni strato sotto l'influenza di un raggio laser di un laser programmato. Viene utilizzato un materiale in polvere, che in linea di principio può essere utilizzato con tutti i materiali termoplastici, come termoplastici, cera per microfusione, metalli, sabbia per stampi.

Creazione di oggetti fusi(Fused Deposition Modeling - FDM) non prevede l'utilizzo di un laser e consiste nel creare ogni strato fondendo materiale termoplastico mediante un ugello riscaldato, che viene movimentato mediante un dispositivo CNC.

Materiale: termoplastica, cera speciale per microfusione.

L'uso di modelli tridimensionali per il calcolo dei prodotti mediante metodi di simulazione

Simulazioneè creare un modello dell'oggetto progettato e sperimentarlo in condizioni e vincoli reali.

Simulazione in CAD si realizza creando un modello dell'oggetto disegnato e osservandone il funzionamento prima della sua produzione effettiva per trovarne i parametri razionali. Distinguere tra simulazione cinematica e dinamica.

Simulazione cinematica viene eseguito al fine di verificare l'operabilità di un oggetto nel processo di spostamento dei suoi elementi (controllo delle collisioni, ad esempio collisioni). Esempi: gruppi di controllo, il funzionamento di un meccanismo in movimento.

Simulazione dinamica Si effettua studiando il comportamento di un oggetto al variare dei carichi e delle temperature che agiscono su di esso. Vengono determinati lo stato di sollecitazione termica e le deformazioni degli elementi dell'oggetto. L'uso di modelli analitici ottenuti con metodi della fisica matematica per tali calcoli in relazione a oggetti con configurazioni complesse è attualmente impossibile, poiché è necessario accettare restrizioni che spesso violano l'adeguatezza del modello matematico dell'oggetto. Pertanto, per risolvere problemi di simulazione dinamica in CAD, vengono utilizzati metodi approssimati: metodo degli elementi finiti (FEM) e metodo delle differenze finite (FDM). Come ha dimostrato la pratica, il FEM è il metodo più efficace per risolvere i problemi di simulazione in CAD. Questo metodo si basa sulla rappresentazione dell'oggetto di studio sotto forma di un insieme di alcune figure geometricamente semplici, dette elementi finiti, che interagiscono tra loro solo in corrispondenza dei nodi. Elementi finiti situati in un certo modo (a seconda del design dell'oggetto) e fissati secondo le condizioni al contorno, la cui forma è determinata dalle caratteristiche dell'oggetto modellato, consentono di descrivere l'intera varietà di strutture meccaniche e parti.

Quando si eseguono calcoli ingegneristici per la forza, la fase di creazione di modelli di affidabilità della resistenza degli elementi strutturali è inevitabile. Con l'aiuto di tali modelli, è possibile scegliere il materiale e le dimensioni richieste delle strutture e valutarne la resistenza alle influenze esterne.

L'affidabilità è la proprietà di un prodotto di svolgere le sue funzioni entro determinati limiti per un periodo di tempo richiesto. L'affidabilità della resistenza è chiamata assenza di guasti associati a distruzioni o deformazioni inaccettabili o, in generale, all'insorgere di uno stato limite in un certo senso. La principale misura dell'affidabilità è la probabilità di un funzionamento senza guasti del prodotto.

Un altro valore più comune per valutare l'affidabilità della forza è il margine di sicurezza. Sia p un parametro di prestazione del prodotto (ad esempio, forza agente, pressione, tensione equivalente in un punto pericoloso, ecc.). Quindi il margine di sicurezza è chiamato rapporto

dove Pcr è il valore critico (limitante) del parametro P, che interrompe il normale funzionamento del prodotto, Pmax è il valore più grande del parametro in condizioni operative. La condizione di affidabilità della forza è scritta come:

dove [n] è il valore consentito del margine di sicurezza. Il margine di sicurezza consentito è assegnato sulla base dell'esperienza ingegneristica nel funzionamento di strutture simili (prototipi). Numerosi rami della tecnologia hanno standard di resistenza in cui i margini di sicurezza consentiti sono regolati per diverse condizioni operative. La normale gamma di modifiche [n] varia da 1, 3 (in condizioni di carico stabili) a 5 o più (in condizioni di carico variabile e dinamico). Nella pratica dei calcoli vengono utilizzati sia metodi analitici che numerici. I primi si basano su metodi matematici per la risoluzione di problemi di valori limite, che di solito sono complessi e richiedono molto tempo e sono spesso limitati a forme geometriche abbastanza semplici di corpi e schemi di carico. I metodi numerici, che comprendono, in particolare, il metodo delle differenze finite, il metodo delle equazioni integrali al contorno, il metodo degli elementi al contorno, il metodo degli elementi finiti e altri metodi, al contrario, non sono limitati né dalla forma della corpi o il metodo di applicazione del carico. Questo, insieme all'ubiquità di potenti tecnologie informatiche, contribuisce alla loro diffusione nell'ambiente ingegneristico.

L'idea principale del metodo degli elementi finiti è che qualsiasi valore continuo (spostamento, temperatura, pressione, ecc.) può essere approssimato da un modello costituito da singoli elementi (sezioni).

L'oggetto è rappresentato come un insieme di figure semplici (dal punto di vista geometrico), dette elementi finiti (per un problema piatto - rettangoli, triangoli, per un problema tridimensionale - parallelepipedi, prismi, tetraedri), che interagiscono con ciascuna altro ai nodi. Gli elementi possono essere lineari o parabolici (con nodi nei punti medi degli spigoli). Su ciascuno di questi elementi, la quantità continua indagata è approssimata da una funzione continua a tratti, che si basa sui valori della quantità continua indagata in un numero finito di punti dell'elemento in esame. Per questo vengono utilizzate funzioni lineari (primo ordine) o paraboliche (secondo ordine).

Ai nodi vengono applicate condizioni al contorno: cinematiche (fissazioni, spostamenti) e statiche (carichi), a seguito delle quali il corpo si deforma. La condizione di equilibrio per ogni elemento:

dove P è il vettore forza, U è il vettore spostamento, è la matrice di rigidezza dell'elemento finito, che include il modulo di Young E, che caratterizza la resistenza del materiale alla deformazione elastica (il rapporto tra sollecitazione e deformazione elastica causata da it) e il rapporto di Poisson μ (il rapporto tra la deformazione trasversale e quella longitudinale).

Le matrici di rigidezza di tutti gli elementi finiti sono combinate in una matrice di rigidezza globale [K], gli spostamenti e le forze ai nodi sono combinati in colonne comuni di spostamenti [U] e forze [P], rispettivamente.

Di conseguenza, viene creato un sistema di equazioni lineari in cui gli spostamenti sono sconosciuti:

Il sistema di equazioni si risolve con il calcolo degli spostamenti di ogni nodo. Ciò divenne possibile quando nel 1963 fu dimostrato che questa FEM può essere considerata come una delle varianti del metodo di Rayleigh-Ritz noto in meccanica strutturale, che, minimizzando l'energia potenziale, consente di ridurre il problema ad un sistema di equazioni di equilibrio lineare . Cioè, la soluzione ottenuta corrisponde all'energia potenziale minima del sistema elastico deformato.

Gli spostamenti sono correlati alle sollecitazioni corrispondenti dalla legge di Hooke:

Per la valutazione visiva dei risultati ottenuti dal calcolo, viene presentata la distribuzione dei valori dei parametri ottenuti (sollecitazioni, deformazioni) sotto forma di isoline (su cui il valore del parametro è costante), il colore e la saturazione di cui cambia a seconda del valore del parametro. Inoltre, per una valutazione qualitativa visiva dello stato deformato dell'oggetto, le deformazioni vengono mostrate distorte.

Non importa quanto grande e ricco sarà il mondo virtuale 3D. Un computer può visualizzarlo solo in un modo: mettendo i pixel su uno schermo 2D. In questa parte dell'articolo imparerai come l'immagine sullo schermo diventa realistica e come le scene diventano simili a quelle che vedi nel mondo reale. Per prima cosa, vedremo come viene dato realismo a un oggetto. Quindi passeremo all'intera scena. E infine, vedremo come il computer implementa il movimento: oggetti realistici si muovono a velocità realistiche.

Prima che l'immagine diventi realistica, gli oggetti attraversano diverse fasi di elaborazione. Le fasi più importanti sono la creazione della forma, l'avvolgimento della trama, l'illuminazione, la creazione della prospettiva, la profondità di campo e l'anti-alias.

Creazione modulo

Se guardiamo fuori dalla finestra, vedremo che tutti gli oggetti hanno una forma, sono creati da linee rette e curve di diverse dimensioni e posizioni. Allo stesso modo, guardando un'immagine grafica tridimensionale sul monitor di un computer, osserveremo un'immagine creata da varie forme, sebbene la maggior parte di esse sia già composta da linee rette. Vediamo quadrati, rettangoli, parallelogrammi, cerchi e rombi. Ma soprattutto vediamo triangoli. Per creare un'immagine affidabile con linee curve, come nel mondo che ci circonda, è necessario comporre una forma da tanti piccoli stampi. Ad esempio, il corpo umano può richiedere migliaia di questi stampi. Insieme formeranno una struttura chiamata impalcatura. Un wireframe è molto simile allo schizzo di un oggetto, puoi facilmente identificare un oggetto dal wireframe. Altrettanto importante è il passaggio successivo alla creazione del modulo: il wireframe deve ricevere una superficie.

L'illustrazione mostra uno scheletro di una mano composto da un piccolo numero di poligoni - 862 in totale

Trame di superficie

Quando incontriamo una superficie nel mondo reale, possiamo ottenere informazioni su di essa in due modi. Possiamo guardare la superficie, da diverse angolazioni, e possiamo toccarla e determinare se è morbida o dura. Nella grafica 3D, possiamo solo guardare la superficie, ottenendo tutte le informazioni disponibili. E questa informazione è composta da tre componenti:

  • Colore: Di che colore è la superficie? è uniformemente colorato?
  • Struttura: La superficie è piatta o presenta ammaccature, protuberanze, raddrizzature o qualcosa di simile?
  • Riflettività: La superficie riflette la luce? I riflessi sono chiari o sono sfocati?

Un modo per dare "realtà" a un oggetto è selezionare una combinazione di questi tre componenti in diverse parti dell'immagine. Guardati intorno: la tastiera del tuo computer ha un colore/trama/riflessione diverso dalla tua scrivania, che a sua volta ha un colore/trama/riflessione diverso dalla tua mano. Affinché il colore dell'immagine assomigli a quello reale, è importante che il computer possa scegliere il colore di un pixel da una tavolozza di milioni di colori diversi. La varietà delle texture dipende sia dal modello matematico della superficie (dalla pelle di una rana al materiale gelatinoso) sia dalle texture map (texture map) che si sovrappongono alle superfici. È inoltre necessario instillare negli oggetti quelle qualità che non si vedono: morbidezza e durezza, calore e freddezza attraverso varie combinazioni di colore, consistenza e riflettività. Se commetti un errore in almeno uno di questi parametri, la sensazione della realtà si dissiperà all'istante.


L'aggiunta di una superficie a un wireframe inizia a cambiare
un'immagine da qualcosa di matematico a un'immagine,
in cui possiamo facilmente trovare una mano.

Illuminazione

Quando entri in una stanza buia, accendi la luce. Non pensi a come la luce, che esce dalla lampadina, sia distribuita in tutta la stanza. Ma quando si sviluppa la grafica 3D, è necessario tenerne costantemente conto, perché tutte le superfici che circondano il wireframe devono essere illuminate da qualche parte. Un metodo, chiamato ray-tracing, traccia il percorso che un raggio immaginario seguirà dopo essere uscito dalla lampada, riflettendosi sulle superfici specchiate e infine finendo sull'oggetto. Il raggio lo illuminerà con intensità diversa da diverse angolazioni. Il metodo sembra piuttosto complicato anche quando si costruiscono raggi da una singola lampada, ma nella maggior parte delle stanze ci sono molte fonti di luce: diverse lampade, finestre, candele, ecc.

L'illuminazione gioca un ruolo fondamentale in due effetti che danno un senso di peso e solidità agli oggetti: ombreggiatura e ombre. Il primo effetto dell'ombreggiatura è quello di modificare l'intensità della luce di un oggetto da un lato all'altro. Grazie all'ombreggiatura, la palla sembra rotonda, gli zigomi alti sporgono sul viso e la coperta sembra voluminosa e morbida. Queste differenze nell'intensità della luce, insieme alla forma, rafforzano l'illusione che l'oggetto abbia profondità oltre che altezza e larghezza. L'illusione del peso è creata dal secondo effetto: l'ombra.


L'evidenziazione di un'immagine non solo aggiunge profondità
oggetto attraverso l'ombreggiatura, ma anche "lega"
oggetto a terra attraverso l'ombra.

I corpi otticamente densi proiettano un'ombra quando sono illuminati. Puoi vedere un'ombra su una meridiana o guardare l'ombra di un albero sul marciapiede. Nel mondo reale, oggetti e persone proiettano ombre. Se le ombre sono presenti nel mondo 3D, ti sembrerà ancora di più di guardare attraverso una finestra il mondo reale e non uno schermo con modelli matematici.

prospettiva

La parola prospettiva sembra un termine tecnico, ma in realtà descrive l'effetto più semplice che tutti osserviamo. Se ti trovi sul lato di una lunga strada dritta e guardi in lontananza, ti sembrerà che le corsie di destra e di sinistra della strada convergano in un punto all'orizzonte. Se gli alberi sono piantati lungo il ciglio della strada, più gli alberi sono lontani dall'osservatore, più piccoli sono. Noterai che gli alberi convergono nello stesso punto dell'orizzonte della strada. Se tutti gli oggetti sullo schermo convergono in un punto, questo sarà chiamato prospettiva. Ci sono, ovviamente, altre opzioni, ma fondamentalmente nella grafica tridimensionale viene utilizzata la prospettiva di un punto, descritta sopra.

Nell'illustrazione sopra, le mani sembrano separate, ma nella maggior parte delle scene alcuni oggetti sono davanti e bloccano parzialmente la vista di altri oggetti. Per tali scene, il software non deve solo calcolare la dimensione relativa degli oggetti, ma anche tenere conto delle informazioni su quali oggetti oscurano gli altri e quanto. Il più comunemente usato per questo è lo Z-buffer (Z-Buffer). Questo buffer ha preso il nome dal nome dell'asse Z, o una linea immaginaria che va dietro lo schermo attraverso la scena fino all'orizzonte. (Gli altri due assi sono l'asse X, che misura la larghezza della scena, e l'asse Y, che misura l'altezza della scena).

Il buffer Z assegna a ciascun poligono un numero in base a quanto è vicino al bordo anteriore della scena l'oggetto contenente quel poligono. Tipicamente, i numeri più bassi vengono assegnati ai poligoni più vicini allo schermo e i numeri più alti vengono assegnati ai poligoni adiacenti all'orizzonte. Ad esempio, un buffer Z a 16 bit assegnerebbe il numero -32.768 più vicino allo schermo e 32.767 il più lontano.

Nel mondo reale, i nostri occhi non possono vedere oggetti coperti da altri, quindi non abbiamo problemi a identificare gli oggetti visibili. Ma questi problemi sorgono costantemente davanti al computer ed è costretto a risolverli direttamente. Man mano che ogni oggetto viene creato, il suo valore Z viene confrontato con il valore di altri oggetti che occupano la stessa area nelle coordinate X e Y. L'oggetto con il valore Z più piccolo verrà disegnato completamente, mentre gli altri oggetti con valori Z più alti ​​sarà estratto solo in parte. Pertanto, non vediamo oggetti sullo sfondo che sporgono attraverso i personaggi. Poiché lo Z-buffer viene attivato prima del disegno completo degli oggetti, le parti della scena nascoste dietro il personaggio non verranno affatto disegnate. Questo accelera le prestazioni grafiche.

Profondità di campo

Un altro effetto ottico, la profondità di campo, viene utilizzato con successo anche nella grafica 3D. Useremo lo stesso esempio con alberi piantati sul lato della strada. Quando gli alberi si allontanano dall'osservatore, si verificherà un altro effetto interessante. Se guardi gli alberi più vicini a te, gli alberi distanti saranno sfocati. Ciò è particolarmente evidente quando si visualizza una foto o un video con gli stessi alberi. Registi e animatori al computer usano questo effetto per due scopi. Il primo è migliorare l'illusione della profondità nella scena osservata. Naturalmente, il computer può disegnare ogni oggetto nella scena esattamente a fuoco, non importa quanto sia lontano. Ma poiché l'effetto della profondità di campo è sempre presente nel mondo reale, mettere a fuoco tutti gli oggetti porterà a una violazione dell'illusione della realtà della scena.

Il secondo motivo per utilizzare questo effetto è attirare la tua attenzione sui soggetti o attori giusti. Ad esempio, per migliorare la tua concentrazione su un personaggio del film, il regista utilizzerà un effetto di profondità di campo ridotta in cui solo un attore è a fuoco. D'altra parte, le scene che dovrebbero stupirti con la maestosità della natura utilizzano l'effetto di profondità di campo per mettere a fuoco quanti più oggetti possibile.

Anti aliasing

L'anti-aliasing è un'altra tecnologia progettata per ingannare l'occhio. I sistemi di grafica digitale sono molto bravi a creare linee verticali o orizzontali. Ma quando compaiono diagonali e curve (e appaiono molto spesso nel mondo reale), il computer disegna linee con caratteristiche "scale" invece di bordi lisci. Per convincere i tuoi occhi che stanno vedendo una linea liscia o una curva, il computer aggiunge pixel attorno alla linea con diverse sfumature di colore della linea. Questi pixel "grigi" creano l'illusione di nessun "passo". Questo processo di aggiunta di pixel per ingannare l'occhio è chiamato anti-aliasing ed è una delle tecniche che distingue la computer grafica 3D dalla grafica "disegnata a mano". Il compito di mantenere le linee e aggiungere la giusta quantità di colori "smussanti" è un altro lavoro complicato per il computer per creare animazioni 3D sul display.

Per aumentare il realismo della visualizzazione delle trame sovrapposte ai poligoni, vengono utilizzate varie tecnologie:

Smoothing (Anti-aliasing);

· mappatura MIP;

filtraggio delle texture.

Tecnologia anti-aliasing

L'anti-aliasing è una tecnologia utilizzata nell'elaborazione delle immagini per eliminare l'effetto dei bordi "a gradini" (alias) degli oggetti. Con il metodo raster per formare un'immagine, è composta da pixel. A causa del fatto che i pixel hanno una dimensione finita, le cosiddette scale o bordi a gradini possono essere distinti ai bordi di oggetti tridimensionali. Per ridurre al minimo l'effetto scala, il modo più semplice è aumentare la risoluzione dello schermo, riducendo così la dimensione dei pixel. Ma questo percorso non è sempre possibile. Se non riesci a eliminare l'effetto gradino aumentando la risoluzione del monitor, puoi utilizzare la tecnologia Anti-aliasing, che ti consente di appianare visivamente l'effetto delle scale. La tecnica più comunemente usata per questo è creare una transizione graduale dal colore della linea o del bordo al colore di sfondo. Il colore di un punto che giace sul bordo degli oggetti è definito come il valore medio dei colori dei due punti di confine.

Esistono diverse tecnologie di anti-aliasing di base. Per la prima volta, il risultato di maggior qualità è stato dato dalla tecnologia di anti-aliasing full-screen FSAA (Full Screen Anti-Aliasing). In alcune fonti letterarie, questa tecnologia è chiamata SSAA. L'essenza di questa tecnologia sta nel fatto che il processore calcola un fotogramma dell'immagine a una risoluzione molto più alta rispetto alla risoluzione dello schermo e quindi, quando visualizzato sullo schermo, calcola la media dei valori di un gruppo di pixel su uno; il numero di pixel mediati corrisponde alla risoluzione dello schermo del monitor. Ad esempio, se un fotogramma con una risoluzione di 800x600 è anti-alias utilizzando FSAA, l'immagine verrà calcolata con una risoluzione di 1600x1200. Quando si passa alla risoluzione del monitor, viene calcolata la media dei colori dei quattro punti calcolati corrispondenti a un pixel del monitor. Di conseguenza, tutte le linee hanno transizioni di colore uniformi, che eliminano visivamente l'effetto delle scale.

FSAA fa un sacco di lavoro non necessario, caricando la GPU, smussando non i bordi, ma l'intera immagine, che è il suo principale svantaggio. Per eliminare questa lacuna, è stata sviluppata una tecnologia più economica, MSSA.

L'essenza della tecnologia MSSA è simile alla tecnologia FSAA, ma non vengono eseguiti calcoli sui pixel all'interno dei poligoni. Per i pixel sui bordi degli oggetti, a seconda del livello di levigatura, vengono calcolati 4 o più punti aggiuntivi, in base ai quali viene determinato il colore finale del pixel. Questa tecnologia è la più comune al momento.

Sono noti gli sviluppi individuali dei produttori di schede video. Ad esempio, NVIDIA ha sviluppato la tecnologia Coverage Sampling (CSAA), che è supportata solo dagli adattatori video GeForce a partire dall'ottava serie (8600 - 8800, 9600 - 9800). ATI ha introdotto AAA (Adaptive Anti-Aliasing) nel processore grafico R520 e tutto il successivo anti-aliasing adattivo.

Tecnologia di mappatura MIP

La tecnologia viene utilizzata per migliorare la qualità della texture degli oggetti 3D. Per aggiungere realismo a un'immagine tridimensionale, è necessario tenere conto della profondità della scena. Quando ti allontani dal punto di vista, la trama di sovrapposizione dovrebbe apparire sempre più sfocata. Pertanto, quando si struttura anche una superficie omogenea, non viene spesso utilizzata una, ma più trame, il che consente di tenere correttamente conto delle distorsioni prospettiche di un oggetto tridimensionale.

Ad esempio, è necessario rappresentare una pavimentazione acciottolata che si addentra nella scena. Se si tenta di utilizzare una sola texture per l'intera lunghezza, quando ci si allontana dal punto di vista, potrebbero apparire delle increspature o un solo colore a tinta unita. Il fatto è che in questa situazione diversi pixel di trama (texel) cadono in un pixel sul monitor contemporaneamente. Sorge la domanda: a favore di quale texel scegliere quando si visualizza un pixel?

Questo compito viene risolto con l'aiuto della tecnologia di mappatura MIP, che implica la possibilità di utilizzare un insieme di trame con diversi livelli di dettaglio. Sulla base di ciascuna trama, viene creato un insieme di trame con un livello di dettaglio inferiore. Le trame di un tale insieme sono chiamate MIP - maps (MIP map).

Nel caso più semplice della mappatura delle texture, per ogni pixel dell'immagine, viene determinata la mappa MIP corrispondente in base alla tabella LOD (Level of Detail). Inoltre, dalla mappa MIP viene selezionato un solo texel, il cui colore è assegnato al pixel.

Tecnologie di filtrazione

Di norma, la tecnologia di mappatura MIP viene utilizzata in combinazione con tecnologie di filtraggio progettate per correggere gli artefatti di texture mip. Ad esempio, quando un oggetto si allontana ulteriormente dal punto di vista, si verifica una transizione da un livello di mappa MIP basso a un livello di mappa MIP più alto. Quando un oggetto è in uno stato di transizione da un livello di mappa MIP a un altro, compare un tipo speciale di errore di visualizzazione: confini chiaramente distinguibili della transizione da un livello di mappa MIP a un altro.

L'idea del filtraggio è che il colore dei pixel di un oggetto viene calcolato da punti di trama adiacenti (texel).

Il primo metodo di filtraggio delle texture è stato il cosiddetto campionamento a punti, che non è utilizzato nella moderna grafica 3D. Il prossimo è stato sviluppato bilineare filtrazione. Il filtro bilineare utilizza la media ponderata di quattro pixel di trama adiacenti per visualizzare un punto sulla superficie. Con tale filtraggio, la qualità degli oggetti che ruotano lentamente o si muovono lentamente con bordi (come un cubo) è bassa (bordi sfocati).

Dà una qualità superiore trilineare filtraggio, in cui per determinare il colore di un pixel, viene preso il valore di colore medio di otto texel, quattro da due strutture adiacenti, e come risultato di sette operazioni di fusione, viene determinato il colore del pixel.

Con la crescita delle prestazioni delle GPU, a anisotropo filtrazione, che è stata finora applicata con successo. Quando determina il colore di un punto, utilizza un gran numero di texel e tiene conto della posizione dei poligoni. Il livello di filtraggio anisotropico è determinato dal numero di texel che vengono elaborati durante il calcolo del colore di un pixel: 2x (16 texel), 4x (32 texel), 8x (64 texel), 16x (128 texel). Questo filtraggio garantisce un'elevata qualità dell'immagine in movimento visualizzata.

Tutti questi algoritmi sono implementati dal processore grafico della scheda video.

Interfaccia di programmazione dell'applicazione (API)

Per velocizzare l'esecuzione delle fasi della pipeline 3D, l'acceleratore grafico 3D deve disporre di un certo insieme di funzioni, ad es. in hardware, senza la partecipazione del processore centrale, per eseguire le operazioni necessarie alla costruzione di un'immagine 3D. L'insieme di queste funzioni è la caratteristica più importante dell'acceleratore 3D.

Poiché l'acceleratore 3D dispone di una propria serie di comandi, può essere utilizzato in modo efficace solo se il programma applicativo utilizza questi comandi. Ma poiché esistono molti modelli diversi di acceleratori 3D, oltre a vari programmi applicativi che generano immagini tridimensionali, sorge un problema di compatibilità: è impossibile scrivere un programma del genere che utilizzerebbe ugualmente bene i comandi di basso livello di vari acceleratori. Ovviamente, sia gli sviluppatori di software applicativi che i produttori di acceleratori 3D necessitano di uno speciale pacchetto di utilità che svolga le seguenti funzioni:

conversione efficiente delle richieste del programma applicativo in una sequenza ottimizzata di comandi di basso livello dell'acceleratore 3D, tenendo conto delle peculiarità della sua costruzione hardware;

emulazione software delle funzioni richieste se l'acceleratore utilizzato non dispone del supporto hardware.

Viene chiamato uno speciale pacchetto di utilità per eseguire queste funzioni Interfaccia di programmazione applicazioni (Interfaccia del programma applicativo = API).

L'API occupa una posizione intermedia tra i programmi applicativi di alto livello e i comandi acceleratori di basso livello generati dal suo driver. L'utilizzo dell'API solleva lo sviluppatore dell'applicazione dalla necessità di lavorare con comandi acceleratori di basso livello, facilitando il processo di creazione dei programmi.

Attualmente, ci sono diverse API in 3D, il cui scopo è delineato abbastanza chiaramente:

DirectX, sviluppato da Microsoft, utilizzato nelle applicazioni di gioco in esecuzione su Windows 9X e sistemi operativi successivi;

OpenGL, utilizzato principalmente in applicazioni professionali (sistemi di progettazione assistita da computer, sistemi di modellazione 3D, simulatori, ecc.) eseguiti con sistema operativo Windows NT;

API proprietarie (native). creati dai produttori di acceleratori 3D esclusivamente per i loro chipset al fine di utilizzare le loro capacità nel modo più efficiente.

DirectX è uno standard chiuso e strettamente regolamentato che non consente modifiche fino al rilascio della sua nuova versione successiva. Da un lato, ciò limita le capacità degli sviluppatori di software e in particolare dei produttori di acceleratori, ma semplifica notevolmente la configurazione del software e dell'hardware per il 3D da parte dell'utente.

A differenza di DirectX, l'API OpenGL si basa sul concetto di standard aperto, con un piccolo set di funzionalità di base e molte estensioni che implementano funzionalità più complesse. Il produttore dell'acceleratore Chipset 3D è tenuto a creare un BIOS e driver che eseguano le funzioni di base di Open GL, ma non è tenuto a fornire supporto per tutte le estensioni. Ciò dà origine a una serie di problemi associati alla scrittura di driver per i loro prodotti da parte dei produttori, che vengono forniti sia in forma completa che troncata.

La versione completa del driver compatibile con OpenGL si chiama ICD (Installable Client Driver - client application driver). Fornisce le massime prestazioni, tk. contiene codici di basso livello che forniscono supporto non solo per l'insieme di funzioni di base, ma anche per le sue estensioni. Naturalmente, tenendo conto del concetto di OpenGL, la creazione di un tale driver è un processo estremamente complesso e dispendioso in termini di tempo. Questo è uno dei motivi per cui gli acceleratori 3D professionali sono più costosi degli acceleratori di gioco.