OptiX | |
---|---|
| |
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.
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] .
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] :
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] :
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] .
Nvidia | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
GPU:er ( jämförelse ) _ |
| ||||||||||
Moderkortschipset ( jämförelse ) _ _ |
| ||||||||||
Övrig |
|