Hoofdcategorieën

Nvidia demonstreert realtime raytracing op de gpu

Door Pieter Molenaar, maandag 18 augustus 2008 11:28
Submitter: Spooof, views: 21.984

Nvidia heeft op de Siggraph 2008-conferentie in Los Angeles een realtime raytrace-applicatie gedemonstreerd die geheel draait op een gpu-systeem, bestaande uit een Quadro Plex 2100 D4 VCS.

Nvidia Quadro Plex 2100 D4De gpu-fabrikant toonde een volledig interactieve raytrace-rendering van een complex 3d-model van twee miljoen polygonen, van een Bugatti Veyron-sportwagen. Het Quadro Plex 2100 D4-systeem, bestaande uit een externe behuizing met daarin twee Quadro 4700 X2-kaarten met elk twee gpu's en 1GB-geheugen, wist de auto en zijn omgeving in een resolutie van 1920 bij 1080 pixels weer te geven met dertig beelden per seconden. Nvidia demonstreerde de realtime raytracer ook op een resolutie van 2560 bij 1600 pixels, maar daarbij werd de framerate niet vermeld.

Raytracing werkt volgens een ander principe dan de rasterisation-techniek die onder meer gebruikt wordt in games. Bij raytracing wordt het beeld opgebouwd door vanuit elk beeldpunt een lichtstraal de virtuele 3d-wereld in te schieten en de baan ervan te volgen, rekening houdend met lichtweerkaatsing en -reflecties van 3d-objecten, en lichtbronnen. Op deze manier kan nauwkeurig de kleur worden bepaald van elk beeldpunt en het is mogelijk zeer realistische 3d-scènes neer te zetten. Nvidia heeft zich bij zijn demonstratie beperkt tot drie weerkaatsingen per lichtstraal.

Het nadeel van raytracing is dat het erg veel rekenkracht kost om het voor realtime-toepassingen, zoals games, in te zetten, maar zowel Nvidia als AMD zijn het erover eens dat raytracing de toekomst is voor 3d-games. In juli dit jaar heeft AMD zijn raytrace-vorderingen gedemonstreerd. Ook Intel heeft verklaard dat raytracing de volgende stap in realtime computergraphics zal gaan worden en mogelijk zal een high-end-versie van Intels Larrabee-gpu realtime raytracing ondersteunen. Het voordeel van raytracing boven traditionele 3d-renderingstechnieken is de lineaire schaling van de rekenkracht bij het verhogen van de resolutie, omdat schaduwen, reflecties, en andere grafische effecten geen extra rekenkracht kosten.

Nvidia Siggraph 2008 raytracing Nvidia Siggraph 2008 raytracing

Volgende 12:16
Vorige 11:02

Reacties

«  1  2  3  »

Dit is wel gaaf, raytracing heeft potentie om mooier te zijn dan de huidige techniek, alleen ziet de demo er nog niet zo spetterend uit, het is wel heel scherp, maar ik mis toch wat.

Ik had graag toch wel wat meer detail gezien. Vooral de laatste foto, de grijze balk van onder vind ik echt niet scherp...en dat voor dé technologie van de toekomst ...

Het detail lijkt inderdaad heel erg raar, er is geen enkel effect te zien. Volgens mij is dit ook vooral een schaduw en reflectie test, iets dat met een beetje mist vast onmogelijk veel complexer was geweest.

Kijk maar op http//www.photonstudios.nl
de eerste game volledig geraytraced, realtime op de cpu.
met behulp van de arauna realtime raytracing engine

in de nieuwe versie zit ook fog, realistisch water soft shadows normal maps
en verdere realistiesch effecten

(tip als je geen quadcore hebt zet dan AA uit)

http://www.photonstudios.nl/ ;) (niet lullig bedoelt, maar : vergeten)

[Reactie gewijzigd door ReneDx]


Hierbij een versie die in photoshop is bewerkt. Hiermee probeer ik enige shader effecten na te bootsen, dit zou een beter beeld kunnen geven over de uiteindelijke graphics in de toekomst.

