• No results found

4.4 K¨ orsimulatorer

5.1.4 Shaderl¨ osningar

Den texturbaserade l¨osningen tog ingen h¨ansyn till varken material eller ytans orientering i f¨orh˚allande till str˚alkastaren vid luminansber¨akningen. Den lyste allts˚a upp allt som tr¨affas av k¨aglan p˚a samma s¨att, vilket naturligtvis ¨ar en stor f¨orenkling som ger diskutabelt resultat. Om t.ex. en yta ¨ar riktad rakt mot str˚alkastarna borde den bli starkare belyst ¨an om den ¨ar riktad bort fr˚an str˚alkastarna, som beskrivs i Stycke 3.2. Likas˚a ska en yta som reflekterar myc- ket ljus bli starkare belyst ¨an en yta som absorberar st¨orre delen av det infal- lande ljuset, som beskrivs i Stycke 3.3 Inget av detta tar den texturbaserade l¨osningen h¨ansyn till. Denna f¨orenkling ¨ar med en shader inte n¨odv¨andig utan samma ber¨akningar som utf¨ors vid OpenGL:s egna ljusk¨allor, eller till och med noggrannare, kan g¨oras ¨aven f¨or str˚alkastarna.

Figur 5.10: Testapplikation med belysning fr˚an helljus.

Den stora f¨ordelen med en shaderl¨osning j¨amf¨ort med den tidigare n¨amnda texturbaserade l¨osningen ¨ar flexibiliteten, se Stycke A.2. Ett exempel p˚a detta ¨

ar att texturer kan kombineras godtyckligt och inte bara enligt de m¨ojligheter som erbjuds av den fixa pipelinen. Det ¨ar med en shader ¨aven m¨ojligt att p˚a ett enkelt s¨att ber¨akna luminansen fr˚an str˚alkastarna p˚a en m¨angd olika s¨att.

S˚avida inte applikationen kr¨aver allt f¨or mycket resurser i form av textu- renheter och liknande, ger denna frihet som shaders inneb¨ar ocks˚a m¨ojligheten att genomf¨ora hela renderingen i ett enda pass. Detta kan inneb¨ara en stor f¨orb¨attring i renderingshastighet.

Shaderl¨osning i OGLSL eller Cg

De tv˚a f¨orsta shaderl¨osningarna bygger mycket p˚a den texturbaserade l¨osningen. Den stora skillnaden fr˚an den texturbaserade l¨osningen ¨ar att luminansen ber¨aknas f¨or str˚alkastarna p˚a samma s¨att som vanliga ljusk¨allor i OpenGL. Utbrednings- texturerna och avst˚andstexturen projiceras p˚a samma s¨att som den texturba- serade l¨osningen. F¨or att j¨amf¨ora Cg och OGLSL gjordes i m¨ojligaste grad tv˚a funktionellt s¨att identiska l¨osningar i de olika shadingspr˚aken.

Eftersom en vertexshader anv¨ands ¨ar det upp till shadern att utf¨ora tex- turkoordinatgenereringen. Ett enkelt s¨att ¨ar att i applikationen ber¨akna he- la transformationsmatrisen och sedan skicka denna till vertexshadern genom en uniform-variabel. Den transformation som ska g¨oras ¨ar allts˚a fr˚an model- lens koordinatsystem, i vilken alla vertexpositioner som anges ¨ar definierade, till str˚alkastarens projicerade koordinatsystem. D¨arefter transformeras koordi- naterna fr˚an intervallet [-1, 1] till [0, 1] precis som tidigare. Den enda skill- naden i det h¨ar fallet j¨amf¨ort med den tidigare l¨osningen blir att OpenGL inte hj¨alper till med transformationen fr˚an betraktarens koordinatsystem till v¨arldskoordinatsystemet. Denna transformation m˚aste allts˚a ber¨aknas. D¨aremot finns fortfarande transformationen fr˚an modellens koordinatsystem till betrak-

