OptiX

Den aktuella versionen av sidan har ännu inte granskats av erfarna bidragsgivare och kan skilja sig väsentligt från versionen som granskades den 7 februari 2018; kontroller kräver 14 redigeringar .
OptiX

Officiell OptiX-logotyp
Sorts Grafikmotor
Utvecklaren nVidia
Annonsdatum 6 augusti 2009
Utgivningsdatum 5 november 2009
Hårdvaruplattform IBM PC-kompatibel dator med vissa grafikkort
OS som stöds Microsoft Windows , Linux , macOS
Skrivet på språk C++ och C
Licens proprietär , användning och licensiering av motorn gratis ( gratisprogram )
senaste versionen 7.0.0 / 30 juli 2019
developer.nvidia.com/opt...

OptiX ( nVidia OptiX ) är en ray tracing -grafikmotor som använder nVidias CUDA -teknologi . Strålspårning kan användas som en metod för att analysera och undersöka geometriska system genom att beräkna utbredningen av vågor eller partiklar.


Beskrivning

Allmän beskrivning

nVIDIA OptiX-motorn är en del av en uppsättning moduler för utvecklare, som förutom OptiX inkluderar andra moduler som SceniX och CompleX . Alla är integrerade i tredjepartsapplikationer [1] [2] .

nVidia OptiX är ett mjukvaruverktyg som implementerar rendering av strålspårning i realtid med hjälp av nVidia GPU :er .  OptiX använder CUDA -teknik för att utföra beräkningar på GPU:er. Även om huvudfunktionen hos OptiX är ray tracing-rendering, stöds även klassisk rastrering . Så OptiX är en hybridrenderare. Även om OptiX är en grafikmotor, kan den användas för icke-grafisk beräkning. Omfattningen av OptiX är alla beräkningsintensiva uppgifter som ray tracing kan tillämpas på (här betyder "ray tracing" inte ray tracing i relation till datorgrafik, utan ray tracing som en metod för att analysera och studera geometriska system genom att beräkna utbredningen av vågor eller partiklar, se ] 4[[3])fysik(Strålspårning 

OptiX tillhandahåller en programmerbar ray tracing pipeline som använder programmeringsspråket C [2] , med restriktioner för det. OptiX positioneras av utvecklare som en mycket flexibel motor som kan konfigureras i detalj och anpassas till specifika uppgifter. OptiX-användare - applikationsutvecklare - kan påskynda de strålspårningsuppgifter de behöver. Flexibiliteten hos OptiX börjar i abstraktionen av utförande och slutar med individuella strålar, vilket avsevärt förenklar beräkningar för en stråle per tidsenhet. Datan som strålen bär och samlar in är helt anpassningsbar. Datan som matas till OptiX är också programmerbar, vilket möjliggör programmerbara shaders för nya tekniker, programmerbara skärningspunkter för processuella yttyper och programmerbara virtuella kameror för sammansättningspotential [5] .

OptiX innehåller sådana kritiska funktioner som parallellism (både inom GPU och mellan GPU och CPU ), användningen av datastrukturer som k-dimensionella träd och den avgränsande volymhierarkin ,  såväl som olika bypass-algoritmer. GPU-användningen styrs genom OptiX:s inbyggda lastbalanseringsmodul. Eftersom OptiX är en hybridrenderare ger den stöd för grafik- API :er som OpenGL , vilket gör att du kan kombinera strålspårning och rastrerade renderingstekniker för ökad flexibilitet [5] [6] .

Systemkrav

OptiX version 1 kräver professionella grafikkort från nVidia Quadro FX eller nVidia Tesla familjen . OptiX version 2 har stöd för nVidia Fermi-arkitekturen , så den kan köras på grafikkort som har GF100 GPU installerad. Dessutom stöds inte bara professionella grafikkort, utan även anpassade GeForce-modeller, såsom GeForce 480 och GeForce 470. En annan innovation av OptiX 2 är stöd för anpassade GeForce 200-serien (GT200) grafikkort . Men när du använder GT200-serien krävs en GeForce GTX 260 eller högre [7] [8] .

Den kompletta listan över grafikprocessorer som stöds av OptiX 2 [8] -motorn :

Förutom grafikkort med vissa GPU:er krävs en x86 -kompatibel CPU [8] .

OptiX kräver version v.190 av NVIDIA Unified Graphics Driver eller senare. GT200 kräver CUDA Toolkit 2.3 eller senare och GF100 kräver CUDA Toolkit 3.0 eller senare. En C/C++-kompilator krävs också: för Microsoft Windows  , Visual Studio 2005 eller Visual Studio 2008, och för Linux  , gcc 4.2 eller 4.3. Dessutom krävs ett plattformsoberoende system för automatisering av mjukvarubyggen från CMake källkodsversion 2.6.3 eller senare [8] .

OptiX-motorn stöder både 32-bitars och 64-bitars operativsystem [8] :

Integrerad i programvaran

Användning och exempel

OptiX kan användas i en mängd olika applikationer: fotorealistisk modellbyggnad, bildesign, design av musikinstrument och optiska system, kapacitans- och strålningsstudier, kollisionsanalys och allt annat där en strålspårningsalgoritm kan användas . OptiX kan användas i applikationer som använder SceniX -scenmotorn , såsom RTT DeltaGen , Autodesk Showcase och Anark Media Studio [3] [4] .

nVidia publicerade på sin officiella hemsida ett antal exempel som visar hur OptiX fungerar" [15] [16] [17] :

Historik

OptiX tillkännagavs första gången den 6 augusti vid den internationella årliga konferensen SIGGRAPH 2009, som ägde rum från den 3 till och med den 7 augusti i New Orleans [18] . På SIGGRAPH 2009 tillkännagavs namnet på motorn, dess huvudsakliga funktionalitet, fokus på vissa uppgifter, huvudfunktioner etc. Jeff Brown, general manager för nVidias division för professionella lösningar, kommenterade tillkännagivandet av OptiX: "Datorvärlden har gått från att endast använda processorn till balanserad sambehandling på CPU och GPU. nVidias applikationsaccelerationsmotorer utrustar utvecklare med de verktyg de behöver för att ytterligare revolutionera både realtidsgrafik och komplex dataanalys." Jon Peddie , grundare och ordförande för tankesmedjan Jon Peddie Research , uttalade vid tidpunkten för tillkännagivandet att "på ett år har nVidia kunnat gå från att säga att interaktiv strålspårningsvisualisering är möjlig till att göra det möjligt för alla" [4] [19] .

Innan detta tillkännagivande av OptiX kallades Nvidias programvara för strålspårning i realtid NVIRT (Nvidia Interactive Raytracer) [19] .

Förutom OptiX tillkännagavs SceniX , CompleX och 64-bitarsversionen av PhysX på SIGGRAPH 2009 . Det uppgavs att OptiX skulle vara tillgänglig hösten 2009 och köras på nVidia Quadro [2] [4] professionella grafikkort (videokort) .

I slutet av augusti 2009 publicerade nVidia exempel på användningen av OptiX-motorn på sin webbplats. Tre exempel har publicerats: Whitted (demonstration av refraktioner, reflektioner och genomskinliga objekt), Cook (demonstration av Depth Of Field och Motion Blur ) och Julia (procedurobjekt och beräkning av omgivande ocklusion ) [15] [16] [17] .

Den 5 november 2009, som utlovat på SIGGRAPH 2009, släppte nVidia OptiX. OptiX har släppts för allmänheten som OptiX SDK . Tillsammans med lanseringen tillkännagavs motorn att köras på Quadro FX- och nVidia Tesla -serien av professionella grafikkort , såväl som GeForce 200 [6] [20] [21] anpassade grafikkortserier .

Den 22 januari 2010 släppte nVidia den första betaversionen av OptiX 2, vars huvudfunktion är dess bearbetning för nVidia Fermi GPU- arkitekturen . Även i denna version kan motorn fungera inte bara på professionella Quadro- och Tesla-videokort, utan även på anpassade GeForce -grafikkort [7] .

Den 13 mars 2010 släpptes den tredje betaversionen av OptiX 2, som lade till preliminärt stöd för de första Fermi-baserade grafikkorten och interaktion på textur- och buffertnivå med Direct3D [22] .

Den 29 juli 2010 introducerade nVidia nya professionella GPU:er och grafikkort från Quadro -serien baserade på Fermi -arkitekturen . En funktion hos dessa grafikkort är utökat stöd för applikationsaccelerationsmotorer ( Application Acceleration Engine - AX ), varav en är OptiX .  Det konstaterades att Quadro 6000 GPU kommer att öka prestandan i AX upp till fem gånger jämfört med den tidigare generationens modeller av denna linje. "Quadro har varit det bästa valet av proffs över hela världen i över ett decennium. Vi har också byggt motorer som AX för att driva nästa generations applikationsutveckling, säger Jeff Brown, chef för professionella lösningar på nVidia, om tillkännagivandet [ 23 ] . Samma dag, som en del av SIGGRAPH 2010, tillkännagavs lanseringen av nya versioner av applikationsaccelerationsmotorer. En stabil version av OptiX 2 släpptes, som, jämfört med tidigare, optimerades för att köras på nya Quadro GPU: er, och fick även Direct3D- stöd och möjligheten att snabbt arbeta i Direct3D och OpenGL för flexibel kompositering och hybridrendering [24] [ 25] . På SIGGRAPH 2010 höll nVidia-anställda dessutom en presentation "OptiX: A General Purpose Ray Tracing Engine" som en del av sessionen "GPU-rendering" [26] [27] .  

Anteckningar

  1. NVIDIA®-motorer accelererar applikationer . Officiell webbplats för nVidia (rysk version av webbplatsen). - Beskrivning av motorer som accelererar applikationer och en lista över dem. Hämtad 15 maj 2010. Arkiverad från originalet 25 april 2012.
  2. 1 2 3 Sergey och Marina Bondarenko. SIGGRAPH 2009: NVIDIA OptiX interaktivt strålspårningssystem . 3DNews (6 augusti 2009). Hämtad 15 maj 2010. Arkiverad från originalet 18 augusti 2010.
  3. 1 2 OptiX Application Acceleration Engine Interaktiv strålspårning på NVIDIA Quadros professionella grafiklösningar . Officiell webbplats för nVidia (rysk version av webbplatsen). — Huvudsida för OptiX och dess korta beskrivning. Hämtad 15 maj 2010. Arkiverad från originalet 25 april 2012.
  4. 1 2 3 4 Vyacheslav Kolomin. NVIDIA introducerade en renderingsmotor för strålspårning . nVidia World (6 augusti 2009). Hämtad 15 maj 2010. Arkiverad från originalet 25 april 2012.
  5. 1 2 NVIDIA® OptiX ™ strålspårningsmotor  . Officiell nVidia- webbplats - utvecklare undersektion (19 januari 2010 (senast uppdaterad)). — Huvudsidan för OptiX i undersektionen för utvecklare och dess detaljerade beskrivning. Hämtad 15 maj 2010. Arkiverad från originalet 25 april 2012.
  6. 1 2 Konstantin Khodakovsky. NVIDIA introducerade OptiX-strålspårningsmotorn . nVidia World (5 november 2009). Hämtad 15 maj 2010. Arkiverad från originalet 25 april 2012.
  7. 1 2 DrEvil. Praktisk ray-tracing är en andra generationens NVIDIA OptiX beta . nVidia World (22 januari 2010). Hämtad 15 maj 2010. Arkiverad från originalet 25 april 2012.
  8. 1 2 3 4 5 NVIDIA® OptiX™ strålspårningsmotor  Betas . Officiell nVidia- webbplats - utvecklare undersektion (10 maj 2010 (senaste uppdatering)). — Beskrivning och systemkrav för betaversionen av OptiX 2. Åtkomstdatum : 15 maj 2010. Arkiverad 25 april 2012.
  9. Blender 2.81-riktmärken på 19 NVIDIA-grafikkort - RTX OptiX-renderingsprestanda är otrolig . phoronix.com (2019). Datum för åtkomst: 26 november 2019. Arkiverad från originalet den 27 november 2019.
  10. D-NOISE: Rapid AI Denoising för Blender . Remington Creative (20 juli 2019). Hämtad 14 december 2019. Arkiverad från originalet 14 december 2019.
  11. Adobe visar upp OptiX i en teknikdemo för ray tracing rörlig grafik med GPU:er . NVIDIA (2013). Hämtad 14 augusti 2013. Arkiverad från originalet 17 augusti 2011.
  12. Nvidia tillkännager Gameworks-programmet i Montreal 2013; stöder SteamOS . NVIDIA (2013). Datum för åtkomst: 29 oktober 2013. Arkiverad från originalet 1 november 2013.
  13. GPU-ändringar (för CUDA och OpenGL) i After Effects CC (12.1) | After Effects-region av intresse . Hämtad 22 februari 2015. Arkiverad från originalet 12 november 2018.
  14. Daz Studio Changelog . DAZ 3D . Hämtad 14 december 2019. Arkiverad från originalet 13 december 2019.
  15. 1 2 Exempel på NVIDIA® OptiX ™ strålspårningsmotor  . Officiell nVidia- webbplats - utvecklare undersektion (9 november 2009 (senaste uppdatering)). - Lista över OptiX-teknikdemos. Hämtad 15 maj 2010. Arkiverad från originalet 18 juni 2012.
  16. 1 2 JeGX. NVIDIA OptiX Demos tillgängliga för  Windows . Geeks3D.com (27 augusti 2009). Hämtad 15 maj 2010. Arkiverad från originalet 25 april 2012.
  17. 1 2 Gleb Lebedev. NVidia har lagt upp exempel på hur man använder OptiX . GameDev.ru (21 september 2009). Hämtad 15 maj 2010. Arkiverad från originalet 30 november 2012.
  18. SIGGRAPH 2009 Art Papers - Konst i den digitala världen . Mir3D.ru (26 december 2008). Datum för åtkomst: 18 januari 2010. Arkiverad från originalet den 24 mars 2012.
  19. 12 Thilo Bayer. Nvidia Optix Ray Tracing-motor: Nya strålspårade bilder Nyligen har Nvidia introducerat Optix Ray Tracing-motorn vid Siggraph 2009. PC Games Hardware presenterar några fler av de strålspårade bilderna.  (engelska) . Hårdvara för PC-spel (7 augusti 2009). Hämtad 15 maj 2010. Arkiverad från originalet 25 april 2012.
  20. Gleb Lebedev. NVIDIA OptiX SDK är nu tillgängligt för alla . GameDev.ru (5 november 2009). Hämtad 15 maj 2010. Arkiverad från originalet 30 november 2012.
  21. OptiX i det offentliga området . UralDev (8 november 2009). Hämtad 15 maj 2010. Arkiverad från originalet 25 april 2012.
  22. DrEvil. Ny betaversion av NVIDIA OptiX ray tracing-paket . nVidia World (13 mars 2010). Hämtad 15 maj 2010. Arkiverad från originalet 25 april 2012.
  23. Evgeny Davydov. NVIDIA har introducerat nya Quadro GPU:er baserade på Fermi-arkitekturen . nVidia World (29 juli 2010). Hämtad 31 juli 2010. Arkiverad från originalet 25 april 2012.
  24. Evgeny Davydov. Applikationsaccelerationsmotorer optimerade för Fermi . nVidia World (29 juli 2010). Hämtad 31 juli 2010. Arkiverad från originalet 25 april 2012.
  25. NVIDIA-applikationsaccelerationsmotorer . UralDev (28 juli 2010). Hämtad 22 augusti 2010. Arkiverad från originalet 25 april 2012.
  26. ↑ OptiX : en allmän strålspårningsmotor  . ACM Digital Library (juli 2010). Hämtad: 22 augusti 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: en allmän strålspårningsmotor ( PDF). research.nvidia.com (augusti 2010). — Direktlänk till den fullständiga versionen av presentationen. Hämtad 22 augusti 2010. Arkiverad från originalet 25 april 2012.  

Länkar