http://www.michielkrol.nl/tweakers/car1.jpg

nice hoe heb je dat gedaan?
soort blur filter?

In de demo zijn de textures niet gedetaileerd genoeg om het er 'Crysis' uit te laten zien.
Deze demo kost btw wel ontzettend veel rekenkracht, vandaar ook dat nVidia ermee patst :P

Mooie techniek, uiteraard gewoon het nadoen van hoe het er in de echte wereld ongeveer aan toe gaat. nu nog wat meer rekenkracht, en rond DX13 ziet het er toppie uit :)

Raytracing is denkelijk langer in de omloop rastrerization echter zoals boven vermeld word heb je er enorm veel GPU/CPU kracht voor nodig. Wat je mist vermoed is de color blending. Indien je een mooie render wilt maken dien je naast de lichtinval ook rekening te houden met de overdracht van kleuren, iets wat zeker mogelijk is echter dat zal zelfs zo´n systeem realtime niet trekken.
Het voordeel van raytracing boven traditionele 3d-renderingstechnieken is de lineaire schaling van de rekenkracht bij het verhogen van de resolutie, omdat schaduwen, reflecties, en andere grafische effecten geen extra rekenkracht kosten. Volgens mij is dit niet geheel correct onderandere het bovengenoemde effect verbruikt zeker extra rekenkracht. Toch is het wel interessant hoe snel de techniek zich ontwikkeld. Ik kan me nog herinneren 5 jaar geleden een glazen object te renderen wel in nurbs ipv polygonen van deze resolutie en dat duurde met meerdere systemen letterlijk dagen. Nu zegt het an sich weinig aangezien ik weinig kan opmaken van de instellingen maar toch kan ik me goed voorstellen dat we over 5 jaar dit allemaal realtime kunnen.

Precies, en wat dacht je van effecten als in Assassin's Creed met stofdeeltjes die door de lucht zweven. Als je dat laat raytracen ben je eeuwen bezig, het zal in de toekomst vast wel kunnen wellicht en dan erg tof zijn om te zien, maar ik zie het niet binnen 10-15 jaar op m'n desk staan.

Dat is nu juist het voordeel van ray tracing: het aantal objecten in je beeld maakt niet uit voor de benodigde rekenkracht.

Of er nou 10.000 lichtstralen van een lichtbron op een grote muur vallen en worden worden gereflecteerd naar je scherm, of dezelfde 10.000 lichtstralen van dezelfde lichtbron via 10.000 stofdeeltjes worden weerkaatst, in beide gevallen moet je 10.000 lichtstralen berekenen van lichtbron tot display.
(of eigelijk, van display terug naar de lichtbron - raytracing gebruikt het optisch omkeerprincipe want je wil geen rekenkracht verspillen aan stralen die buiten je display uitkomen).

De uitzondering op deze stelling zijn doorzichtige objecten, want door gedeeltelijke transparantie valt 1 straal in 3 delen uiteen (absorptie, reflectie en transparantie). Van deze 3 moeten er 2 verder worden getraced (de geabsorbeerde component stopt bij het object).

Maar, hoe meer objecten er in de wereld zijn, met hoe meer objecten je collisions moet berekenen. En dat is nu net wat er complex aan is.

Nou niet helemaal hoor. Al die stralen die vanuit je scherm getraced worden moeten uiteindelijk ergens stoppen(even makkelijk gezegd). Of er nou 10 objecten zijn waar ze tegen stoppen of 10.000, het blijven de zelfde hoeveelheid stralen. Alleen als er veel objecten zijn die zoals t_captain beschreef stralen weer door sturen(of zelfs opbreken in meerdere stralen) dan kost het meer rekenkracht. Als de stralen gewoon stoppen maakt het niets uit.

Ook je complexiteit argument gaat niet op. Het is ten eerste veel simpeler dan de manier waarop dit bij rasterization gebeurt en ten tweede hoeft de programmeur hier niets voor te doen. Het is dus juist veel makkelijker voor hem. Het enige wat hij moet doen is de juiste data-invoer verzorgen en de raytracer doet al het werk.