tarens koordinatsystem till hands ¨aven i vertexshadern i form av modelviewma- trisen. Kodlistning B.4 f¨orbereder shadern f¨or rendering.

F¨or ett g¨ora ljusber¨akningarna enkla i shadern skickas ¨aven str˚alkastarnas positioner i betraktarens koordinatsystem med som uniforms. Ut¨over det anges ¨

aven vilka texturer som ska anv¨andas f¨or att sl˚a upp avst˚ands- och utbred- ningsdata. Kodlistning B.5 listar vertexshadern och Kodlistning B.6 listar frag- mentshadern i Cg. Kodlistning B.7 respektive Kodlistning B.8 ¨ar motsvarande shaders i OGLSL.

V¨art att n¨amnas ¨ar att metoden anv¨ander, precis som den texturbaserade metoden, tv˚a pass, d¨ar det f¨orsta ritar scenen ljus och med texturer varefter det andra passet ritar scenen utan texturer och med belysning. D¨arefter moduleras de b˚ada passen samman s˚a att belysta omr˚aden f¨orblir ljusa och icke belysta omr˚aden skuggas. En begr¨ansning med detta uppl¨agg ¨ar att slutresultatet aldrig kan bli ljusare ¨an resultatet fr˚an det f¨orsta passet.

Skillnaden i renderingshastighet mellan versionen som anv¨ander Cg och den som anv¨ander OGLSL var mycket liten. OGLSL uppm¨attes till att vara omkring 4% snabbare i detta fall. Det b¨or dock till¨aggas att Cg tillhandah˚aller en funk- tion f¨or ljusber¨akning (lit) som g¨or n˚agot mer tester f¨or att f¨orhindra felaktig belysning f¨or bort˚atv¨anda normaler ¨an de motsvarande ber¨akningar som ist¨allet anv¨andes i OGLSL. N˚agon skillnad i bildkvalitet har inte noterats metoderna emellan.

Ljusber¨akningarna som g¨ors bygger p˚a samma modell som OpenGL anv¨ander i sin fixa pipeline. I vertexshadern g¨ors st¨orre delen av ljusber¨akningarna, d.v.s. h¨ar ber¨aknas det diffusa och spekul¨ara bidraget med avseende p˚a objektets position och orientering i f¨orh˚allande till ljusk¨allan varefter produkten av ljus- komponenterna och materialen f¨or objekten ber¨aknas f¨or det allm¨anna, diffusa och ˚aterfallande ljuset, se Stycke 3.2. Dessa komponenter summeras sedan, men resultatet beh˚alls f¨or varje ljusk¨alla var f¨or sig tills vidare. Det b¨or noteras att det ˚aterfallande ljuset adderas med de ¨ovriga komponenterna direkt. F¨or scener med starkt bl¨ankande objekt s¨arbehandlas ofta det ˚aterfallande ljuset och dess bidrag adderas d˚a efter de vanliga ljusber¨akningarna och texturuppslagningar- na. Detta anses inte n¨odv¨andigt vid denna till¨ampning vilket ¨ar anledningen till att det ˚aterfallande ljuset behandlas precis som det diffusa och allm¨anna. I vertexshadern ber¨aknas ocks˚a den aktuella vertexens position i str˚alkastarnas koordinatsystem genom de transformationsmatriser som skickats till shadern. Vertexens avst˚and till ljusk¨allan ber¨aknas ¨aven.

