mboost-dp1

Caustic Graphics

Raytracing “grafikkort” ser dagens lys

- Via PC Perspective - , redigeret af Emil

Hos hjemmesiden PC Perspective har de i længere tid kigget nærmere på raytracing og dets muligheder for at blive anvendt i spilindustrien, der, som vi kender den i dag, bygger grafik på shadereffekter i grafikkort.

I den forbindelse har de besøgt det lille amerikanske firma Caustic Graphics, der specialiserer sig i raytracing. Firmaet blev dannet i 2006 af tre tidligere Apple-medarbejdere, og de har arbejdet på at effektivisere raytracing.

De fandt ret hurtigt ud af, at deres algoritmer ikke passede særlig godt til eksisterende CPU’er eller GPU’er, og besluttede derfor at udvikle deres egen hardware; det er blevet til CausticOne.

CausticOne er en overbygning til et grafikkort, ligesom Ageias PhysX-kort var det for fysikberegninger. Kortet er designet til effektivt at beregne, hvordan lys bevæger sig i en scene.

Hjertet i kortet er deres egenudviklede RTPU (Ray Tracing Processing Unit), der klarer alle beregningerne. Ifølge udviklerne kan de accelerere raytracing med op til 20 gange.

Til trods for den massive hastighedsforbedring, så genererer den første udgave af hardwaren “kun” 3-5 billeder i sekundet, langt fra brugbart i f.eks. spil. Efterfølgeren er dog allerede i støbeskeen.

CausticTwo vil anvende chips, der er væsentlig hurtigere, og forventes at være 14 gange hurtigere end CausticOne, hvilket vil være nok til at kunne anvendes til spil i lav opløsning. Caustic Graphics forventer at have det nye kort klar i starten af 2010. Et kort, der kan klare 60 billeder i sekundet ved 1920×1200 pixels opløsning, ser de som realistisk om 4-5 år.





Gå til bund
Gravatar #1 - mireigi
21. apr. 2009 06:25
Jeg tror at de bliver opkøbt af nVidia eller AMD/ATI 1-1½ år før de er klar til at sende deres kort på markedet.
Gravatar #2 - zynx
21. apr. 2009 06:32
#1 Tror det ikke, tror mere at intel kommer til at købe det, ikke nogen af de andre.

Eller jeg håber det, kunne være rart hvis intel også kom ind på det markedet, så de kunne lave nogen rigtig fede netbooks og HTPC computere.
Gravatar #3 - elw00d^
21. apr. 2009 06:35
tager jeg helt fejl når jeg mener at have set en række artikler vedr. intel larrabee og raytracing, mener da intel fremviste quake raytraced ved 15+ fps i 1280x720?

må lige se om jeg kan finde skidtet. hvis ikke det er noget jeg har drømt?
Gravatar #4 - Mentalus
21. apr. 2009 06:43
Argh... man skal da aldrig annoncere efterfølgeren før man har solgt den første. Så får de da ikke solgt ret mange CausticOne i hvert fald :-)
Gravatar #5 - Staeren
21. apr. 2009 06:43
#3 Det var vist beregnet via CPU'en, hvilket ikke er særligt nyttigt i længden. Har godt set nogle af de tests Intel fremviste, men der er altid en verden til forskel på en demo der bare kører derud af og en spil der skal afvikle avancerede physics, AI, inputs osv.

Det her skal jo sammenlignes med de gamle voodoo-kort, som i sin tid var beregnet til at aflaste cpu, som nu i dag har udviklet sig til essentielle komponenter i enhver pc.
Gravatar #6 - myplacedk
21. apr. 2009 06:56
Måske er det fordi jeg ikke er gamer, men jeg forstår ikke hvorfor raytracing skulle give en kvalitetsforbedring, som er så meget ekstra beregningskraft værd.

Kender i nogen side-by-side sammenligninger af hvordan det ser ud med og uden raytracing, i et computer-spil?

Altså ikke et eller andet opstillet eksempel, eller noget fancy 3D-grafik der ikke har noget med et spil at gøre. En realistisk demonstration.
Gravatar #7 - henrikmk
21. apr. 2009 07:16
Der er efterhånden mange ekstra beregningsmetoder der er nødvendige for at lave fotorealisme i billeder, såsom radiosity (lys der reflekteres fra ikke-lyskilder) og subsurface scattering for realistisk menneskehud og forskellige væsker.

Ren raytracing giver stive og døde billeder, og hvis det kort ikke kan hjælpe med de ekstra ting, så er der et stort stykke vej endnu til det kan erstatte nuværende metoder til rendering af grafik i spil.
Gravatar #8 - akv
21. apr. 2009 07:29
#4 selvfølgeligt får man da solgt nogle - der vil gå lang tid inden næste udgave kommer på banen. Og performance er endnu ikke til gamere, men folk der rent faktisk bruger raytracing i hverdagen - animatore der laver videoer og sådan noget, de vil med det samme kunne få glæde af kortene til deres arbejde. Som med alt ny teknologi, så bliver prisen sikkert også meget højere end nogen vil betale for at bruge dem til spil, før om en 5+ år...