[Reactie gewijzigd door hollandismad]


Maar als je nu objecten hebt die (gedeeltelijk) transparant zijn, dan moet je per straal meerdere botsingen berekenen. Volgens mij komt er allemaal veel meer bij kijken als je het goed doet, elk object een bepaalde mate van weerkaatsing en absorptie heeft, bij objecten die veel licht reflecteren en weinig absorberen kan een lichtstraal van object naar object naar object enzovoorts tientallen keren worden weerkaatst. Je maak mij niet wijs dat dat evenveel rekenkracht kost als een lichtstraal die tegen een matzwart object botst en dus volledig geabsorbeerd zal worden.

Misschien een onwaarschijnlijk scenario voor in een game, maar stel eens een groot feest voor of een bruiloft, en daar staat een apparaat dat allemaal glittertroep de lucht in blaast. Dat dwarrelt alle kanten op met alle turbulente luchtstromen die er ontstaan, en als je dan gaat raytracen kan een lichtstraal tientallen keren worden weerkaatst.

Voor veel vormen van stof gaat dit in mindere mate op omdat daar de absorptie veel groter is, maar mist kan bijvoorbeeld ook heel complex zijn.

Maar dat is toch ook precies wat ik hierboven zei?

Hoe vaker stralen worden doorgestuurd en opgebroken in meerdere stralen hoe meer rekenkracht er nodig is. Als er echter meer objecten in het scenario worden geplaatst die dit niet doen heeft dit geen effect.(Of een positief effect als hierdoor bijvoorbeeld een reflecterend object afgeschermd wordt.)

Je scenario vraagt om veel reflectie, maar is inderdaad niet echt realistisch voor een game. Denk je nu eens in hoeveel objecten en textures er bijvoorbeeld in Call of Duty 4 reflecteren, doorzichtig zijn, etc. Op een paar spiegels na(weet niet eens zeker of deze er wel in zaten) is er enkel glas(dat overigens niet reflecteert). De rede waarom dit niet wordt gedaan is omdat het erg moeilijk is om reflecties te maken met rasterization.

Als larrabee volgend jaar dus niet krachtig genoeg blijkt om veel glas en metalen real-time te laten reflecteren zal je dus niet veel missen. Dat het real-time raytracen van veel reflecterende en doorzichtige objecten misschien teveel rekenkracht vergt is dus nog niet echt een tegenargument.

Ik hoop echt dat Intel een klein raytracing wonderkind op de wereld gaat zetten volgend jaar en de ontwikkelaars ervan kan overtuigen dat dit toch echt geen toekomstmuziek meer is. *keeps his fingers crossed*

Reflecterende objecten worden niet omdat het moeilijk is niet veel gebruikt in games maar omdat ze teveel tijd kosten. Het is helemaal niet zo moeilijk om met de huidige techniek een reflecterend object te creeren, echter omdan ook nog een stabiele frame rate te garanderen is iets anders.
Je moet namelijk voor ieder reflecterende object de wereld opnieuw renderen van uit het punt waar dit object zich bevindt, en dit opslaan in een texture. Daarna moet je die texture over het object heen plakken en klaar. Echter als het object van meerdere kant gezien kan worden moet je cube mapping toepassen, en dit zorgt op zijn beurt weer voor 5 extra passes.
Doorzichtige objecten zijn met de huidige technologie helemaal geen probleem hier gebruiken we gewoon een alpha value voor. Echter omdeze weer ook enig sinds reflecterent te maken zit je met het voor gaande verhaal en weer een pas.
Zoals je al merkt loopt op deze manier het aantal passes voor een scene snel omhoog. Hier komt dan nog alle leuke shader effecten die je doet en opeens zit je ver over 1/25 van een seconde heen om een frame te renderen.