De i vertexshadern ber¨aknade v¨ardena interpoleras s˚a att v¨arden f¨or det aktuella fragmentet som behandlas i fragmentshadern finns till hands, se Styc- ke A.3. I fragmentshadern anv¨ands de transformerade vertexkoordinaterna f¨or att g¨ora texturuppslagningar i utbredningstexturerna. Resultaten av texturupp- slagningarna representerar str˚alkastarnas intensiteter i riktning mot det aktuella fragmentet. Fragmentets avst˚and till str˚alkastarna som ber¨aknades i vertexsha- dern anv¨ands f¨or att g¨ora texturuppslagningar i avst˚andstexturen. D¨arefter ber¨aknas ett slutligt ljusv¨arde f¨or vardera str˚alkastare som produkten av v¨ardena fr˚an de tv˚a texturerna samt ljusber¨akningen fr˚an vertexshadern. De b˚ada str˚alkastarnas ljusv¨arden adderas sedan ihop med ljusber¨akningen f¨or ¨ovriga ljusk¨allor.

Ett renderingspass (Shaderl¨osning A)

Steget fr˚an metoden i Stycke 5.1.4 ¨ar inte l˚angt. Om begr¨ansningen att endast en textur anv¨ands f¨or rendering av den vanliga scenen inf¨ors, d.v.s. ingen mul- titexturering anv¨ands, s˚a ¨ar det enda som kr¨avs f¨or att rendera allting i ett enda pass att en texturuppslagning till g¨ors i fragmentshadern vars resultat multipli- ceras med resultatet fr˚an ljusber¨akningarna. De texturkoordinater som anv¨ands f¨or denna texturuppslagning ¨ar de texturkoordinater som vid vanlig texturering anges till OpenGL i applikationen, se Stycke A.3. OpenGL skickar sedan dessa vidare till vertexshadern som i sin tur skickar dessa vidare till fragmenshadern som g¨or texturuppslagningen.

P.g.a. begr¨ansningar i h˚ardvara blir det lite besv¨ar om fler ¨an en textur beh¨ovs vid renderingen av den vanliga scenen. Ett s¨att att till˚ata att flera tex- turer anv¨ands p˚a vissa objekt ¨ar att v¨axla mellan olika shaders, d¨ar varje shader ¨

ar l¨ampad f¨or ett visst antal texturer. Det finns dock begr¨ansningen att sj¨alva shadern beh¨over ett visst antal texturer f¨or sina str˚alkastarber¨akningar. Det b¨or observeras att texturuppslagningar kostar tid och kan i korta fragmentsha- ders vara den stora flaskhalsen. Med b˚ade prestanda och bekv¨amlighet i ˚atanke anv¨ands bara en textur i den vanliga scenen.

En av nackdelarna med att rendera f¨orst scenen obelyst och sedan i ett andra pass tills¨atta belysningen enligt metoden i Stycke 5.1.4 ¨ar att ingen punkt kan bli ljusare ¨an det f¨orsta renderingspasset. Detta problem l¨oses i denna metod genom att inf¨ora en skalfaktor i form av en uniform variabel, se Stycke A.3. Den- na skalfaktor s¨atts i applikationen och motsvarar en skalning av str˚alkastarnas ljusstyrka. Ju st¨orre denna variabel s¨atts till desto starkare lyser str˚alkastarna upp omgivningen.

F¨orenklad ljusber¨akning (Shaderl¨osning B)

Metoden i Stycke 5.1.4 gav ett bra resultat med avseende p˚a visuell kvalitet. Metodens effektivitet kan d¨aremot diskuteras. Det kan ifr˚agas¨attas om det ¨ar f¨orsvarbart att g¨ora ljusber¨akningarna f¨or tv˚a str˚alkastare som sitter s˚a n¨ara varandra var f¨or sig. Denna metod g¨or vissa f¨orenklingar f¨or att ¨oka renderings- hastigheten.

F¨orst och fr¨amst g¨ors ljusber¨akningarna i vertexshadern f¨or endast en str˚alkastare som i ber¨akningarna befinner sig mellan de b˚ada ursprungliga str˚alkastarna. I fragmentshadern anv¨ands ocks˚a denna position f¨or att ber¨akna avst˚andet och d¨armed ljusets avtagande till det aktuella fragmentet. Detta betyder att endast en texturuppslagning beh¨over g¨oras i avst˚andstexturen. Med dessa f¨orenklingar ¨

