Intel har jobbat med Ray tracing väldigt länge (video från 2010):
https://www.youtube.com/watch?v=XVZDH15TRro
Bl.a Intel Larrabee (GPGPU) 2008
Intel Larrabee https://en.wikipedia.org/wiki/Larrabee_(microarchitecture)
https://www.youtube.com/watch?v=G-FKBMct21g
och
Intel Embree (Det flesta offline Ray trarcing renderings motorerna använder det):
https://embree.github.io/
(2011)
https://www.youtube.com/watch?v=su504HbsX8c
Samma sak med AMD (2008)
https://www.techpowerup.com/64104/radeon-hd4800-series-suppor...
https://www.youtube.com/watch?v=V0TyhQiY2pQ
Med tanke på DirectX Raytracing (DXR) och Nvidia RTX har lanserat nu så lär nog AMD och Intel inte komma långt efter med DXR accelerering skulle jag gissa på.
Personligen är jag ganska övertygad att det skulle gå att bygga en GPU som kör full path-tracing i realtime i dagslaget om man gjorde en hel dedikerad GPU för full hårdvara accelerering och skippade alla andra funktioner i GPU.n a.k.a bygga ett accelererings kort typ som gamla PhysX korten fast för path tracing. (fast tvivlar på att nån kommer göra det)
Håller själv på utvecklar min egna path-traceing renderings motor, med målet att så småningom kunna köra realtime (dock ganska långt kvar innan den är vid det stadiet)
Prototyp V1 gjorde jag helt i maxscript (6:52) för att testa om jag kunde göra mitt egna ray tracer, samt experimentera med programmera min egna dynamiska data struktur vilket skulle vara bra att ha om man vill kunna köra realtime.
https://youtu.be/9Znz5qtZVbM?t=412
Prototyp V2 har jag gjort helt från grunden med C# använder inga "code libraries" är en full CPU pathtracer som stöder multithreading (nuvarande version)
#1 (Vray övre vs min nedre)
http://www.patan77.com/screenshot/render_vray_vs_my_05.png
Vray är i dags läget ca 10x snabbare men lär vara liknande prestanda efter jag har optimerat min, fast fokusera just nu på utveckla funktioner, dock så hanterar redan min nuvarande version smooth normals av lowpoly objekt bättre än vray (#9) som har artefakter, sen andra skillnader är att min kan ha obegränsat antal och komplexa ljus källor utan att det påverkar renderings tiden (#7) och är obegränsat progressivt "path depth" för Global Ilumination (GI), Reflections, Refractions, Caustics, exempel: (#8) en ljus "boll" i ett rum där alla väggar/golv/tak är speglar så kan reflektionerna studsa oändligt många gånger.
#2 (Visualisering av raytracing accelererings data struktur i mitten. )
http://www.patan77.com/screenshot/render_spheresAbs02.png
#3(Komplex poly objekt )
http://www.patan77.com/screenshot/render_water_t05.png
#4 (Refractive absorption)
http://www.patan77.com/screenshot/render_reffractiveColor01.png
#5 (Blandat)
http://www.patan77.com/screenshot/render_glassSpheres.png
#6 (Caustics)
http://www.patan77.com/screenshot/render_noiseSphereDepth32.png
#7 (Många komplexa ljus källor)
http://www.patan77.com/screenshot/render18.PNG
#8 ("Spegel Rum" oändligt antal reflektioner )
http://www.patan77.com/screenshot/infMirrorRoom04.png
#9 (Smooth normals av lowpoly vray vs min som inte har det, noise p.g.a att jag inte renderade färdigt bilden)
http://www.patan77.com/screenshot/vrayVSmySmooth.png
Prototyp V3 planerar jag att programmera på GPUn, har börjat med programmera en GPU partikel fysik motor för att lära mig mer GPU programmering innan jag försöker med nått mer avancerat som en path tracing rendering motor.
https://www.youtube.com/watch?v=6ZMADUJylvk
Just nu håller jag på att experimenterar med utveckla en helt ny typ av grundläggande grafik teknologi där jag beskriver/definierar 3D objekt som en 3D volym istället för en yta med trianglar och vertices, eftersom en yta är 2D och är egentligen bara en proxy av riktiga fysiska objekt som är i verkligheten en volym, och p.g.a den förenklingen så finns det vissa begränsningar och problem när man försöker göra en renderings motor som simulerar hur ljus interagerar med material och objekt på ett fysiskt korrekt sätt och moderna "offline" renderings motorer är vid det stadiet att där det börjar bli svårt att förbättra dom och göra dom mer realistiska just p.g.a av begränsningarna som man har när man beskriver 3D objekt med trianglar, så med min volymetriska grafik teknologi som jag ska föröka implementera i min egna renderings motor ska den förhoppningsvis kunna fixa all dom problemen och kunna skapa mer fysiskt korrekta och realistiska bilder, är dock i väldigt tidigt stadiet av utvecklingen med den teknologin men ser lovande ut, och om jag är optimistisk ser det ut att på "pappret" att kunna rendera mycket snabbare än traditionella path tracers baserat på trianglar, för att den använder en helt annorlunda data struktur och räknar ut "ray intersections" på ett annorlunda sätt med, men för tidigt att säga ännu hur pass bra det kommer att fungera.
Här är en tidig test renderingen av normals där jag definierar två bollar som som en volym istället för med trianglar, nästa steg testa definierar nått mer komplex objekt.
http://www.patan77.com/screenshot/render_nt05.png