Ik wilde alleen even het feit laten zien dat reflecterende objecten tegenwoordig worden vermeden omdat het teveel tijd kost en niet omdat het te moeilijk is.

Ok, dat klinkt inderdaad logisch I stand corrected. Maar dan pakken we er de echte wereld bij, komt het eigenlijk niet erg veel voor dat stralen daar worden opgebroken? Reflecties zullen lang niet altijd volledige terugkaatsingen zijn en deels worden geabsorbeerd en gebroken, anders zou alles uit perfect spiegelmateriaal bestaan.

Correct, maar dat is de keuze van de ontwikkelaar of hij hierbij wilt rekening houden. Maakt hij een gebouw dat van de binnenkant ook te bezichtigen is, dan kan het zijn dat hierbij rekening gehouden wordt. Mijn punt is dat bij games en elke andere vorm van kunst nooit de exacte werkelijkheid wordt bereikt. Maar indien de ontwikkelaar een raam wil maken dat niet alle reflecties absorbeert lijkt mij dat geen probleem.

Nog nooit iets in een 3d pakketje gerendered zeker.
meer objecten meer rekentijd.
echt een beetje mooie effecten zoals area schaduw
of global illumunation (ook wel radiosity)
volume lighting (met losse photonen)
dat gaat echt enorm veel tijd kosten

ik heb het zelf ook gemerkt. Simpele gedachten je maakt een muur met stenen. Met bumpmapping lukt dat best goed maar ik wou graag losse stenen. dus 300 losse stenen gemaakt(copy paste) textuur erop neerzetten en kon al bijna niet meer de editor gebruiken. Renderen was al onmogelijk als je aantal effecten aanzette. Tenminste ik wou niet dagen wachten.

[Reactie gewijzigd door MrSpacely]


Stofdeeltjes, als je ze naïef tracet, kosten wel degelijk veel rekenkracht -- niet zozeer omdat het er *veel* zouden zijn, maar omdat ze licht diffuus weerkaatsen (en omdat het er veel zijn :) ). Je kunt niet alle lichtstralen laten verdwijnen als ze een stofdeeltje raken, dan zouden het zwarte puntjes worden. Daarom is raytracing ook zo sterk met spiegelende of semitransparante oppervlakken: hoek van het licht aanpassen en klaar. Diffuse oppervlakken (waarbij stralen willekeurig verstrooid moeten worden) zijn vervelender. Helemaal als je dit combineert met radiosity (het verschijnsel dat objecten gekleurd licht weerkaatsen van nabije objecten, iets dat met individuele stralen lastig goed te benaderen is).

Voorlopig zijn hybride oplossingen realistischer -- net zoals renderers allerlei truuks toepassen om schaduwen goed te krijgen passen raytracers truuks toe om de echt lastige zaken (zoals radiosity en mist) sneller te benaderen. Of omgekeerd, natuurlijk -- hou renderers aan maar laat de schaduwen en de highlights over aan de raytracer, met natuurlijk wat slimmigheid om de resultaten goed te combineren.

Ik denk dat je gelijk hebt, raytracing is wel is waar een mooie belofte en natuurlijk hebben Intel, Nvidia en AMD helemaal gelijk raytracing zal uit eindelijk de toekomst van 3D graphics worden, maar om rasterisation te vervangen zijn we nog wel een paar jaar bezig.

Over 5 jaar is het waarschijnlijk dat de gemiddelde PC zo'n truckje als Nvidia nu heeft getoont gewoon kan doen zonder dat men er echt over na denkt.

Maar als je rasterisation wilt vervangen dan zul je nog wel een boel meer moeten doen, veel van de effecten die nu met rasterisation mogenlijk zijn betekkenen heel veel extra rekenkracht voor raytracing. Dingen zo als clouds/fog en andere effecten waar veel particles bij komen kijken die allemaal licht zouden kunnen weerkaatsen zijn erg zwaar voor raytracing.
Daarnaast zullen zowel Nvidia als AMD en Intel niet stil zitten op het rasterisation gebied en steeds meer en meer uit hun stukje silicon weten te persen.

