mboost-dp1

Flickr - Hachimaki

Carmack snakker ud om raytracing og kommende hardware

- Via PC Perspective - , redigeret af Pernicious

PC Perspective, har i et længere interview, spurgt ind til hvad John Carmacks syn er på brugen af raytracing i spil og hvordan hardwareudviklingen kommer til at påvirke dette.

John Carmack er arkitekten bag de spil-engines som id Software har brugt igennem tiderne til deres spil i Wolfenstein, Doom og Quake serierne. Han arbejder pt. på deres sidste nye engine kaldet id Tech 5, men kommer også en smule ind på id Tech 6 i interviewet.

Carmack er generelt set ikke specielt begejstret for den raytracing metode som specielt Intel fremhæver, men hælder mere til rasterization, da dette giver op til 10 gange så stor ydelse med den samme hardware, og vil være praktisk talt identisk med raytracing. Han vil dog ikke udelukke at raytracing kan være vejen frem, når der er regnekraft nok til at håndtere det.

Selvom Intel i et stykke tid har prøvet at sælge idéen om raytracing, mener Carmack at de laver en stor fejl. Fejlen er at de viser hvad den nuværende teknologi er i stand til, i stedet for at lave en techdemo der kører på et cluster af computere, så man vitterlig kan se hvor godt det er. Carmack er overbevist om at det er sådanne techdemoer, der viser hvad man vil være i stand til, om en til to generationer af hardware, der skal overbevise udviklerne om at de skal gå i en specifik retning, når det gælder rendermetoder.

Carmack arbejder selv på en sådan techdemo, der baserer sig på en metode kaldet “sparse voxel octree”, som han håber at kunne fremvise senere i år.





Gå til bund
Gravatar #1 - Wikzo
13. mar. 2008 17:16
Off topic: Han ligner godt nok meget ham der Ketil fra børneprogrammerne med Doktor Pjuskebusk m.fl. Naturpatrujlen, tror jeg det hed.
Gravatar #2 - ssboisen
13. mar. 2008 17:20
Måske en god idé lige at forklare hvad ray tracing og rasterization er?

#1 det har du ret i :)
Gravatar #3 - Holger_dk
13. mar. 2008 17:30
lyder fedt... altid en klog man at lytte til... han er sgu lidt af en hardcore nørd... hvilket er helt vildt fedt! :P

men gad godt at se demoer af de technologier de snakker om... altså raytracing is spil etc.

lidt om ray tracing: http://en.wikipedia.org/wiki/Ray_tracing
Gravatar #4 - Ronson ⅍
13. mar. 2008 17:31
#1: Jeg tror du tænker på Martin Keller og ikke Ketil Teisen. Ketil er ham den latterligt irriterende.

Uden at vide noget om det, så kan ray tracing vel enkelt forklares som udregning af lysstråler - altså lys/skygge, refleksioner osv.
Gravatar #5 - K4emic
13. mar. 2008 18:04
Raytracing bliver pt. hovedsageligt brugt til at rendere 3D billeder med da det giver en høj pixel-præcision. Dog er det en tung fanden at danse med.

Rasterization derimod, kan 'springe over' pixels som ikke har noget indhold udover baggrundsfarven. Hvordan det kan være nyttigt i spil kan jeg dog ikke se.

Raytracing på hele tre PS3er:
Jeg tror dog kun at folk med viden indenfor området vil kunne se det fede i den film :)
Gravatar #6 - Xill
13. mar. 2008 18:26
Hvis du ser på Global illumination, som værende en algoritme, som følger alle lysstrålerne fra lyskilden. Når lyset rammer noget beregnes alle refleksioner samt farve ændringer i lyset og naturligvis lysets påvirkning på overfladen. Denne procedure bliver så fuldt til der ikke er mere lys som bliver reflekteret.

Da Global illumination er meget tung, og desuden bruger resurser på lys der ender op med ikke at have nogen indflydelse på selve det billedet der bliver rendered, er ray tracing udviklet for at spare resurser.

Ray tracing virker modsat Global illumination. Ved ray tracing går man fra kameraenheden, og ser på hvad den kan se. Efterfølgerne ser man på hvad det den kan se selv kan se, for at finde ud af hvad det modtager af lys. Med Ray tracing er det meget normalt at man sætter et fast antal refleksioner som max, for at spare på udregningerne, da man bruger ray tracing for at kunne spare udregninger.

Rasterization er blot den normale måde at beregne 3D objekter i spil, noget som nvidia gerne vil blive ved, da det er det som deres GPU'er er lavet til.

