OptiX

Aktuální verze stránky ještě nebyla zkontrolována zkušenými přispěvateli a může se výrazně lišit od verze recenzované 7. února 2018; kontroly vyžadují 14 úprav .
OptiX

Oficiální logo OptiX
Typ Grafický engine
Vývojář nVidia
Datum vyhlášení 6. srpna 2009
Datum vydání 5. listopadu 2009
Hardwarová platforma Počítač kompatibilní s IBM PC s určitými grafickými kartami
Podporovaný OS Microsoft Windows , Linux , macOS
Napsáno v jazyce C++ a C
Licence proprietární , používání a licencování motoru zdarma ( freeware )
Nejnovější verze 7.0.0 / 30. července 2019
developer.nvidia.com/opt…

OptiX ( nVidia OptiX ) je grafický engine ray tracing využívající technologii CUDA společnosti nVidia . Ray tracing lze použít jako metodu pro analýzu a zkoumání geometrických systémů pomocí výpočtu šíření vln nebo částic.


Popis

Obecný popis

Engine nVIDIA OptiX je součástí sady modulů pro vývojáře, která kromě OptiX obsahuje další moduly jako SceniX a CompleX . Všechny jsou integrovány do aplikací třetích stran [1] [2] .

nVidia OptiX je softwarový nástroj, který implementuje vykreslování ray tracingu v reálném čase pomocí GPU nVidia .  OptiX využívá technologii CUDA k provádění výpočtů na GPU. Přestože hlavní funkcí OptiX je vykreslování ray tracingu, je podporována i klasická rasterizace . OptiX je tedy hybridní renderer. Přestože je OptiX grafický engine, lze jej použít i pro negrafické výpočty. Náplní OptiX jsou všechny výpočetně náročné úlohy, na které lze ray tracing aplikovat ("ray tracing" zde neznamená ray tracing ve vztahu k počítačové grafice, ale ray tracing jako metoda analýzy a studia geometrických systémů pomocí výpočtu šíření vln nebo částic, viz Ray ] 4[[3])fyzika(tracing 

OptiX poskytuje programovatelný ray tracing pipeline využívající programovací jazyk C [2] s omezeními. OptiX je vývojáři umístěn jako velmi flexibilní engine, který lze podrobně konfigurovat a přizpůsobit konkrétním úkolům. Uživatelé OptiX – vývojáři aplikací – mohou urychlit úlohy sledování paprsků, které potřebují. Flexibilita OptiX začíná v abstrakci provedení a končí u jednotlivých paprsků, což značně zjednodušuje výpočty pro jeden paprsek za jednotku času. Data, která paprsek přenáší a shromažďuje, jsou plně přizpůsobitelná. Data přiváděná do OptiX jsou také programovatelná, což umožňuje programovatelné shadery pro nové techniky, programovatelné průniky pro procedurální typy povrchů a programovatelné virtuální kamery pro kompoziční potenciál [5] .

OptiX obsahuje takové kritické funkce, jako je paralelismus (jak v rámci GPU, tak mezi GPU a CPU ), použití datových struktur, jako jsou k-dimenzionální stromy a hierarchie ohraničujících svazků ,  a také různé obtokové algoritmy. Využití GPU je řízeno pomocí vestavěného modulu pro vyrovnávání zátěže OptiX. Protože OptiX je hybridní renderer, poskytuje podporu pro grafická API , jako je OpenGL , což vám umožňuje kombinovat techniky ray tracingu a rastrovaného vykreslování pro větší flexibilitu [5] [6] .

Systémové požadavky

OptiX verze 1 vyžaduje profesionální grafické karty z rodiny nVidia Quadro FX nebo nVidia Tesla . OptiX verze 2 má podporu pro architekturu nVidia Fermi , takže může běžet na grafických kartách s nainstalovaným GPU GF100. Navíc jsou podporovány nejen profesionální grafické karty, ale také vlastní modely GeForce, jako jsou GeForce 480 a GeForce 470. Další novinkou OptiX 2 je podpora vlastních grafických karet řady GeForce 200 (GT200) . Při použití řady GT200 je však vyžadována GeForce GTX 260 nebo vyšší [7] [8] .

Kompletní seznam GPU podporovaných jádrem OptiX 2 [8] :

Kromě grafických karet s určitými GPU je vyžadován CPU kompatibilní s x86 [8] .

OptiX vyžaduje verzi v.190 ovladače NVIDIA Unified Graphics Driver nebo novější. GT200 vyžaduje CUDA Toolkit 2.3 nebo novější a GF100 vyžaduje CUDA Toolkit 3.0 nebo novější. Je také vyžadován kompilátor C/C++: pro Microsoft Windows  , Visual Studio 2005 nebo Visual Studio 2008 a pro Linux  gcc 4.2 nebo 4.3. Kromě toho je vyžadován multiplatformní systém pro automatizaci sestavení softwaru ze zdrojového kódu CMake verze 2.6.3 nebo novější [8] .

Motor OptiX podporuje 32bitové i 64bitové operační systémy [8] :

Integrováno do softwaru

Použití a příklady

OptiX lze použít v různých aplikacích: stavba fotorealistických modelů, automobilový design, návrh hudebních nástrojů a optických systémů, kapacitní a radiační studie, analýza kolizí a cokoli jiného, ​​kde lze použít algoritmus sledování paprsku . OptiX lze použít v aplikacích, které používají scénický engine SceniX , jako je RTT DeltaGen , Autodesk Showcase a Anark Media Studio [3] [4] .

nVidia zveřejnila na svých oficiálních stránkách řadu příkladů demonstrujících fungování OptiX“ [15] [16] [17] :

Historie

OptiX byl poprvé oznámen 6. srpna na mezinárodní výroční konferenci SIGGRAPH 2009, která se konala od 3. do 7. srpna včetně v New Orleans [18] . Na SIGGRAPH 2009 byl oznámen název enginu, jeho hlavní funkcionalita, zaměření na určité úkoly, hlavní vlastnosti atd. Jeff Brown, generální ředitel divize profesionálních řešení společnosti nVidia, k oznámení OptiX uvedl: „Svět výpočetní techniky se posunul od počítání pouze na procesoru k vyváženému společnému zpracování na CPU a GPU. Aplikační akcelerační motory nVidia vybavují vývojáře nástroji, které potřebují k další revoluci v grafice v reálném čase a komplexní analýze dat." Jon Peddie , zakladatel a prezident think-tanku Jon Peddie Research , v době oznámení uvedl, že „za jeden rok byla nVidia schopna přejít od tvrzení, že interaktivní vizualizace sledování paprsků je možná, aby ji umožnila všem“ [4] [19] .

Před tímto oznámením OptiX se software Nvidia pro sledování paprsků v reálném čase nazýval NVIRT (Nvidia Interactive Raytracer) [19] .

Kromě OptiX byly na SIGGRAPH 2009 oznámeny také SceniX , CompleX a 64bitová verze PhysX . Bylo uvedeno, že OptiX bude k dispozici na podzim 2009 a poběží na profesionálních grafických kartách (videokartách) nVidia Quadro [2] [4] .

Na konci srpna 2009 zveřejnila nVidia na svých webových stránkách příklady použití enginu OptiX. Byly publikovány tři příklady: Whitted (ukázka lomů, odrazů a průhledných objektů), Cook (ukázka Depth Of Field a Motion Blur ) a Julia (procedurální objekty a výpočet Ambient Occlusion ) [15] [16] [17] .

5. listopadu 2009, jak bylo slíbeno na SIGGRAPH 2009, nVidia vydala OptiX. OptiX byl uvolněn pro veřejnost jako OptiX SDK . Spolu s vydáním bylo oznámeno, že motor bude fungovat na profesionálních grafických kartách řady Quadro FX a nVidia Tesla a také na řadě vlastních grafických karet GeForce 200 [6] [20] [21] .

22. ledna 2010 vydala nVidia první beta verzi OptiX 2, jejímž hlavním rysem je zpracování pro architekturu GPU nVidia Fermi . Také v této verzi může engine fungovat nejen na profesionálních grafických kartách Quadro a Tesla, ale také na vlastních grafických kartách GeForce [7] .

13. března 2010 byla vydána třetí beta verze OptiX 2, která přidala předběžnou podporu pro první grafické karty založené na Fermi a interakci na úrovni textury a vyrovnávací paměti s Direct3D [22] .

29. července 2010 nVidia představila nové profesionální GPU a grafické karty z řady Quadro založené na architektuře Fermi . Charakteristickým rysem těchto grafických karet je rozšířená podpora pro aplikační akcelerační motory ( Application Acceleration Engine-AX ), z nichž jedním je OptiX .  Bylo uvedeno, že GPU Quadro 6000 zvýší výkon v AX až pětinásobně oproti předchozí generaci modelů této řady. „Quadro je již více než deset let celosvětově nejlepší volbou profesionálů. Postavili jsme také motory jako AX, abychom poháněli vývoj aplikací nové generace,“ řekl k oznámení Jeff Brown, ředitel profesionálních řešení ve společnosti nVidia [ 23 ] . Ve stejný den bylo v rámci SIGGRAPH 2010 oznámeno vydání nových verzí aplikačních akceleračních motorů. Vyšla stabilní verze OptiX 2, která byla oproti předchozím optimalizována pro běh na nových Quadro GPU a navíc získala podporu Direct3D a možnost rychlé práce v Direct3D a OpenGL pro flexibilní skládání a hybridní vykreslování [24] [ 25] . Kromě toho na SIGGRAPH 2010 zaměstnanci nVidie uspořádali prezentaci „OptiX: A General Purpose Ray Tracing Engine“ v rámci sekce „GPU rendering“ [26] [27] .  

Poznámky

  1. NVIDIA® Engines Accelerate Applications . Oficiální stránky nVidia (ruská verze stránek). - Popis motorů, které zrychlují aplikace, a jejich seznam. Získáno 15. 5. 2010. Archivováno z originálu 25. 4. 2012.
  2. 1 2 3 Sergey a Marina Bondarenko. SIGGRAPH 2009: Interaktivní systém sledování paprsku NVIDIA OptiX . 3DNews (6. srpna 2009). Získáno 15. 5. 2010. Archivováno z originálu 18. 8. 2010.
  3. 1 2 OptiX Application Acceleration Engine Interaktivní ray tracing na profesionálních grafických řešeních NVIDIA Quadro . Oficiální stránky nVidia (ruská verze stránek). — Hlavní stránka OptiX a její stručný popis. Získáno 15. 5. 2010. Archivováno z originálu 25. 4. 2012.
  4. 1 2 3 4 Vjačeslav Kolomin. NVIDIA představila ray tracing renderovací engine . nVidia World (6. srpna 2009). Získáno 15. 5. 2010. Archivováno z originálu 25. 4. 2012.
  5. 1 2 Ray tracing engine NVIDIA® OptiX™  . Oficiální web nVidia - podsekce vývojáři (19. ledna 2010 (poslední aktualizace)). — Hlavní stránka OptiX v podsekci vývojáři a její podrobný popis. Získáno 15. 5. 2010. Archivováno z originálu 25. 4. 2012.
  6. 1 2 Konstantin Chodakovskij. NVIDIA představila engine OptiX ray tracing engine . nVidia World (5. listopadu 2009). Získáno 15. 5. 2010. Archivováno z originálu 25. 4. 2012.
  7. 1 2 DrEvil. Praktický ray-tracing je druhá generace NVIDIA OptiX beta . nVidia World (22. ledna 2010). Získáno 15. 5. 2010. Archivováno z originálu 25. 4. 2012.
  8. 1 2 3 4 5 NVIDIA® OptiX™ ray tracing engine  Betas . Oficiální web nVidia - podsekce vývojáři (10. května 2010 (poslední aktualizace)). — Popis a systémové požadavky beta verze OptiX 2. Datum přístupu: 15. května 2010. Archivováno 25. dubna 2012.
  9. Blender 2.81 Benchmarks na 19 grafických kartách NVIDIA - RTX OptiX vykreslovací výkon je neuvěřitelný . phoronix.com (2019). Datum přístupu: 26. listopadu 2019. Archivováno z originálu 27. listopadu 2019.
  10. D-NOISE: Rychlé odstranění šumu AI pro Blender . Remington Creative (20. července 2019). Staženo 14. prosince 2019. Archivováno z originálu 14. prosince 2019.
  11. Adobe představuje OptiX v technologickém demu pro ray tracing pohyblivou grafiku s GPU . NVIDIA (2013). Získáno 14. srpna 2013. Archivováno z originálu 17. srpna 2011.
  12. Nvidia oznamuje Gameworks Program v Montrealu 2013; podporuje SteamOS . NVIDIA (2013). Datum přístupu: 29. října 2013. Archivováno z originálu 1. listopadu 2013.
  13. Změny GPU (pro CUDA a OpenGL) v After Effects CC (12.1) | Oblast zájmu After Effects . Získáno 22. února 2015. Archivováno z originálu 12. listopadu 2018.
  14. Seznam změn Daz Studio . DAZ 3D . Staženo 14. prosince 2019. Archivováno z originálu 13. prosince 2019.
  15. 1 2 Příklady ray tracing motoru NVIDIA® OptiX™  . Oficiální web nVidia - podsekce vývojáři (9. listopadu 2009 (poslední aktualizace)). - Seznam ukázek technologie OptiX. Získáno 15. 5. 2010. Archivováno z originálu 18. 6. 2012.
  16. 1 2 JeGX. Ukázky NVIDIA OptiX dostupné pro  Windows . Geeks3D.com (27. srpna 2009). Získáno 15. 5. 2010. Archivováno z originálu 25. 4. 2012.
  17. 1 2 Gleb Lebeděv. NVidia zveřejnila příklady, jak používat OptiX . GameDev.ru (21. září 2009). Získáno 15. května 2010. Archivováno z originálu 30. listopadu 2012.
  18. SIGGRAPH 2009 Art Papers – Umění v digitálním světě . Mir3D.ru (26. prosince 2008). Datum přístupu: 18. ledna 2010. Archivováno z originálu 24. března 2012.
  19. 12 Thilo Bayer. Nvidia Optix Ray Tracing engine: Nové ray tracingové obrázky Nvidia nedávno představila Optix Ray Tracing engine na Siggraph 2009. PC Games Hardware představuje některé další ray tracingové obrázky.  (anglicky) . Hardware PC her (7. srpna 2009). Získáno 15. 5. 2010. Archivováno z originálu 25. 4. 2012.
  20. Gleb Lebeděv. NVIDIA OptiX SDK je nyní k dispozici všem . GameDev.ru (5. listopadu 2009). Získáno 15. května 2010. Archivováno z originálu 30. listopadu 2012.
  21. OptiX ve veřejné doméně . UralDev (8. listopadu 2009). Získáno 15. 5. 2010. Archivováno z originálu 25. 4. 2012.
  22. DrEvil. Nová beta verze balíčku NVIDIA OptiX ray tracing . nVidia World (13. března 2010). Získáno 15. 5. 2010. Archivováno z originálu 25. 4. 2012.
  23. Jevgenij Davydov. NVIDIA představila nové Quadro GPU založené na architektuře Fermi . nVidia World (29. července 2010). Získáno 31. července 2010. Archivováno z originálu dne 25. dubna 2012.
  24. Jevgenij Davydov. Aplikační akcelerační motory optimalizované pro Fermi . nVidia World (29. července 2010). Získáno 31. července 2010. Archivováno z originálu dne 25. dubna 2012.
  25. Aplikační akcelerační motory NVIDIA . UralDev (28. července 2010). Získáno 22. srpna 2010. Archivováno z originálu dne 25. dubna 2012.
  26. ↑ OptiX : univerzální ray tracing engine  . Digitální knihovna ACM (červenec 2010). Staženo: 22. srpna 2010.
  27. Steven G. Parker, James Bigler, Andreas Dietrich, Heiko Friedrich, Jared Hoberock, David Luebke, David McAllister, Morgan McGuire, Keith Morley, Austin Robison, Martin Stich. OptiX: obecný nástroj pro sledování paprsku ( PDF). research.nvidia.com (srpen 2010). — Přímý odkaz na plnou verzi prezentace. Získáno 22. srpna 2010. Archivováno z originálu dne 25. dubna 2012.  

Odkazy