Omdat raytracing niet alles is. Dit voorbeeld heeft veel en heldere reflecties om raytracing goed te laten zien, maar met minder zou het ook kunnen. En dit doet ook nog iets af aan de kwaliteit:
Nvidia heeft zich bij zijn demonstratie beperkt tot drie weerkaatsingen per lichtstraal.

deze demo is vooral gemaakt om de reflexie in de auto en de ramen te laten zien, verder zit er natuurlijk nog niet genoeg detail in (zowel textures als poly's) om het foto realistiche te maken.
bewegend ziet het er een stuk beter uit volgens mij.

wel grapig dat intel heel hoog van de toren blaast over raytracing met larrabee, maar dat ondertussen zowel nvidia als AMD al hebben laten zien dat het real time kan. over 2 generaties nvidia/amd videokaarten als larrabee eindelijk uit gaat komen zit de kracht al lang in een normale GPU.

[Reactie gewijzigd door Countess]


dat betwijfel ik, op een core 2 quad haalt een goede realtime raytracer al best veel fps
terwijl performance lager ligt. de efficiency ligt gewoon veel hoger.
larrabee belooft even veel kracht als een gpu, maar met de efficiency van een cpu.
het kan daadwerkelijk erg interessant zijn.

Dit is nu net het probleem bij veel van dit soort demos...

Als er een ding is waar ray tracing goed in is, dan is het wel reflecties. En dus, elke demo die ze laten zien is ofwel van bollen van chroom of auto's... :z

De beelden zien er ook altijd te "clean" uit. Vaak omdat er geen sprake is van echte GI technieken en zachte fenomenen met slechts 1 sample worden gesimuleerd, waardoor je dingen als harde schaduwen en aliasing krijgt. Dit laatste kan je oplossen met distributed ray tracing (wil niet zeggen gespreid over meerdere HW eenheden maar meer stralen per pixel bv), maar dat betekent natuurlijk NOG meer rekenwerk.

De recente aankondigingen van Intel en NVIDIA enz zijn allemaal wel heel interessant, maar het valt nog te bezien wat er van komt. :| Sommigen dromen al hardop "over 5 jaar real time ray tracing"... Zo een vaart zal het spijtig genoeg niet lopen. Het zal een stuk langer duren eer dat ray tracing betere resultaten geeft op een snellere manier. Om maar te zwijgen over het feit dat de ganse industrie met rasterisation engines werkt, waar VEEL tijd en geld inzit. Hoewel het grootste probleem mensen zullen zijn denk ik. :*)

Natuurlijk is ray tracing (of beter gezegd physically based rendering) wel de toekomst, maar dat zal een grote verandering in werkwijze betekenen op vele niveau's. Er zullen ongetwijfeld hybride technieken moeten worden gebruikt.

Ken eigenlijk geen enkel GI algoritme dat echt geschikt is voor games. Er zijn er die snel werken, zoals Radiosity/photon map/instant radiosity voor een statische scene, maar zodra er beweging (animatie) in het spel komt kan je het wel schudden.

In een andere klasse heb je de ray tracing algoritmes (Monte Carlo ray tracing, path tracing, bidirectional ray tracing, etc) die werken goed met dynamische scenes enz, maar zijn hondstraag.

Een werkbare oplossing zal dus moeten bestaan uit een hybride/multipass algoritme dat gebruikt maakt van voorafberekende resultaten en die zoveel mogelijk hergebruikt.

Probleem hierbij is dat er beperkingen kunnen ontstaan op wat er wel en niet kan binnen een engine, zoals lichten die niet of niet te snel kunnen bewegen enz. Zelfs al werkt de engine dan op een natuurlijkere manier en zijn schaduwen en reflecties enz "gratis", er zullen nog beperkingen zijn. :/