Det nye i denne nyhed (eller det som nyhed nok burde handle om) er at Intel er ved at lave en CPU kaldet Larrabee, som er en mange kernet CPU lavet specifikt til ray tracing (mener det oprindelige formålet med CPU’en er at udregne udbredelsen på radioaktivitet), og derfor også gerne vil have skubbet udvikling inden for ray tracing i spil.

men generelt, så handler ray tracing altså om at få mere eller minde foto realistiske spil. Yderligere kan det nævnes at ray tracing åbner op for at spil langt bedre kan udnytte flere kerner, noget Rasterization ikke rigtig kan.
Gravatar #7 - cyandk
13. mar. 2008 18:39
#6 nok den bedste post herind på newz.dk i år, tak :)
Gravatar #8 - dummyddd
13. mar. 2008 18:42
#6
Med rasterization ligger den store processor sultne del culling (bestemme hvilke polygoner der ikke skal tegnes), som sagtens kan udnytte flere kerner. Det kræver bare ikke så meget af cpu som gpu og båndbredde, så det er intel ikke så glade for.
Gravatar #9 - Wagnus
13. mar. 2008 21:43
Her er noget godt at læse hvis i vil vide lidt mere om raytracing:
Coding Horror
Gravatar #10 - gaffatape
13. mar. 2008 22:13
#1 & 4

http://i2-images.tv2.dk/s/37/1912437-639c3668904da...
Holy shit, det er samme person.
Gravatar #11 - vesterbaek
13. mar. 2008 22:53
#6

Det er noget værre vrøvl, du har skrevet omkring global illumination vs. ray tracing. Global illumination er en matematisk beskrivelse af hvordan lys propererer i rummet og interagerer med overflader. Interaktionen med overflader deles normalt op i reflektioner og i sub-surface scatterings/transmissioner og beskrives via en Bidirectional Scattering Distribution Function (BSDF). Ray tracing er en algoritme.

"Global illumination" er et begreb, ikke en konkret algoritme, hvor man f.eks. følger lyset fra lyskilder, som du skriver. Ray tracing eller path tracing er derimod global iillumimation algoritmer, der hver især løser "the rendering equation", defineret af Kajiya i 1986. Der findes f.eks. også algoritmer, der tracer rays fra både billedplanet og lyskilderne på samme tid for dermed at midske støj i det endelige billede (læs om bidirectional path tracing). Radiosity er en helt anden løsning af global illumination for man ikke tracer rays, men i stedet beregner overførslen af lys ved at betragte solid angels elementerne imellem. Radiosity giver derfor ingen støj i billederne, men er generelt svag til skygger og kan kun håndtere diffuse reflektioner.
Gravatar #12 - Mulpacha
13. mar. 2008 22:57
#11 det er da lige det han skriver... At han saa ikke bruger dine fine betegnelser er saa noget andet.
Gravatar #13 - vesterbaek
14. mar. 2008 06:27
#12

Nej, han skriver at raytracing er udviklet som et alternativ fordi global illumination er "meget tung":

Quote #6:
"Da Global illumination er meget tung, og desuden bruger resurser på lys der ender op med ikke at have nogen indflydelse på selve det billedet der bliver rendered, er ray tracing udviklet for at spare resurser."

Det er ganske enkelt noget vrøvl.
Gravatar #14 - el_barto
14. mar. 2008 07:12
Kulli Bim Namnam "Sparse Voxel Octree"...

Kunne han ikke have fundet på et LIDT mere mundret navn :)
Gravatar #15 - Dee.Kay
14. mar. 2008 07:23
OT: Bortset fra interessant indlæg - specielt #6 er imponerende.... Hvad laver John så foran et EA skilt!??!?!? JOHN NOOOOO!!!!! (Forhandlinger mellem ID og EA ville være katastrofe...)
Gravatar #16 - moulder666
14. mar. 2008 07:25
#11 Et kort øjeblik troede jeg lige, at det var William Gibson der var droppet forbi for at give en lille undervisningstime...Shadow Angels i lys...det lød lidt som ham! :D
Gravatar #17 - jrkm
14. mar. 2008 08:59
#11 & #13: Tak for den rettelse, fedt at se der er en der tager sig tid til at forklarer tingene.
Gravatar #18 - knasknaz
14. mar. 2008 09:56
Whoa voxel space kommer tilbage? Det er sgu' kult.
Gravatar #19 - Holger_dk
14. mar. 2008 10:14
hehe ja... lidt stener at de snakker om voxels igen... troede de lidt døde ud med Delta Force og Commache (selv om de har været brugt i andre spil efterfølgende).
Gravatar #20 - vision-dk
14. mar. 2008 10:37
John er gud!!

Uden den mand var First Person shooters aldrig blevet det samme.

Hvis der er nogen der er i tvivl, er en voxel 3D udgaven af en pixel (Voxel)
Gravatar #21 - cazotaro
14. mar. 2008 21:16
#10