okade prestandan utan att n˚agra f¨ors¨amringar av den visuella kvaliteten kunde urskiljas. Koden f¨or vertex- och fragmentshader listas i Kodlistning B.9 respek- tive Kodlistning B.10.

Sammanslagna str˚alkastare (Shaderl¨osning C)

F¨or att ¨oka prestandan ytterligare gjordes f¨ors¨ok att minska antalet texturupp- slagningar genom att sl˚a samman utbredningstexturerna f¨or de b˚ada str˚alkastarna.

Detta ¨ar ingen trivial uppgift, fr¨amst eftersom de b˚ada str˚alkastark¨aglorna utg˚ar fr˚an tv˚a skilda punkter och sedan i och med att avst˚andet ¨okar s˚a utbreder sig ljuset. Detta g¨or att ljusbilderna n¨armar sig varandra allt mer ju l¨angre ifr˚an str˚alkastarna man befinner sig. Sammanslaget f˚as allts˚a olika ljusbilder p˚a olika avst˚and fr˚an str˚alkastarna.

Det f¨orsta f¨ors¨oket anv¨ander sig av en 3D-textur f¨or att representera de sammanslagna utbredningstexturerna p˚a olika avst˚and fr˚an str˚alkastarna. Detta inneb¨ar att de b˚ada texturuppslagningarna i utbredningstexturen kan ers¨attas av en texturuppslagning i en 3D-textur. Tyv¨arr visade det sig snabbt att denna metod inte gav n˚agon ¨okning i renderinghastighet utan snarare en f¨ors¨amring. Detta f¨orklaras fr¨amst av att h˚ardvaran inte i f¨orsta hand ¨ar anpassad f¨or 3D- texturer vilket troligen lett till att en 3D-textur mer eller mindre inneb¨ar tv˚a texturuppslagningar i de tv˚a n¨armsta 2D-skivorna i 3D-texturen och d¨arefter en interpolation mellan dessa tv˚a v¨arden.

Efter en analysering av ljusbilden fr˚an de b˚ada str˚alkastarna p˚a olika avst˚and fr˚an str˚alkastarna och p˚a resultatet fr˚an metoden i Stycke 5.1.4 g˚ar det att notera tv˚a saker. Den f¨orsta ¨ar att efter bara n˚agra meter har ljusk¨aglorna n¨armat sig varandra s˚a mycket att det d¨arefter ¨ar sv˚art att se n˚agon st¨orre f¨or¨andring av ljusbilden. N˚agonstans mellan 10 och 15 meter fram ¨ar ljusbilderna ganska lika varandra, och efter 20 meter ¨ar det sv˚art att se skillnad ¨aven i ett kurvdiagram. Den andra saken ¨ar att den mest kritiska delen av belysningen, i alla fall med h¨ansyn till k¨anslan av att tv˚a str˚alkastare anv¨ands, ¨ar belysningen av v¨agbanan fr˚an halvljuset. Det ¨ar v¨agbanan som oftast belyses n¨ara nog f¨or att det ska g˚a att urskilja tv˚a str˚alkastark¨aglor, samt best˚ar av en plan och stor nog yta f¨or att ljusbildens m¨onster ska g˚a att urskilja. Denna belysning sker p.g.a. av str˚alkastarnas lutning n˚agra meter fram.

Dessa noteringar leder till att med ett v¨al valt avst˚and borde det g˚a att ap- proximera de b˚ada str˚alkastarnas ljusbild med en enda sammanslagen 2D-textur med relativt bra visuellt resultat. Ljusber¨akningarna i denna metod anv¨ander allts˚a bara en texturuppslagning i en sammanslagen utbredningstextur som ¨ar skapad f¨or ett l¨ampligt valt avst˚and fr˚an str˚alkastarna. Dessutom ber¨aknas lju- sets avtagande i fragmentshadern ist¨allet f¨or att sl˚a upp dess avtagande i en 1D-textur f¨or att minska antalet texturuppslagningar ytterligare. Med dessa f¨orenklingar kvarst˚ar totalt tv˚a texturuppslagningar.

