OptiX | |
---|---|
Hivatalos OptiX logó | |
Típusú | Grafikus motor |
Fejlesztő | nVidia |
A bejelentés dátuma | 2009. augusztus 6 |
Kiadási dátum | 2009. november 5 |
Hardver platform | IBM PC-kompatibilis számítógép bizonyos grafikus kártyákkal |
Támogatott operációs rendszer | Microsoft Windows , Linux , macOS |
Nyelvvel írva | C++ és C |
Engedély | a motor szabadalmaztatása , használata és engedélyezése ingyenes ( ingyenes szoftver ) |
legújabb verzió | 7.0.0 / 2019. július 30 |
developer.nvidia.com/opt… |
Az OptiX ( nVidia OptiX ) egy sugárkövető grafikus motor , amely az nVidia CUDA technológiáját használja . A sugárkövetés módszerként használható geometriai rendszerek elemzésére és vizsgálatára a hullámok vagy részecskék terjedésének kiszámításával.
Az nVIDIA OptiX motor egy fejlesztői modulkészlet része, amely az OptiX mellett további modulokat is tartalmaz, például a SceniX -et és a CompleX -et . Mindegyik be van építve harmadik féltől származó alkalmazásokba [1] [2] .
Az nVidia OptiX egy olyan szoftvereszköz, amely valós idejű sugárkövetési megjelenítést valósít meg nVidia GPU -k segítségével . Az OptiX CUDA technológiát használ a számítások elvégzésére GPU-kon. Bár az OptiX fő jellemzője a sugárkövetés renderelés, a klasszikus raszterezés is támogatott . Tehát az OptiX egy hibrid renderer. Bár az OptiX grafikus motor, nem grafikus számítástechnikára is használható. Az OptiX hatóköre minden számításigényes feladat, amelyre a sugárkövetés alkalmazható (itt a „sugárkövetés” nem a számítógépes grafikával kapcsolatos sugárkövetést jelent, hanem a sugárkövetést mint geometriai rendszerek elemzésének és tanulmányozásának módszerét a terjedés számításával hullámok vagy részecskék, lásd Ray ] 4[[3])fizika(tracing
Az OptiX programozható sugárkövető csővezetéket biztosít a C programozási nyelv [2] használatával, korlátozásokkal. Az OptiX-et a fejlesztők nagyon rugalmas motorként pozícionálják, amely részletesen konfigurálható és egyedi feladatokhoz igazítható. Az OptiX felhasználók – alkalmazásfejlesztők – felgyorsíthatják a szükséges sugárkövetési feladatokat. Az OptiX rugalmassága a végrehajtás absztrakciójában kezdődik és az egyes nyalábokkal végződik, ami nagyban leegyszerűsíti az időegységenkénti egy nyalábra vonatkozó számításokat. A sugár által hordozott és összegyűjtött adatok teljes mértékben testreszabhatók. Az OptiX-be betáplált adatok szintén programozhatók, lehetővé téve programozható shader -ek használatát az új technikákhoz, programozható metszéspontokat az eljárási felülettípusokhoz és programozható virtuális kamerákat a kompozíciós potenciálhoz [5] .
Az OptiX olyan kritikus jellemzőket tartalmaz, mint a párhuzamosság (mind a GPU-n belül, mind a GPU és a CPU között ), az adatstruktúrák, például a k-dimenziós fák és a határoló kötet-hierarchia használata , valamint különféle bypass algoritmusok. A GPU kihasználtságát az OptiX beépített terheléselosztó modulja szabályozza. Mivel az OptiX egy hibrid renderer, támogatja a grafikus API -kat , például az OpenGL -t , lehetővé téve a sugárkövetés és a raszteres renderelési technikák kombinálását a nagyobb rugalmasság érdekében [5] [6] .
Az OptiX 1. verziójához professzionális grafikus kártyákra van szükség az nVidia Quadro FX vagy az nVidia Tesla családból . Az OptiX 2. verziója támogatja az nVidia Fermi architektúrát , így olyan videokártyákon is futhat, amelyekre telepítve van a GF100 GPU. Sőt, nem csak a professzionális videokártyák támogatottak, hanem az egyedi GeForce modellek is, például a GeForce 480 és a GeForce 470. Az OptiX 2 másik újítása az egyedi GeForce 200 sorozatú (GT200) videokártyák támogatása . A GT200-as sorozat használatakor azonban GeForce GTX 260 vagy újabb szükséges [7] [8] .
Az OptiX 2 [8] motor által támogatott GPU-k teljes listája :
Bizonyos GPU-kkal rendelkező videokártyákon kívül x86 - kompatibilis CPU-ra is szükség van [8] .
Az OptiX-hez az NVIDIA Unified Graphics Driver 190-es vagy újabb verziója szükséges. A GT200-hoz CUDA Toolkit 2.3 vagy újabb, a GF100-hoz pedig CUDA Toolkit 3.0 vagy újabb szükséges. C/C++ fordító is szükséges: Microsoft Windows , Visual Studio 2005 vagy Visual Studio 2008, Linux esetén pedig gcc 4.2 vagy 4.3. Ezenkívül szükség van egy platformok közötti rendszerre a CMake forráskód 2.6.3-as vagy újabb verzióiból történő automatizálásához [8] .
Az OptiX motor 32 bites és 64 bites operációs rendszereket is támogat [8] :
Az OptiX számos alkalmazásban használható: fotorealisztikus modellépítésben, autóipari tervezésben, hangszerek és optikai rendszerek tervezésében, kapacitás- és sugárzási vizsgálatokban, ütközéselemzésben és minden másban, ahol sugárkövetési algoritmus használható . Az OptiX a SceniX scene engine- t használó alkalmazásokban használható , mint például az RTT DeltaGen , az Autodesk Showcase és az Anark Media Studio [3] [4] .
Az nVidia számos példát tett közzé hivatalos weboldalán, amelyek bemutatják az OptiX működését" [15] [16] [17] :
Az OptiX-et először augusztus 6-án jelentették be a SIGGRAPH 2009 nemzetközi éves konferencián, amelyre augusztus 3. és 7. között került sor New Orleansban [18] . A 2009-es SIGGRAPH-on bejelentették a motor nevét, fő funkcionalitását, bizonyos feladatokra való fókuszálást, főbb funkciókat stb.. Jeff Brown, az nVidia professzionális megoldások részlegének vezérigazgatója így kommentálta az OptiX bejelentését: „A számítástechnika világa a processzoron történő számítástechnika helyett a CPU és GPU kiegyensúlyozott együttes feldolgozása felé mozdult el. Az nVidia alkalmazásgyorsító motorjai olyan eszközökkel látják el a fejlesztőket, amelyekre szükségük van a valós idejű grafika és az összetett adatelemzés további forradalmasításához." Jon Peddie , a Jon Peddie Research agytröszt alapítója és elnöke a bejelentéskor kijelentette, hogy "egy év alatt az nVidia képes volt az interaktív sugárkövetési vizualizációról mindenki számára lehetővé tenni" [4]. [19] .
Az OptiX bejelentése előtt az Nvidia valós idejű sugárkövető szoftvere NVIRT (Nvidia Interactive Raytracer) volt [19] .
Az OptiX mellett a SceniX , a CompleX és a PhysX 64 bites verziója jelent meg a SIGGRAPH 2009 rendezvényen . Azt állították, hogy az OptiX 2009 őszén lesz elérhető, és nVidia Quadro [2] [4] professzionális grafikus kártyákon (videokártyákon) fog futni .
Az nVidia 2009. augusztus végén tett közzé példákat az OptiX motor használatára a honlapján. Három példát publikáltak: Whitted (törések, visszaverődések és átlátszó objektumok bemutatása), Cook ( mélységélesség és mozgáshomályosítás demonstrációja ) és Julia (eljárási objektumok és Ambient Occlusion számítás ) [15] [16] [17] .
2009. november 5-én a SIGGRAPH 2009-en ígérteknek megfelelően az nVidia kiadta az OptiX-et. Az OptiX OptiX SDK néven jelent meg a nyilvánosság számára . A kiadással együtt bejelentették, hogy a motor a Quadro FX és az nVidia Tesla sorozatú professzionális grafikus kártyákon , valamint a GeForce 200 [6] [20] [21] egyedi grafikus kártyákon fut majd .
2010. január 22-én az nVidia kiadta az OptiX 2 első béta verzióját , amelynek fő jellemzője az nVidia Fermi GPU architektúra feldolgozása . Ebben a verzióban is a motor nem csak professzionális Quadro és Tesla videokártyákon, hanem egyedi GeForce videokártyákon is működhet [7] .
2010. március 13-án megjelent az OptiX 2 harmadik béta verziója, amely előzetes támogatást nyújtott az első Fermi-alapú videokártyákhoz, valamint textúra- és pufferszintű interakciót a Direct3D-vel [22] .
2010. július 29-én az nVidia bemutatta a Fermi architektúrán alapuló új professzionális GPU-kat és grafikus kártyákat a Quadro termékcsaládból . Ezeknek a videokártyáknak az egyik jellemzője az alkalmazásgyorsító motorok kiterjesztett támogatása ( Application Acceleration Engine - AX ), amelyek közül az egyik az OptiX . Kijelentették, hogy a Quadro 6000 GPU akár ötszörösére növeli a teljesítményt az AX-ben a vonal előző generációs modelljeihez képest. „A Quadro több mint egy évtizede az első számú szakember a világon. Az AX-hez hasonló motorokat is építettünk a következő generációs alkalmazásfejlesztés ösztönzésére” – mondta a bejelentésről Jeff Brown, az nVidia professzionális megoldásokért felelős igazgatója [23] . Ugyanezen a napon a SIGGRAPH 2010 részeként bejelentették az alkalmazásgyorsító motorok új verzióinak kiadását. Megjelent az OptiX 2 stabil verziója, amelyet a korábbiakhoz képest új Quadro GPU-kon való futtatásra optimalizáltak, emellett Direct3D támogatást , valamint Direct3D-ben és OpenGL -ben történő gyors munkavégzést kapott a rugalmas kompozíció és hibrid renderelés érdekében [24] [ 25] . Ezen kívül a SIGGRAPH 2010-en az nVidia alkalmazottai a "GPU rendering" szekció részeként "OptiX: A General Purpose Ray Tracing Engine" című előadást tartottak [26] [27] .
Nvidia | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
GPU-k ( összehasonlítás ) _ |
| ||||||||||
Alaplapi lapkakészletek ( összehasonlítás ) _ |
| ||||||||||
Egyéb |
|