EDIT: stofdeeltjes of meer in het algemeen "participerende media" zijn niet zo eenvoudig als je misschien zou denken. Bestaan ook technieken voor, maar veel GI algoritmes gaan uit van een behoud van energie tussen punt x en y. Als er fotonen onderweg weerkaatst/geabsorbeerd worden geldt dat natuurlijk niet meer, waardoor de lichtdistributie in de scene niet meer klopt.

En nog even ter info: de grootste deel van het werk bij ray tracing gaat naar de intersectiebepaling van een straal met de scene. Voeg hierbij de recursieve aard van ray tracing aan toe en blammo.. :|

Waneer er enorm veel objecten in een scene zitten, wordt rasterisation enorm traag, aangezien er clippen/scan conversion enz moeten worden gedaan voor alle objecten. Als er teveel objecten zijn kan deze kost gaan domineren, waar bij ray tracing een object in een scene kan zitten, zonder dat er ooit iets mee gebeurd en je expliciet stralen aan het trekken bent om de zichtbaarheid te bepalen...

[Reactie gewijzigd door AMessenger]


Zou dit ook werken mat 3dsmax :?
want vooral renderen met raytracing duurt uren

Wat bedoel je met "dit"? Raytracen....

Tja dit is het zelfde als 3DS Max doet alleen dan wordt hier niet het hele raytrace arsenaal opengetrokken. Bv slcehts 3 weerkaatsingen is iets dat 3DS toch wel ruim overtreft. En 3DS gebruikt nog veel meer technieken die hier uit staan. Als je in 3DS ook alles uit zet (en dus voor dit soort kwaliteit plaatjes gaat) kun je je render-tijd ook wel drastisch verlagen.

Raytracing - daarmee werkten eind jaren 80 diverse 3D-pakketten op de Amiga al. Weet nog wel dat m'n Amiga uuuuren bezig was om één beeld uit te rekenen. Gaaf om te zien dat het nu zolangzamerhand real time geanimeerd kan!

Helemaal goed was dat. :) Ik geloof dat ik nog in Lightwave(?) een animatie had gemaakt van de impact van Shoemaker-Levy in Jupiter (met collision detection e.d.). Toen was ik een jaartje of 15 gok ik, those were the days. Ik hield het heel simpel, maar het duurde nog steeds een dag of 1-2.

[Reactie gewijzigd door vgroenewold]


Sculpt 3D en 4D.
Best gebruikersvriendelijke pakketten voor die tijd.

Ik weet nog wel dat ik bij mijn buurjongen langsging die een paar diskettebakken vol had liggen met software die hij bij bladen e.d. kreeg. Daar zat ook een stuk software bij genaamd POV-Ray, wat tegenwoordig (15 jaar later) nog steeds bestaat. Dan kon je op je 286 computer bepaalde scenes laten renderen, er staat me iets van bij dat je het lijn voor lijn kon worden zien opgebouwd. In ieder geval was het niet binnen 1 seconde klaar, maar kon het best minuten of afhankelijk van de instellingen uren duren. Zelf had ik nooit het geduld om er verder veel mee te spelen, maar het is wel een interessant stukje techniek.

Als ik het goed heb begrepen maakte Wolfenstein 3D ook als een van de eerste spellen gebruik van ray-casting/tracing. Zou het wel eervol vinden als NVidia dat spel als demonstratiemateriaal zou gebruiken ;)

[Reactie gewijzigd door Tjeerd]


Zo ongeveer elk modern spel maakt gebruik van raycasting, alleen dan voor visibility testing of hit testing, en niet voor het daadwerkelijk renderen van dingen op je scherm.

Als ik het goed heb begrepen maakte Wolfenstein 3D ook als een van de eerste spellen gebruik van ray-casting/tracing. Zou het wel eervol vinden als NVidia dat spel als demonstratiemateriaal zou gebruiken ;)
Dat klopt niet. Er zit geen raytracing in Wolfenstein. Dat kon toen nog absoluut niet in realtime.

Ik ben misschien in de war met Ray-casting en Ray-tracing. Maar Ray-casting is wel degelijk gebruikt in Wolfenstein 3D.

Jawel, maar zoals gezegd ray-casting;