#6 Jeg tror ikke du finder det du ønsker. Endnu er raytracing så tungt at ingen vil kunne lave en demonstration af det. Derfor må du nøjes med nogle billeder der viser mulighederne i raytracing...

Se f.eks. det her:
http://upload.wikimedia.org/wikipedia/commons/e/ec...

Det ser da suverent ud! Uden selv at være gamer eller at have set hvad grafik man har i spil nu om dage, så forventer jeg at det er væsenligt bedre end hvad man ser der - har jeg ret?
Gravatar #9 - illishar
21. apr. 2009 08:08
#8 Ja og på trods af at det er et fint billede du har fundet, så er det umiddelbart lidt af et n00b-billede. Jeg synes at der mangler ting som caustics, radiosity, subsurface scattering og det ville da også have pyntet med noget støv og dermed photon mapping.

#6 "Problemet" er i virkeligheden, at meget af det grafik der er i spil er "fake". Alle de fine effekter som spillene bliver rost for, er ofte blot billboards og pre-rendered (via raytracing). Faktisk er Crysis et fremragende eksempel på et spil, der er spækket med raytracing effekter (global illumination). Hvordan det er lykkedes dem, at køre det i realtime, er lidt af et mysterie.

Sagen er at man godt kan lave et flot spil via GPU'en, hvis man virkelig lægger mange kræfter i det. (Der skal bruges seriøst meget!) Men hvis man i stedet blot kunne rendere spillet via realtime raytracing, så vil man slet ikke skulle bruge noget tid på alt grafik-pjattet. Man kan i stedet bruge tiden på at lave utra-ultra-detaljerede modeller (glem alt om kantede trekant-modeller. Vi taler om b-spline-modeller o.l.) og så uden ekstra arbejde, få et spil der gør Crysis til skamme. (Prøv at sæt en blu-ray film på jeres 50" HD-tv og så forestil Jer, at det er et interaktivt spil.)
Gravatar #10 - ipwn
21. apr. 2009 08:12
#6 som #8 siger, nej, du finder ikke nogen sammenligninger med rasterbilleder som spil bruger nu. Det tætteste jeg har set, er Quake 3 Arena, som du kan kører med en 10-15fps på et cluster af 4 PC'ere. Er simpelthen for krævende til at noget moderne spil kan vises igennem den teknologi lige pt.

Men, det er, udentvivl, overlegent den raster teknologien, fordi modsat raster så er raytracing en simulering af lysets fysiske egenskaber. Det betyder at du kan få ting som reflection, refraction og skygge helt naturligt - det er simpelthen en konsekvens af de fysiske egenskaber ved lys. Ved raster er dette tilføjelser, dvs. ekstra kalkulationer som skal udføres, fordi raster ikke indeholder disse egenskaber. (Det er jo polygoner som mappes til en 2D flade igennem en projection matrix, hvorimod raytracing er stråler der sendes ud for hver pixel)

Jeg tror det her hjælper os folk som vil lave grafik. Vi behøver ikke længere bøvle med diverse skygge algoritmer, og global illumination bliver en del nemmere. Raytracing er dog ikke global illumination - men det virker godt sammen med photon mapping og radiosity (i samme grad som raster) så effekten er i højere grad global end raster pga. de ekstra egenskaber raytracing besidder.

Personligt tror jeg ikke at niveauet for 3D grafik bliver forbedret super meget ved brug af raytracing, men det giver spiludviklere tid til at arbejde med andre effekter. Som #9 siger, så indeholder Crysis mange effekter som Raytracing kan håndtere i sig selv. Så det bliver måske mere et nyt niveau for grafik generelt, fremfor de enkelte førende motorer.

#9 Raytracing klarer altså ikke jobbet for dig. Du skal stadigvæk lave dine shaders, materiale, lys og alt det andet. Så du går ikke glip af det som du normalt laver i f.eks. DirectX og OpenGL når du skal vise nogle polygoner. (Og de skal selvfølgelig også loades osv., som er algoritme og lagring, ikke grafik)

Men det vil helt klart gøre visse aspekter af grafik nemmere at lave med et bedre resultat.
Gravatar #11 - ipwn
21. apr. 2009 08:17
#6 Det her et det helt basale billede af raytracing, og det er hvad de fleste får ud af deres første raytracing motorer :)

http://www.math.tu-berlin.de/~sechel/pics/raytrace...