5.1.5

J¨amf¨orelse

L¨osningen som bara anv¨ande den fixa pipelinen var den med avseende p˚a pre- standa b¨asta l¨osningen, men ocks˚a den l¨osning med s¨amst visuell kvalitet. Ef- tersom ingen h¨ansyn togs till den upplysta ytans material eller orientering re- lativt ljusk¨allan blir belysningen stel och livl¨os.

De shaderbaserade l¨osningarna gav mycket h¨ogre visuell kvalitet p.g.a. att de kan ta h¨ansyn till just material och ytornas orientering realtivt ljusk¨allan. De ber¨akningar som g¨ors kostar ocks˚a i form av renderingstid, vilket g¨or opti- meringar och f¨orenklingar attraktiva.

mellan de b˚ada riktiga str˚alkastarna visade sig vara en f¨orenkling som gav en stor f¨orb¨attring i renderingshastighet men minimal visuell f¨ors¨amring.

Effekten av n¨asta f¨orenkling, att sl˚a samman ljusbilderna f¨or de b˚ada str˚alkastarna till en ljusbild, ¨ar n˚agot mer diskutabel. F¨orenklingen gav visserligen ocks˚a den en stor f¨orb¨attring i renderingshastighet, men den visuella f¨ors¨amringen kan i vissa fall vara p˚ataglig. Detta g¨aller fr¨amst d˚a objekt som ligger p˚a n˚agra meters avst˚and fr˚an str˚alkastarna belyses. Om detta ¨ar en ovanlig f¨oreteelse i applikationen kan detta dock vara en acceptabel f¨orenkling.

F¨or att j¨amf¨ora shaderl¨osnigarna med avseende p˚a renderingshastighet gjor- des n˚agra prestandam¨atningar p˚a tv˚a olika maskiner, se Tabell 6.1.

5.1.6

Retroreflexiva objekt

Det ¨ar viktigt att v¨agskyltar och v¨agmarkeringar ¨ar f¨or f¨oraren v¨al synliga ¨

aven under m¨orkerk¨orning med belysning endast fr˚an det egna fordonet. Detta ¨

ar m¨ojligt genom att speciella retroreflexiva material anv¨ands f¨or skyltar samt v¨agmarkeringar, se Stycke 3.4. Dessa material reflekterar tillbaka ljuset i rikt- ningen som ljuset kommer ifr˚an. Detta f˚ar effekten att dessa material ¨ar f¨or f¨oraren under belysning synliga p˚a l¨angre avst˚and ¨an vanliga material. F¨or att ge ett realistiskt intryck ¨ar det viktigt att dessa egenskaper ˚aterspeglas i en simuleringen av m¨orkerk¨orning.

Eftersom simulering av belysning av dessa material ska g¨oras i realtid ¨ar det viktigt att de ber¨akningar som anv¨ands kan g¨oras p˚a ett effektivt s¨att. Det ¨

ar ¨aven l¨ampligt om samma shader kan anv¨andas f¨or all belysning, d.v.s. att det inte kr¨avs olika shaders f¨or olika typer av reflexiva material. Ytterligare en begr¨ansning ¨ar att retroreflexiviteten hos ett material endast beskrivs av ett flyttalsv¨arde.

Dessa begr¨ansningar inneb¨ar att b˚ade v¨agskyltar och v¨agmarkeringar ska si- muleras med samma ber¨akningar. Detta inneb¨ar en konflikt. Den reflexfolie som anv¨ands f¨or att konstruera v¨agskyltar reflekterar inte ljus fr˚an en stor infalls- vinkel s¨arskilt bra, till skillnad fr˚an materialet som anv¨ands f¨or v¨agmarkeringar som ¨ar specialgjort f¨or just detta, se Stycke 3.4. H¨ar m˚aste d¨armed en kompro- miss g¨oras. Eftersom skyltar s¨allan ¨ar placerade s˚a ostrategiskt att de f˚ar en mycket stor infallsvinkel mot trafiken ger det en mycket liten effekt om den- na egenskap hos materialet i simuleringen mer ˚aterspeglar v¨agmarkeringarnas egenskaper.

