Förslag till kandidatarbete
Joachim Bengtsson, spelprogrammering -04
Arbetet kommer att gå ut på en implementation av en algoritm för att modellera realistiskt ljud i spel, och allt som behövs för att gå från ljud i spelmotorn till ljud i högtalare.
Algoritmen som ska implementeras är "Extension of the image model to arbitrary polyhedra" (Borish, 1982). Image Model går i korta drag ut på att av ett problem med en ljudkälla och studsar skapa ett ekvivalent problem med flera ljudkällor och inga studsar, genom att skapa virtuella ljudkällor i rum som är spegelbilder av originalljudkällans rum, och göra detta rekursivt. Varje väggs spegelbild motsvarar då en studs i den speglande väggen.
Borishs utökning av ovanstående metod går ut på att reflektera varje ljudkälla i alla rummets ytor utan några geometriska begränsningar, och sedan bedöma reflektionens giltighet efter tre kriterier:
1) att ljudet inte har i något skede reflekterats i baksidan av en vägg (validity)
2) att det totala avståndet från den virtuella ljudkällan till lyssnaren inte innebär att ljudet inte hörs (proximity/decay)
3) att varje ljudkälla är synlig och inte täcks av någon geometri (visibility)
Stegen för min egen implementation kommer bli:
• Beräkna direktljuds riktning och styrka, och placera detta ljud i användarens två högtalare
• Utöka denna modell för arbiträrt antal högtalare
• Implementera Borishs algoritm för att få occlusion och reverb-effekt, och integrera den med modellen för placering i arbiträrt antal högtalare
• Implementera en filtermodell för att filtrera ljud när det studsar mot absorberande material
• Integrera med en spelmotor
Mikael Swartling har letat reda på algoritmen åt mig, och kan hjälpa mig med signalbehandlingsbiten.