NOrdic SImulator Group

Teknik => Allmänt => Topic started by: Snajper on June 17, 2003, 17:04:51

Title: Lite "riktig" bench marking...
Post by: Snajper on June 17, 2003, 17:04:51
... utan att ta hänsyn till tramsiga 3D-kort och dyligt tjafs! ;) Denna testar CPU-power! :)

http://www.realstorm.com

1997 Raymarks på jobbdatorn.
Title: Replying to Topic 'Lite
Post by: griffin on June 17, 2003, 17:32:53
Hehe, ja nog fan är ray tracing riktig cpu benching iaf. Men det beror lite på hur man gör sin raytracer :)

Sa han som skrivit några raytracers :D
Title: Replying to Topic 'Lite
Post by: Horizon on June 17, 2003, 19:43:07
Körde i lägsta upplösningen, men blev utslängd utan resultat efter någon minut. :-X

Vad kan vara skevt? Är det någon särskild upplösning vi kör när vi räknar poäng, Snajper? ;)
Title: Replying to Topic 'Lite
Post by: SledgeHammer on June 17, 2003, 22:36:16
1914
Title: Replying to Topic 'Lite
Post by: SledgeHammer on June 17, 2003, 22:39:59
Ni kikar väl på IRTC (http://www.irtc.org/) och läser väl rtn (http://turing.acm.org/pubs/tog/resources/RTNews/html/)? =]
Title: Replying to Topic 'Lite
Post by: SledgeHammer on June 18, 2003, 22:58:40
Och har ni inte tittat på de demon de har liggandes så gör det omedelbums!
Jag blev tvungen att omedelbart leta reda på skivan jag har dem liggandes på och titta på dem några gånger =)
Title: Replying to Topic 'Lite
Post by: Horizon on June 18, 2003, 23:12:36
Jag vet inte ens vad Raytracing är... :-/
Title: Replying to Topic 'Lite
Post by: SledgeHammer on June 19, 2003, 08:00:04
Kort förklaring: Skjut en stråle (ray) för varje pixel i "kameran", haka på och se vad den träffar (tracing). Anteckna resultatet i pixeln.

Lätt. :D
Title: Replying to Topic 'Lite
Post by: Horizon on June 19, 2003, 09:48:31
Tack, men jag tar nog den långa förklaringen. :)

Gärna utförligt och med en beskrivning av lämpliga användningsområden.
Title: Replying to Topic 'Lite
Post by: Phlerp on June 19, 2003, 11:19:57
Jag skulle nog rekomendera den medellånga, utan matematiska fomler alltså. ;)
Raytracing är det som 3Dprogram som Lightwave och 3Dstudio gör när de räknar ut  bilder. I verkligheten skickar ljuskällor ut strålar som sedan stutsar på olika föremål och slutligen hamnar i ditt öga där de registreras genom tappar och stavar och sätts samman till en bild i hjärnan. Raytracing fungerar tvärtom, eftersom man bara är intresserade av de ljusstrålar som slutligen hamnar på näthinnan, eller skärmen/bilden i detta fallet. Därför går man systematiskt igenom alla pixlar på bilden och räknar på en tänkt stråle från varje pixel rakt igenom 3Dvärlden (med viss omräkning för perspektiv och sånt). Sedan beräknar man var strålen hamnar när den träffar ett objekt först och utifrån det kan man ge pixeln ett färgvärde. Vill man gå ytterligare ett steg kan man följa strålen ytterligare en bit för att se hur den studsar och isf om den slutligen hamnar i en ljuskälla, och på så sätt beräkna highlights, skuggor, reflektioner osv.

Det är klart mer CPU-krävande än realtids 3D men eftersom man i princip simulerar verkligheten kan resultatet bli mycket bättre och i vissa fall praktiskt taget omöjligt att skilja från ett riktigt foto... men det beror naturligtvis på hur avancerad din raytracer är.

Hoppas det räcker som förklaring :D
Title: Replying to Topic 'Lite
Post by: griffin on June 19, 2003, 12:33:27
Jepp. Raytracing är mao ett ypperligt sätt att kräma musten ur datorns CPU då det till 99% handlar om flyttalsoperationer (vektor och matrisoperationer, lite beroede på implementation). Sen tillkommer lite I/O med...

Raytracing är kul ur programmeringssunpunkt. Teorin är enkel (som phlerp förklarade). Men för att göra det snabbt finns massor med intressanta algoritmer av varierande komplexitet att välja bland.

Här, jag har skrivit en enkel raytracer med dokumentation och allt. Den klarar ett superset av PovRay's format. Skrev den i samband med att jag var lärare på en kurs som lärde ut programmeringsmetodik (konsten att skriva bra program). Där använde man C som undervisningsspråk för att ha ett språk som har dåligt inbyggt stöd för att skriva lättförstådd, lättunderhållen samt modulär kod med bra abstraktioner.

Jag ville försöka visa att ett annat språk än C kunde lösa uppgiften lika bra - ett språk där det finns stöd för att skriva kod som är just modulär, lättunderhållen etc - och ändå bibehålla prestandan. Kan nämnas att den tracern blev snabbare än merparten av studenternas raytracrar skrivna i C. :)

Nog tjafsat: Griffins raytracer (http://www.csd.uu.se/~jenso/ftp/tracer-1.01.tar.gz). Läs mer i readme filen (http://www.csd.uu.se/~jenso/ftp/tracer-1.01.README.txt)
Title: Replying to Topic 'Lite
Post by: SledgeHammer on June 19, 2003, 23:39:03
Sedan så kan man ju släppa loss ordentligt och låta varje ljuskälla panga iväg strålar. Men det är ju inte raytracing utan en helt annan femma. Men då kan man leka brännglas i bilderna man eventuellt skapar =)

För att inte tala om att hålla koll på hur olika ytor (material) absorberar, reflekterar eller utstrålar energi... *pust*


Är du knäckt snart Erik? :D
Title: Replying to Topic 'Lite
Post by: SledgeHammer on June 19, 2003, 23:49:10
Ähum... Phlerp..! Är inte scanline fortfarande defaultrenderare i 3ds? ;)
In och pilla i inställningarna... tsssk tsssk...

Gratis är gott. Jag gillar BMRT.
Title: Replying to Topic 'Lite
Post by: Phlerp on June 20, 2003, 13:59:49
:D
Title: Replying to Topic 'Lite
Post by: SledgeHammer on June 20, 2003, 23:01:25
Se där...!

:p
Title: Replying to Topic 'Lite
Post by: TrakDah on June 24, 2003, 11:34:42
814!!![/i]

Fan vad dålig P3-1000 är! Referenssystemet en AMD1200+ har värden runt 1320!

BLÄÄÄÄ

/TD som får sin P4-3GHz i augusti