B˚ade v¨agskyltar och v¨agmarkeringar reflekterar dock tillbaka ljuset inom en mycket liten observationsvinkel d˚a materialen ¨ar konstruerade f¨or att reflektera tillbaka ljuset mot ljusk¨allan och d¨armed f¨oraren, se Stycke 3.4, vilket b¨or g¨alla ¨

aven i simuleringen. Det ¨ar mycket sv˚art att hitta m¨atdata f¨or dessa materi- als beroende av infallsvinkeln och observationsvinkeln, men Frank och Ewald presenterar en unders¨okning av just detta f¨or v¨agskyltars reflexfolie, se [14].

M˚alet ¨ar att i simuleringen p˚a ett mycket ber¨akningseffektivt s¨att ta h¨ansyn till infallsvinkel och observationsvinkel, se Figur 3.12. Observationsvinkeln ¨ar vinkeln mellan vektorn fr˚an den belysta ytan till f¨oraren, l˚at oss kalla den E, och vektorn fr˚an den belysta ytan till ljusk¨allan, l˚at oss kalla den L. Infallsvinkeln

Figur 5.11: Reflexiviteten som funktion av observationsvinkeln f¨or m¨atdata och approximationen C · cos(x)35000. M¨atv¨arden ¨ar direkt tagna fr˚an Frank och

Ewald [14].

¨

ar vinkeln mellan vektorn L och den belysta ytans normal N. L˚at samtliga vek- torer vara enhetsvektorer. D˚a ¨ar ett mycket kostnadseffektivt s¨att att ta h¨ansyn till beroendet av dessa vinklar att anv¨anda sig av skal¨arprodukten E · L f¨or observationsvinkeln och N · L f¨or infallsvinkeln. Notera att skal¨arprodukten av tv˚a enhetsvektorer ger cosinus f¨or vinkeln mellan vektorerna. Skal¨arprodukten ¨

ar en mycket billig operation p˚a dagens grafikkort.

F¨or att ta h¨ansyn till beroendet av observationsvinkeln p˚a ett effektivt s¨att ¨

ar m˚alet allts˚a att approximera m¨atresultaten fr˚an [14] med en funktion baserad p˚a E · L d.v.s. cosinus f¨or observationsvinkeln. Det visar sig att en funktionen C ·(E ·L)35000, d¨ar C ¨ar en l¨amplig konstant, f¨oljer m¨atv¨ardena tillfredst¨allande,

se Figur 5.11. Notera att det ¨ar kurvaturen och inte de faktiska v¨ardena som ¨ar intressant i detta fall.

Vad g¨aller infallsvinkeln g¨ors som tidigare beskrivits en kompromiss mel- lan v¨agmarkeringarnas och v¨agskyltarnas egenskaper. Eftersom v¨agskyltarna i regel ¨ar riktade mot f¨oraren ger denna kompromiss ett litet visuellt utslag om ber¨akningarna mer efterliknar v¨agmarkeringarnas egenskaper. Detta inneb¨ar att infallsvinkelns p˚averkan ska ge en f¨orh˚allandevis liten p˚averkan. D¨arf¨or anv¨ands i ber¨akningarna funktionen N · L.