http://en.wikipedia.org/w...#Technical_implementation

To render the walls in pseudo-3D, the game used ray casting, a special case of ray tracing. This technique sent out one ray for each column of pixels, checked if it intersected a wall, and drew textures on the screen accordingly, creating a one dimensional depth buffer against which to clip the scaled sprites that represented enemies, powerups, and props.

Maar het is appels met peren vergelijken tussen de renderer van wolf3d en de demonstratie uit het artikel.

POV-Ray... dat heb ik ook nog op mijn Amiga gedraaid. Ik kan me nog herinneren dat ik een keer een plaatje renderde van 320x256 pixels op hoge kwaliteit en daar deed ie dan een hele week over. Later een keer op een Pentium I overgedaan, die kon het in een minuut of zo en een Pentium III deed het in een paar seconden. Daarna heb ik nooit meer iets met POV-Ray geprobeerd.

Dus dit extrapolerende zou het inderdaad wel eens tijd moeten zijn dat een high-end videokaart dit real-time kan.

Als ik het goed begrijp simuleert deze technologie dus eigenlijk wat er in de echte wereld gebeurt qua breking van licht en wat er op je retina valt zie je en dat is dan in dit geval het beeldscherm?

Ja, zo kun je het wel zien. Alleen dan gebeurt het andersom - in plaats van dat het licht vanaf een lichtbron in het 'venster' komt (je scherm), schiet je venster een lichtstraal die uiteindelijk bij de lichtbron komt uit. Zo zou je het tenminste kunnen zien.

Toch is er ook hiermee een grote complexiteit. Je weet *niet* van te voren welke lichtstralen er uiteindelijk vanuit het scherm, bij de lichtbron komen. Sterker nog, bijna alle lichtstralen die je oog "verlaten" komen uiteindelijk *niet* bij de lichtbron uit.

Het is alsof je omhoog naar de lucht kijkt. In slechts een bijzonder klein deel daarvan is een lichtbron te vinden (de zon). Het feit dat de rest van de lucht niet pikzwart is, komt door scattering , en dat is juist een proces wat je niet zomaar om kunt draaien.

Allerlei professionele raytracing tools (ASAP, LightTools, TracePro) werken ook gewoon nog steeds met een lichtbron, en rays die vanuit die bron getraced worden. Uiteindelijk komt dan een deel op een detectorvlak uit.

Voor simulatie van wat er gebeurt in de echte wereld heb je ook nog diffuse weerkaatsing nodig: RADIOSITY.
En om het nog echter te maken is Depth Of Field nodig.
Dit vergt wel een hele hoop meer rekenwerk.
Zal nog lang duren voordat ze dit realtime kunnen.
Alleen eenvoudige raytracing zoals hier door NVidia ziet er nog erg synthetisch uit.

Hier een mooie met radiosity en depth of field:
http://www.oyonale.com/modeles.php?lang=en&page=40
Kan je zelf laten renderen met PovRay freeware:
http://www.povray.org/
Kijk maar eens in de hall of fame.

[Reactie gewijzigd door MadButcher]


RADIOSITY
Radiosity is slechts een van de vele algoritmes om "Global illumination" - de term die je dus zoekt - te bereiken.

Ja inderdaad de demo is wat vaagjes jammer genoeg. Echter geloof ik ook dat raytracing de toekomst word voor games. De vraag is alleen hoe lang dat zal duren. Je ziet het in 10 jaar wel, vroeger hadden ze een heel computer park nodig voor een grote berekening nu alleen nog maar een (GPU) chip. Ik zelf denk dat de ontwikkeling sneller gaat dan de 10 jaar die het eerst gekost heeft om van een heel pc park naar 1 chip te gaan. Waarom? De techniek gaat steeds sneller.

Offtopic: heb naast deze auto gestaan in Berlijn :D

Persoonlijk denk ik dat dit de toekomst wordt:

http://www.geometricalgebra.net/raytracer.html