Er selv ved at kode en, og sigter mod et billede ligesom ovenstående. Nu viser det dog ikke refraction - gennemsigtighed, men en korrekt gennemsigtighed som forvrænger det gennemtrængende lys - tag noget krumt glas og kik igennem det, og det er hvad jeg mener. Men den viser raytracings naturlige reflektion og skygge.

Hov, fandt lige et simpelt eksempel der sammenligner:
http://www.cs.utah.edu/~jstratto/state_of_ray_trac...

Læg mærke til kvaliteten af shading, skygge og reflektion. (Især self shadowing - det er en svær ting at fikse med raster, men kommer naturligt ligesom alt andet raytraced skygge hehe)
Gravatar #12 - ipwn
21. apr. 2009 08:26
Hm, siden den sættes på et grafikkort, erstatter den så kun projekteringen? Det ville være smart... for så kan man jo stadig benytte fragment og pixel shaders som grafikkortene indeholder, og simpelthen blot erstatte den normale raster mapping med en raytraced mapping. Wow. Savle. Men ved selvfølgelig ikke om det er sådan. Håber det ;)
Gravatar #13 - myplacedk
21. apr. 2009 08:40
myplacedk (6) skrev:
Altså ikke et eller andet opstillet eksempel, eller noget fancy 3D-grafik der ikke har noget med et spil at gøre. En realistisk demonstration.


akv (8) skrev:
http://upload.wikimedia.org/wikipedia/commons/e/ec/Glasses_800_edit.png


ipwn (11) skrev:
http://www.math.tu-berlin.de/..


Hvilke spil er de to billeder fra?

Jeg ved godt hvad raytracing gør for 3D-grafik generelt. Jeg spørger om hvad det gør for spil.

Jeg beder ikke om et spil jeg kan downloade og køre på min gamle bærbare, bare to screenshots der viser forskellen. Den med raytracing kan være simuleret, eller (bedre) være fra et spil der kører med under 1 fps.

Det ville være nemt for mig at sige, at de spil jeg har prøvet ser finde ud uden raytracing. Jeg vil hellere se to realistiske screenshots, og så kan jeg enten sige "den forskel bemærker jeg ikke når de virtuelle kugler flyver om hovedet på mig", eller "damn det er flot", eller whatever.
Gravatar #14 - XorpiZ
21. apr. 2009 08:47
#13

Der er lidt her, så vidt jeg kan se:

http://www.pcgameshardware.com/aid,646920/Video-sh...
Gravatar #15 - illishar
21. apr. 2009 08:54
#10 Shaders (materiale-egenskaber) og lys er jo optimalt set, en del af modellen. Det er muligt at man af performance-hensyn eks. undlader at implementere korrekt subsurface marmor-rendering i sin render, men når de forskellige "shaders" er implementeret, så skal de jo ikke laves igen. Jeg går ud fra, at du tænker på scenariet fra eg. 3D-Studio Max, hvor man når man har lavet sin model, derefter skal definere shaders (eller lave en selv) og så sætte lys på. Men dette er jo i virkeligheden blot et ydtryk for, at modellen ikke indeholder nok informationer om den selv.
Gravatar #16 - ipwn
21. apr. 2009 11:28
#13


Quake 3 Arena som jeg nævnte :)

Der er nogle andre ting på youtube du sikkert kan finde også... Men selvfølgelig kun tech demoer. Du kan ikke finde noget til din egen PC.

#15 Jeg tænkte nu mere på lys ligningen der afgør hvordan lyset absoberes, og derved giver farver, reflektioner, refractioner osv.

Den er jo ambience x diffuse x specular + reflection + refraction (Her uden skygger, det kræver lige en summationen af shadow rays)

Her er der jo en masse forskellige modeller du kan bruge :) Lambert, Gouraud, flat shading, phong, blinn-phong osv., (og det er også her du vil smække dit radiosity/photon mapping ind i stedet for ambience)

Så det skal du vel stadigvæk definere? :) Hvis der kommer et framework, har den sikkert en basis model indbygget, ligesom at OpenGL og DirectX har Lambert + Gouraud shading som standard - du skal jo stadigvæk lige skrive en lille shader til at håndtere det anderledes, hvis du vil have noget ordentligt phong. (Som alle spil bruger efterhånden jo )
Gravatar #17 - ipwn
21. apr. 2009 11:39
Øøøøh bøøøh... Mener ambience + diffuse + specular... xD Lavede den samme fejl da jeg sidste gang implementerede den :S Don't do that :|
Gravatar #18 - BluepaiN
21. apr. 2009 16:07
Raytracing er uden tvivl vejen frem, hvis man vil have superfedt lys og grafik. Spørgsmålet er dog blot, om det kan betale sig. Kunne godt forestille mig, at det ville kræve en hel del at rendere så meget.

Det ender nok med, at man har et almindeligt grafikkort, et Aegies til PhysX og så endnu et til raytracing. :p
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