Umuligt, læg mærke til at John er helt askegrå i huden efter de mange timer bag skærmen, mens Martin er hudfarvet efter at have gættet lorte med naturpatruljen og været på rumfart.

:P
Gravatar #22 - Graversen
14. mar. 2008 22:16
#6

Hvis det er sandt at rasterization giver 10 gange bedre ydelse end raytracing, må rasterization da klart betegnes som det bedste valg.

For når vi taler om computerspil bør målet på nuværende tidspunkt ikke være at lave det fotorealistisk, men at lave det så godt som muligt til nuværende eller til de næste par generationer af grafikkort og CPU'er.

Min holdning er nok lidt farvet af at jeg ser Carmack som en af de überste guruer inden for computerspils grafik, og hans pointe med at ydelse bør til en hvis grad prioriteres højere end grafiske detaljer er jeg fuldt ud enig med ham i.
Jeg er ved at være godt irriteret over at pænere grafik bliver prioriteret højere end gameplay og ydelse i nye spil.

Hovedårsagen til at jeg mener at man bør gå mere på i ydelse i spil er at jeg interessere mig rigtig meget for eSport og dermed konkurrence elementet i computer spil. Dermed bør alle kunne være med og konkurrere på samme niveau uden at skulle have det nyeste af det nyeste hardware.

Se crysis for eksempel, jeg syntes rigtig meget at det er en døgnflue, det er sikkert fedt at spille single player og gennemfører det, men for eftertiden vil det sikkert hovedsageligt kun blive brugt til benchmarking. Hvorimod spil som Quake3 og CS er blevet spillet af flere millioner i over 8 år. Eller hva StarCraft som er det absolut største spil i Asien, der er endda spillere der lever på niveau med skuespillere og pro fodboldspillere.

Mit drømmejob er at udvikle computer PC-spil, men og det er et stort MEN, vil jeg gerne udvikle spil som kommer til at betyde noget for brugerne af det, et spil som de vil kunne finde underholdende i flere år, dyrke som var det en sport og måske endda leve af at spille det.

Jeg ved godt at for mange vil et pc-spil aldrig kunne betegnes som en sport, hvilket for mig er sært, for nej det er ikke sundt at spille computer i 7 timer om dagen, men det er heller ikke sundt at løbe 7 timer om dagen. For det er kun det fysiske element der mangler i eSport og jeg savner det ikke ;)
Gravatar #23 - cazotaro
14. mar. 2008 22:30
Problemet med 'grafik < gameplay og ydelse' er vel at grafikken er blevet hypet, så alle der ikke 'nørder' og ved lidt om spil, altså hvad gameplay osv. vil sige. Nemt tænker; "Det der nye spil er bare mega fedt og har bare så blæ'r grafik."
For hvad skal man ellers lige forholde sig til, end det man kan se?
Gravatar #24 - myplacedk
15. mar. 2008 09:11
23 skrev:
For hvad skal man ellers lige forholde sig til, end det man kan se?

Om det er sjovt.

Folk (nørder eller ej) sidder stadig og spiller 7-kabale/minestryger, Tetris, Atomic Bomberman og andre ting der kørte fint på en 286'er.

Det er måske ikke de samme folk, som dem der køber de nyeste konsoller og spil.
Gravatar #25 - AenimA
15. mar. 2008 09:12
Carmack siger generelt - og det er vel ikke overraskende - at den bedste udnyttelse af transistorerne på grafikkort er ved brug af rasterization.

Raytracing har sine fordele iflg. Carmack, men kun som en del af den samlede grafik'engine' til udregning af specifikke opgaver/effekter - ikke som en hel render.
Og så er han generelt uimponeret (for at sige det mildt) over de techdemoer, Intel lavet med Ray Tracing, han vil gerne se nogle eksempler på grafik, der giver os en egentlig grund til at bruge raytracing - udover flotte skinnende kugler der reflekterer omgivelser (som er en effekt man alligevel kan tilnærme sig rasterization med bedre ydelse)

Carmack selv, som jeg forstår det, bruger kun raytracing algoritmer til den bagvedliggende motor i sin sparse voxel octree demo, ikke som færdig skærm render.
Gravatar #26 - terracide
17. mar. 2008 07:24
#6:
"Det nye i denne nyhed (eller det som nyhed nok burde handle om) er at Intel er ved at lave en CPU kaldet Larrabee, som er en mange kernet CPU lavet specifikt til ray tracing (mener det oprindelige formålet med CPU’en er at udregne udbredelsen på radioaktivitet), og derfor også gerne vil have skubbet udvikling inden for ray tracing i spil."