Ik vind plaatjes gemaakt met raytrace bijna nooit mooi? Snap wel dat raytrace het light en alles beter berekent maar kan niet zeggen dat die screens er mooi uitzien... Beetje game ziet er beter uit...

if.. alles wat verstaan word onder fotorealistische 3D-beelden zijn met raytracen of vergelijkbare technieken gemaakt.

Wat dacht je bijvoorbeeld van dit: http://i164.photobucket.c...846_1156997804_medium.jpg

"Beetje game ziet er beter uit" zegt 'ie :z

Niks gezegt :+ Mja waarom showen ze dat dan niet?

In die link in de post staan wat coole filmpjes van LightScape waar AMD/ATI mee bezig is (voxels). Dat zit er ook indrukwekkend uit!

Het draait hier niet om textures. Het draait hier om licht berekeningen. Verder was het aantal reflecties gelimiteerd bij 3. Dat is zeker nodig als alles zo zwaar reflecteerd als in de screenshots.

Ik denk dat dit niet zo zwaar hoeft te zijn als in de screenshots.

Dat plaatje is niet realtime, dit wel.

Dit is welliswaar geen mooie dame, maar zoals je ziet is de afstand echt niet zo groot meer...
http://www.nzone.com/object/nzone_humanhead_home.html

Als je goed naar het voorbeeld kijkt zie je dat er weinig tot geen fatsoenlijke textures zijn gebruikt.
De weg waar de auto op staat had een hogere resolutie kunnen hebben, en misschien bumpmapping en specular lighting ofzo, hetzelfde geld voor de lantaarnpalen.
GTA3 en de Futurama mod zijn een goed voorbeeld om te laten zien, hoe je met textures een game(of omgeving) er totaal anders uit kunt laten zien.

http://www.youtube.com/wa...BDWKs&feature=related

Ik hoop dat er gauw ports komen voor PovRay, 3DS Max, etc.

Die auto valt wel erg tegen moet ik zeggen. De auto's in GT5 zien er velen malen beter uit dan deze Raytracing renders!

Het is een demo natuurlijk, het gaat bij raytracing veel meer om de natuurlijke wijze van licht-inval, etc. etc. Dat realtime renderen is nogal lastig, het er mooier uit laten zien kost denk ik niet eens perse veel meer, alleen ging het daar niet om blijkbaar.

Beter, maar ook net zo realistisch?

Coatings in het echte leven zijn meestal iets matter dan volledige speculaire reflectie, ik denk dat dat is waar je op doelt.. Maar de reflectie is juist wat laat zien hoe het geraytraced word.

En SSDs zijn nog steeds slechter dan HDDs ;)
Het is inderdaad een lelijk voorbeeld wat ze gaven, maar raytracing kan veel en veel mooier.

De kwaliteit zal vast nog wel toenemen, maar het is vooral leuk om te bedenken dat de performance per polygon minder hoog is. Dit is bijvoorbeeld 2 miljoen polygonen, maar hij draait z'n nek vast niet om voor 3 miljoen.

Zo kunnen we eindelijk eens af van bumpmaps voor steentjes op de grond, maar die gewoon echt diepte geven. Zelfde gaat voor relief in meubels enzo, en in gezichten, en echt gras... Zo veel mogelijkheden!

Intel had ook al een Demo met Larrabee met Quake 4 engine - Raystracing @ 90 fps

http://www.canardplus.com...de_Nehalem_a_Haswell.html
enjoy! ;)

Betekent dit dat de toekomstige 3d modellen niet alleen maar met polygonen zal werken, maar ook met CSG objecten?

Hoogstwaarschijnlijk, maar CSG is niet echt nuttig voor gecompliceerde voorwerpen.

Ik denk eerder aan nurbs en andere vloeiende vormen.
«  1  2  3  »

Op dit item kan niet meer gereageerd worden.

Volgende 12:16
Vorige 11:02
VNU Media logo Powered by True

© 1998 - 2008 Tweakers.net - Alle rechten voorbehouden

Uitgever van: