OptiX | |
---|---|
| |
Tyyppi | Grafiikka moottori |
Kehittäjä | nVidia |
Ilmoituksen päivämäärä | 6. elokuuta 2009 |
Julkaisupäivä | 5. marraskuuta 2009 |
Laitteistoalusta | IBM PC -yhteensopiva tietokone , jossa on tietyt näytönohjaimet |
Tuettu käyttöjärjestelmä | Microsoft Windows , Linux , macOS |
Kielellä kirjoitettu | C++ ja C |
Lisenssi | moottorin omistusoikeus , käyttö ja lisensointi ilmaiseksi ( freeware ) |
uusin versio | 7.0.0 / 30. heinäkuuta 2019 |
developer.nvidia.com/opt… |
OptiX ( nVidia OptiX ) on säteenseurantagrafiikkamoottori , joka käyttää nVidian CUDA - tekniikkaa . Säteenseurantaa voidaan käyttää menetelmänä geometristen järjestelmien analysointiin ja tutkimiseen laskemalla aaltojen tai hiukkasten etenemistä.
nVIDIA OptiX -moottori on osa kehittäjille tarkoitettua moduulisarjaa, joka sisältää OptiX:n lisäksi muita moduuleja, kuten SceniX :n ja CompleX :n . Kaikki ne on integroitu kolmannen osapuolen sovelluksiin [1] [2] .
nVidia OptiX on ohjelmistotyökalu, joka toteuttaa reaaliaikaisen säteenseurannan renderöinnin nVidia GPU :iden avulla . OptiX käyttää CUDA -tekniikkaa laskelmien suorittamiseen GPU:illa. Vaikka OptiX:n pääominaisuus on ray tracing renderöinti, myös klassista rasterointia tuetaan . OptiX on siis hybridirenderöijä. Vaikka OptiX on grafiikkamoottori, sitä voidaan käyttää ei-graafiseen laskemiseen. OptiX:n laajuus on kaikki laskennallisesti vaativat tehtävät, joihin voidaan soveltaa säteenseurantaa (tässä "säteenseuranta" ei tarkoita tietokonegrafiikkaan liittyvää säteenseurantaa, vaan säteenseurantaa menetelmänä analysoida ja tutkia geometrisia järjestelmiä laskemalla etenemistä aalloista tai hiukkasista, katso säteen ] 4[[3])fysiikka(jäljitys
OptiX tarjoaa ohjelmoitavan säteenseurantaputken C -ohjelmointikielellä [2] rajoituksin. Kehittäjät asettavat OptiX:n erittäin joustavaksi moottoriksi, joka voidaan konfiguroida yksityiskohtaisesti ja mukauttaa tiettyihin tehtäviin. OptiX-käyttäjät - sovelluskehittäjät - voivat nopeuttaa tarvitsemiaan säteenseurantatehtäviä. OptiX:n joustavuus alkaa toteutuksen abstraktiosta ja päättyy yksittäisiin säteisiin, mikä yksinkertaistaa huomattavasti yhden säteen laskemista aikayksikköä kohden. Säteen kuljettama ja keräämä data on täysin muokattavissa. OptiX:ään syötettävä data on myös ohjelmoitavaa, mikä mahdollistaa ohjelmoitavien varjostimien käytön uusille tekniikoille, ohjelmoitavat leikkauspisteet proseduuripintatyypeille ja ohjelmoitavat virtuaalikamerat kompositiopotentiaalia varten [5] .
OptiX sisältää sellaisia kriittisiä ominaisuuksia kuin rinnakkaisuus (sekä GPU:n sisällä että GPU:n ja CPU :n välillä ), tietorakenteiden, kuten k-ulotteisten puiden ja rajaavan volyymihierarkian käyttö , sekä erilaisia ohitusalgoritmeja . Grafiikkasuorittimen käyttöä ohjataan OptiX:n sisäänrakennetun kuormituksen tasapainotusmoduulin kautta. Koska OptiX on hybridirenderöijä, se tukee grafiikkasovellusliittymiä , kuten OpenGL :ää , jolloin voit yhdistää säteenseuranta- ja rasteroitujen renderöintitekniikoiden joustavuuden lisäämiseksi [5] [6] .
OptiX-versio 1 vaatii ammattimaisia näytönohjaimia nVidia Quadro FX- tai nVidia Tesla -perheestä . OptiX-versio 2 tukee nVidia Fermi -arkkitehtuuria , joten sitä voidaan käyttää näytönohjaimissa, joihin on asennettu GF100 GPU. Lisäksi tuetaan ammattimaisten näytönohjaimien lisäksi myös mukautettuja GeForce-malleja, kuten GeForce 480 ja GeForce 470. Toinen OptiX 2:n innovaatio on tuki mukautetuille GeForce 200 -sarjan (GT200) -näytönkorteille . GT200-sarjaa käytettäessä vaaditaan kuitenkin GeForce GTX 260 tai uudempi [7] [8] .
Täydellinen luettelo OptiX 2 [8] -moottorin tukemista GPU:ista :
Tietyillä GPU:illa varustettujen näytönohjainkorttien lisäksi tarvitaan x86 - yhteensopiva CPU [8] .
OptiX vaatii NVIDIA Unified Graphics Driver -ohjaimen version v.190 tai uudemman. GT200 vaatii CUDA Toolkit 2.3:n tai uudemman ja GF100 vaatii CUDA Toolkit 3.0:n tai uudemman. C/C++-kääntäjä vaaditaan myös: Microsoft Windows , Visual Studio 2005 tai Visual Studio 2008 ja Linux , gcc 4.2 tai 4.3. Lisäksi CMake -lähdekoodin versiosta 2.6.3 tai uudemmasta versiosta 2.6.3 tai uudemmasta peräisin olevien ohjelmistojen koontiversioiden automatisointiin tarvitaan monialustainen järjestelmä [8] .
OptiX-moottori tukee sekä 32-bittisiä että 64-bittisiä käyttöjärjestelmiä [8] :
OptiX :ää voidaan käyttää monissa sovelluksissa: fotorealistisessa mallinrakennuksessa, autosuunnittelussa, musiikki-instrumenttien ja optisten järjestelmien suunnittelussa, kapasitanssi- ja säteilytutkimuksissa, törmäysanalyysissä ja kaikessa muussa, missä voidaan käyttää säteenseurantaalgoritmia . OptiX:ää voidaan käyttää sovelluksissa, jotka käyttävät SceniX- scene engineä , kuten RTT DeltaGen , Autodesk Showcase ja Anark Media Studio [3] [4] .
nVidia julkaisi virallisella verkkosivustollaan useita esimerkkejä OptiX:n toiminnasta" [15] [16] [17] :
OptiX julkistettiin ensimmäisen kerran 6. elokuuta kansainvälisessä vuosikonferenssissa SIGGRAPH 2009, joka pidettiin 3. -7 . elokuuta New Orleansissa [18] . SIGGRAPH 2009 -messuilla julkistettiin moottorin nimi, sen päätoiminnot, keskittyminen tiettyihin tehtäviin, pääominaisuudet jne. Jeff Brown, nVidian ammattiratkaisujen divisioonan johtaja kommentoi OptiX:n ilmoitusta: ”Tietokoneen maailma on siirtynyt pelkästä prosessorilla suoritettavasta laskennasta tasapainoiseen yhteiskäsittelyyn prosessorilla ja grafiikkasuorittimella. nVidian sovelluskiihdytysmoottorit antavat kehittäjille työkalut, joita he tarvitsevat mullistaakseen edelleen sekä reaaliaikaista grafiikkaa että monimutkaista data-analyysiä." Jon Peddie , ajatushautomo Jon Peddie Researchin perustaja ja puheenjohtaja , totesi ilmoituksen ajankohtana, että "yhdessä vuodessa nVidia on voinut mennä sanomasta interaktiivisen säteenseurannan visualisoinnin olevan mahdollista ja tehdä sen mahdolliseksi kaikille" [4] [19] .
Ennen tätä OptiX-ilmoitusta Nvidian reaaliaikainen säteenseurantaohjelmisto oli nimeltään NVIRT (Nvidia Interactive Raytracer) [19] .
SIGGRAPH 2009 -tapahtumassa julkistettiin OptiX:n lisäksi SceniX , CompleX ja PhysX : n 64-bittinen versio . OptiX:n todettiin olevan saatavilla syksyllä 2009 ja se toimisi nVidia Quadro [2] [4] ammattikäyttöön tarkoitetuilla näytönohjaimilla (näytönohjainkorteilla) .
Elokuun 2009 lopussa nVidia julkaisi verkkosivuillaan esimerkkejä OptiX-moottorin käytöstä. Kolme esimerkkiä on julkaistu: Whitted (taittumien, heijastusten ja läpinäkyvien objektien esittely), Cook ( depth of Field - ja Motion Blur -esittely ) ja Julia (prosessiobjektit ja Ambient Occlusion -laskenta ) [15] [16] [17] .
5. marraskuuta 2009, kuten SIGGRAPH 2009:ssä luvattiin, nVidia julkaisi OptiX:n. OptiX on julkaistu yleisölle OptiX SDK :na . Julkaisun myötä moottorin ilmoitettiin toimivan Quadro FX- ja nVidia Tesla -sarjan ammattikäyttöön tarkoitetuissa näytönohjaimissa sekä GeForce 200 [6] [20] [21] -näytönohjainsarjassa .
22. tammikuuta 2010 nVidia julkaisi OptiX 2:n ensimmäisen beta-version , jonka pääominaisuus on sen käsittely nVidia Fermi GPU -arkkitehtuuria varten . Myös tässä versiossa moottori voi toimia ammattimaisten Quadro- ja Tesla-näytönohjainkorttien lisäksi myös mukautetuilla GeForce -näytönohjainkorteilla [7] .
13. maaliskuuta 2010 julkaistiin OptiX 2:n kolmas beetaversio, joka lisäsi alustavan tuen ensimmäisille Fermi-pohjaisille näytönohjaimille ja vuorovaikutuksen tekstuuri- ja puskuritasolla Direct3D:n kanssa [22] .
29. heinäkuuta 2010 nVidia esitteli uusia ammattikäyttöön tarkoitettuja Quadro -sarjan näytönohjaimia ja näytönohjaimia, jotka perustuvat Fermi -arkkitehtuuriin . Näiden näytönohjainkorttien ominaisuus on laajennettu tuki sovellusten kiihdytysmoottoreille ( Application Acceleration Engine - AX ), joista yksi on OptiX . Todettiin, että Quadro 6000 GPU lisää suorituskykyä AX:ssä jopa viisi kertaa verrattuna tämän linjan edellisen sukupolven malleihin. “Quadro on ollut ammattilaisten ykkönen maailmanlaajuisesti yli vuosikymmenen ajan. Olemme myös rakentaneet moottoreita, kuten AX:n, ohjaamaan seuraavan sukupolven sovelluskehitystä” , nVidian ammattiratkaisujen johtaja Jeff Brown sanoi ilmoituksesta [ 23] . Samana päivänä osana SIGGRAPH 2010 -ohjelmaa ilmoitettiin uusien sovellusten kiihdytysmoottoreiden versioiden julkaisemisesta. OptiX 2:sta julkaistiin vakaa versio, joka aiempiin verrattuna optimoitiin toimimaan uusilla Quadro GPU:illa ja sai myös Direct3D -tuen ja mahdollisuuden työskennellä nopeasti Direct3D:ssä ja OpenGL :ssä joustavaa kompositiota ja hybridirenderöintiä varten [24] [ 25] . Lisäksi nVidian työntekijät pitivät SIGGRAPH 2010 -tapahtumassa esityksen "OptiX: A General Purpose Ray Tracing Engine" osana "GPU-renderöinti"-istuntoa [26] [27] .
Nvidia | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
GPU ( vertailu ) _ |
| ||||||||||
Emolevyn piirisarjat ( vertailu ) _ |
| ||||||||||
Muut |
|