Larrabee er en GPU, rettet mod middle-class, ikke en CPU der kan kører real-time raytraycing. ;)
Gravatar #27 - Xill
17. mar. 2008 19:59
26 skrev:
#6:
Larrabee er en GPU, rettet mod middle-class, ikke en CPU der kan kører real-time raytraycing. ;)


#26 .. Det er sjovt som folk lige skal rette andre kommentar på den måde ... (altså uden nogen argumentation, og ofte uden at det er et spørgsmål der har et specifikt svar)

Jeg vil mene at der er lige så meget CPU over den, som der er GPU. hvis du sammenligner den med Nvidia og ATI's GPU'er, minder den mest om Nvidia's Cuda og ATI's GPGPU, som er enheder som kan bruges til andet end bare grafik. (General-purpose computing on graphics processing units)

Yderligere kan du ikke kalde intels nu chip for en GPGPU, da det ikke er en del af en normal GPU. Derfor bliver den flere steder også omtalt som en VCA altså Visual Computing Architecture, som måske også giver mere mening.

men det er rigtigt at en overfladisk søgning på nettet vil resultere i mange artikler, der omtaler den som en GPU.

#11
Min beskrivelse af "Global illumination" var mere ment som et eksempel på en anden metode til at udregne lys udbredelsen med. At "Global illumination" ikke er en specifik algoritme, betyder ikke så meget, da det kun nævnes fordi folk formentlig kender til det fra 3D rendering. Folk kender det formentlig som noget godt, men også meget krævende, da man normalt benytter meget tunge algoritmer til "Global illumination" (hvor jeg vil mene jeg beskriver den mest normale)

Derfor står "Global illumination" meget godt i kontrast til "Ray tracing", der i artiklen omtales som noget der skal kunne fungere i Real-time
Gravatar #28 - vesterbaek
17. mar. 2008 20:59
#27
Du fastslår meget tydeligt med din sidste post her, at du tilsyneladende ikke forstår området. Jeg foreslår at du læser "The Rendering Equation" 1986 af Kajiya og lærer noget eller at du stopper med at skrive omkring dette.
Gravatar #29 - Xill
17. mar. 2008 22:53
#28 .. hvis jeg skal komme med et lige så brugbart svar. Så kan jeg fortælle dig at du med din sidste post meget tydeligt fastslår , at du tilsyneladende ikke forstår at det er meningen at du skal argumentere for din mening.

når folk skriver at det er godt at give et link til en kilde, så er det ikke meningen at du skal stoppe med selv at argumentere.
Gravatar #30 - vesterbaek
18. mar. 2008 06:37
#29
Du bliver ved med at skrive om global illumination vs. ray tracing. Det giver ingen mening da ray tracing _er_ en global illumination algoritme.

Hvis interesserer dig for dette vil jeg foreslå at du tager en master i grafik på et universitet. Det har jeg gjort, og jeg er derfor ganske sikker på, at jeg har både kilder og argumentation i orden.
Gravatar #31 - terracide
18. mar. 2008 06:39
#27:
Kan se du holder fast i de rygter der florerede om "Larrabee" som en multikernet CPU i begyndelsen...
http://arstechnica.com/news.ars/post/20070604-clea...

"Larrabee" er en GPU, ikke en del af Intels CPU linup, som kan ses her:
http://www.trustedreviews.com/cpu-memory/review/20...
Gravatar #32 - terracide
18. mar. 2008 07:10
Gravatar #33 - Xill
18. mar. 2008 07:28
#32 sjovt at du lige skulle komme med et link til

http://www.intel.com/pressroom/archive/releases/20...

når intel vælger at skrive så meget om Larrabee uden at omtale den som en GPU, så er det nok fordi de mener at den skal omtales som en hel ny type chip. De nævner selv Larrabee som en Visual Computing Architecture, som jeg også kalder den i #27
Gravatar #34 - terracide
18. mar. 2008 07:36
#33:
Okay, du må lege med dig selv hvis du mener det er noget andet en en GPU.
Men jeg vil VÆDDE med at "Larrabee" aldrig kommer som en CPU, så tiden vil vise at du tog fejl...

For ifølge det PR-fluff sprog du lige har taget til dig er G92 hellere ikke en GPU, da den kan lave andet end graffik...
Gravatar #35 - Xill
18. mar. 2008 08:39
#34 .. G92 er da en ganske normal GPU der indeholder en GPGPU, på samme måde som Larrabee indeholder en VPU
Gå til top

Opret dig som bruger i dag

Det er gratis, og du binder dig ikke til noget.

Når du er oprettet som bruger, får du adgang til en lang række af sidens andre muligheder, såsom at udforme siden efter eget ønske og deltage i diskussionerne.

Opret Bruger Login