Cookies op Tweakers

Tweakers maakt gebruik van cookies, onder andere om de website te analyseren, het gebruiksgemak te vergroten en advertenties te tonen. Door gebruik te maken van deze website, of door op 'Ga verder' te klikken, geef je toestemming voor het gebruik van cookies. Wil je meer informatie over cookies en hoe ze worden gebruikt, bekijk dan ons cookiebeleid.

Meer informatie

Door , , 83 reacties
Submitter: Spooof

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
Moderatie-faq Wijzig weergave

Reacties (83)

Wat ik mis in dit stuk is dat bijvoorbeeld Nvidia heel duidelijk heeft aangegeven dat ze raytracing wel is waar als de toekomst zien maar dat ze dat voorlopig nog wel in combinatie met rasterisation willen laten werken. Nvidia claimt en ik denk dat ze gelijk hebben dat rasterisation met raytracing binnen een paar jaar betere effecten kan produceeren dan een van de twee technieken los kan berijken.
Je kunt simpel weg niet in een keer van top-end rasterisation technieken overschakelen naar raytracing technieken die met veel meer rekenkracht niet de zelfde kwalitijd effecten kan berijken als rasterisation, zelfs niet als je nu de rekenkracht van de top end kaarten zou verdubbelen.

Intel lijkt met Larrebee het zelfde idee te hebben. Alleen willen zij het op een andere manier berijken dan Nvidia lijkt te proberen. Intel bouwt geen dedicated hardware circuits maar juist standaard hardware en laat de implementatie van het gebruikte algoritme over aan de software (drivers) dit betekend dat Intel als de hardware het aan kan zonder enige andere ingreep dan een driver update kan schakelen van een rasterisation techniek naar een combinatie rasterisation/raytracing techniek en later gewoon naar full blown raytracing. Intel heeft nog wel dedicated hardware voor sommige delen van het rasterisation process gewoon omdat het met dedicated hardware veel sneller gedaan kan worden dan met een common purpose processor.

Deze demo van Nvidia lijkt aan te tonen dat ze langzaam maar zeker in de zelfde richting als Intel aan het bewegen zijn. En dat ze dus eigenlijk Intel gelijk geven in hun ideeen achter de Larrabee processor. Ze kunnen de kaarten niet hebben aan gepast dus moet het de software zijn die de raytracing uitvoert en daar voor hun hardware gebruikt. Dat lijkt aan te geven dat Nvidia in de zelfde richting als Intel aan het bewegen is alleen komen zij van af de andere kant. In plaats van common purpose processors die grafische taken gaan doen kiezen zij voor grafische processors die meer common purpose taken gaan doen (raytracing berekeningen).

AMD en zijn Fusion project hebben het zelfde plan, alleen zij hebben een heel groot voordeel, ze hebben zowel common purpose processor kennis als grafische processor kennis en dat kon ze in de komende jaren nog wel eens een flinke voor sprong op de concurentie op leveren. Of dat ook echt het geval is zal de toekomst uit moeten wijzen maar ze hebben in ieder geval hele goede kaarten in handen daar in Duitsland.

[Reactie gewijzigd door Rob Coops op 18 augustus 2008 13:12]

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.
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 op 19 augustus 2008 03:20]

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.
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.
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 op 18 augustus 2008 13:43]

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 op 19 augustus 2008 01:14]

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 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 op 18 augustus 2008 17:32]

aah faal 8)7

maar bedankt :D

[Reactie gewijzigd door freaq op 18 augustus 2008 19:56]

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 :)
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 op 18 augustus 2008 12:56]

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.
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?
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 op 18 augustus 2008 11:51]

RADIOSITY
Radiosity is slechts een van de vele algoritmes om "Global illumination" - de term die je dus zoekt - te bereiken.
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.
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...
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...M2wcBDWKs&feature=related
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
Een 2 miljoen polygonen model real time renderen met 30 FPS, nice maar.

Hoever is een rasterization engine daarin op die setup? Ik zou wel wat vergelijkingen willen zien voordat we claims maken dat het de toekomst is.
Bij Raytracing engines maakt inprincipe niet uit hoeveel polygonen er in de scene zijn omdat de raytracer rays traced vanuit de camera (wat er op je beeldscherm komt). Een rasterizer pakt alle polygonen binnen de clipping area (die meestal ook de grote van je resolutie is) en transformeerd deze 3d triangles (polygonen) naar 2d punten met hun corresponderende textures en watnot. 2 miljoen polygonen gaat nog wel tegenwoordig (xbox 360 en PS3 kunnen dat aan). Maar stel dat het er 5 miljoen zijn.... dat gaat moeilijker.

+ keep in mind dat alles wat de rasterizer (meestal game engine) doet zijn truukjes om de werkelijkheid na te bootsen. Transparantie etc word in eerste instantie niet eens berekend maar gechecked en aangepast.

Raytracing traced de ray totaal door tot ie stopt en rendered die informatie. Veel nauwkeuriger.
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.
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! ;)
zowel Nvidia als AMD zijn het erover eens dat raytracing de toekomst is voor 3d-games.
Zeker pas nadat Intel en AMD hun spullen hebben gedemo'd: Een tijdje geleden dachten er nog anders over
De "toekomst" daarmee bedoel ik de nabije toekomst, zal vermoedelijk meer een soort van kruisbestuiving zijn vermoed ik. Ik was op mijn 12e al met POVRAY bezig en later met 3dmax en maya. Toen duurde renderen van simpele beelden uren, zoniet dagen. Dat dit in realtime kan is ongelooflijk. Maar hetgeen sommigen missen qua effect zit hem in de detaillering van de omgeving en wat lichteffecten. Kijk bijvoorbeeld eens naar het plastic in het achterlicht. Met wat meer rays benadert dat de realiteit behoorlijk echt. Beter dan wat ik tot nu toe in games heb gezien. That's raytracing for ya....

Met kruisbestuiving bedoel ik: licht en rook "atmosfeer" effecten mbv de techniek van nu, en de omgeving e.d. gerenderd mbv raytracing. Ik vermoed dat, om volwaardige effecten te krijgen op de wat kortere termijn, er wel slimmerds zijn die zoiets zullen gaan ontwikkelen.

En echt wel dat meer objecten en detail meer rekenkracht vereisen.... Ga maar eens met povray of 3dmax spelen (beetje duur om even te spelen, beter povray pakken)... zal je zien dat dat wel meer kracht kost. Meer rays ook en radiosity etc ook. Beetje gepats om de industrie wat leuker in beeld te krijgen.

Ik kan me wel voorstellen dat de resolutie hoger kan worden zonder dat het (extreem veel) meer rekenkracht kost bij "normale" scenes.

We shall see :-) Ik vind het machtig mooi in elk geval! :)

[Reactie gewijzigd door SandravanEs op 18 augustus 2008 12:38]

Juist andersom. Meer objecten maakt weinig uit in principe (tenzij allerlei glas en water natuurlijk).

Resolutie verhogen maakt dat er meer rays getraced moeten worden en dat het dus de performance drukt.
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.

Op dit item kan niet meer gereageerd worden.



Apple iOS 10 Google Pixel Apple iPhone 7 Sony PlayStation VR AMD Radeon RX 480 4GB Battlefield 1 Google Android Nougat Watch Dogs 2

© 1998 - 2016 de Persgroep Online Services B.V. Tweakers vormt samen met o.a. Autotrack en Carsom.nl de Persgroep Online Services B.V. Hosting door True