Totalt f˚as en reflektionsfunktion f¨or retroreflexiva material enligt C · (E ·

5.2

Belysning fr˚an medtrafikanter

5.2.1

Introduktion

N¨ar ¨ogat n˚as av ljus fr˚an en stark och koncentrerad ljusk¨alla uppst˚ar vissa ef- fekter i ¨ogat. Dessa ¨ar s¨arskilt framtr¨adande i en m¨ork omgivning, se Stycke 3.7. Eftersom monitorer och projektorer i dagens l¨age inte kan ˚aterskapa ljusinten- siteter av den magnitud som str˚alkastare och liknande ljusk¨allor ger ifr˚an sig s˚a uteblir effekterna n¨ar s˚adana ljusk¨allor visualiseras p˚a traditionellt s¨att med des- sa media. F¨or att ˚aterge k¨anslan av ljusk¨allor med h¨og intensitet m˚aste d¨arf¨or effekterna som i sj¨alva verket ¨ager rum i ¨ogat simuleras. Eftersom alla ¨ogon ¨

ar olika ¨ar det om¨ojligt att korrekt simulera dessa effekter f¨or en godtycklig betraktare. D¨aremot ¨ar det inte om¨ojligt att g¨ora en approximativ simulering som ger betraktaren en ¨okad k¨ansla av realism genom trov¨ardigare h¨ogintensiva ljusk¨allor, och det ¨ar detta som ¨ar m˚alet med metoden.

5.2.2

Restriktioner

Att l˚ata medtrafikanternas belysning av omgivningen hanteras p˚a samma s¨att som belysningen fr˚an det egna fordonet skulle vara allt f¨or ber¨akningskr¨avande f¨or att vara genomf¨orbart med tillg¨anglig h˚ardvara f¨or mer ¨an ett par str˚alkastare. D¨arf¨or begr¨ansas simuleringen av medtrafikanternas str˚alkastare till de effekter ljuset som direkt n˚ar f¨orarens ¨ogon orsakar. Detta medf¨or att medtrafikanterna ej lyser upp omgivningen. N¨ar tillf¨alle ges, t.ex. i form av kraftfullare h˚ardvara ¨

ar det inte sv˚art att till¨ampa n˚agon av de metoder som beskrivits f¨or simulering av de egna str˚alkastarna ¨aven f¨or medtrafikanterna. Det kan d˚a vara l¨ampligt att vidare unders¨oka n˚agon av de prestandam¨assigt billigare varianterna.

Eftersom effekterna fr˚an medtrafikanters fordonsbelysning varierar fr˚an in- divid till individ blir bed¨omningen av vad som ¨ar en korrekt simulerad effekt till stor del en subjektiv bed¨omning. P.g.a detta beskrivs inga exakta v¨arden p˚a hur komponenterna i de olika effekterna ber¨aknas eller anv¨ands, utan ist¨allet framh¨avs samband mellan ljusk¨allors egenskaper och de resulterande effekterna.

5.2.3

Belysningsstyrka

Belysningsstyrkan fr˚an en ljusk¨alla beror p˚a intensiteten fr˚an ljusk¨allan och p˚a avst˚andet. Som beskrivs i Stycke 3.1 avtar belysningsstyrkan med kvadraten p˚a avst˚andet. Intensiteten fr˚an ljusk¨allan vid en viss vinkel ¨ar mer komplicerad. F¨or att effekterna fr˚an medtrafikanternas str˚alkastare ska upplevas realistiska m˚aste de ge en intensitet som i b¨asta m¨ojliga m˚an ¨overensst¨ammer med de verkliga. D¨arf¨or anv¨ands precis som f¨or det egna fordonets str˚alkastare ljusbilder i form av isocandeladiagram f¨or att representera medtrafikanternas str˚alkastare.

Att sl˚a upp en ljusintensitet i ljusbilden blir inte s¨arskilt ber¨akningskr¨avande. Givet riktningsvektorn fr˚an ljusk¨allan till betraktaren i v¨arldskoordinater kan detta g¨oras genom att f¨orst transformera riktningvektorn till ljusk¨allans koordi- natsystem. Eftersom vektorn som transformeras ¨ar en riktningsvektor ska bara

Related documents