PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Wavetracing


Grasso
2013-02-19, 14:06:06
Dies ist eine Methode, um die Welt akustisch zu simulieren. Quellen senden Schall aus, der an Objekten gespiegelt wird, um dann oder nach weiteren Spiegelungen das Ohr zu erreichen. Die Wellenlängen des Schalls sind allerdings manchmal größer als die im Weg stehenden Objekte, sodann der Schall gebeugt wird. Deshalb spricht man hier nicht von Raytracing -- ein Strahl ist scharf, eine Welle weich. Schall kann zudem gedämpft oder gedämmt werden, was A3D 2.0 auch berücksichtigen konnte.

Nachdem, was ich so gelesen habe, konnte Aureals Vortex 2 (AU8830 Chip) sechzehn Schallquellen gleichzeitig so auf einen Hörer lenken, daß man seine Umgebung mit geschlossenen Augen "sehen" konnte. Der Chip berechnete über ein vereinfachtes Wellenmodell Kollisionen, Weglängen, Abschwächungen und Zeitpunkte, um über den PCI-Bus auf die im Hauptspeicher stehenden Klangquellen zuzugreifen und sie zusammenzumischen. Eine einzige Schallquelle konnte mit 64 Spiegelungen versehen werden, also praktisch verhallt werden, während bei gleichzeitiger Wiedergabe mehrerer Quellen Kompromisse gemacht werden mußten.

Ich hatte eine Vortex 2 und Heretic II, konnte mich aber nicht vom Wavetracing überzeugen. Half Life soll mit A3D 2.0 sehr wirklichkeitsnah klingen. Quake 3 hat es später wieder fallengelassen. Aureal Semiconductor wurde von Creative Labs aufgefressen, die Reste als EAX3/HD ausgeschissen.

Daneben gibt es noch nichtlineare Effekte wie zum Beispiel Mitrappeln. Alles, was sich bewegt, macht Lärm. Rechenleistung ist genügend da, aber wer programmiert sie? Gothic II ist mit DirectSound3D o.k., EAX nix gut.

Rogue
2013-02-20, 11:14:29
Das ist komplizierter und rechenintensiver als du glaubst.
Ich weiss wirklich nicht wie Aureal das damals umgesetzt hat, aber HEUTE arbeite ich unter anderem mit einer Akustik-Simulationssoftware die den Wellenweg mit Strahlverfolgung + einem Teilchenmodll berechnet.
Weil normale aktuelle Quadcores dafür zu langsam sind, habe ich dafür grade ne dicke dual-Xeon Workstation angeschafft.
Ich hoffe der Softwarehersteller ermöglicht es bald diese Art Berechnungen auf Cuda/OpenCL auszulagern.

Eine Schallverteilung in einem "normalen Raum" von sagen wir 5x5m zu berechnen (bei akzeptabler Auflösung/Präzision) lastet die dicke Workstation schonmal zwischen 10m und 1h aus. Andere Hersteller bieten vergleichbare Programme für Aussenlärm wo ganze Strassenzüge berechnet werden. Die schliessen dazu 30 von solchen Workstations zusammen und lassen die Dinger einige Tage an so einer Rechnung rumkauen.

Leider gabs nie genügend interne Informationen zu diesen Systemen wie von Aureal.
Die Vereinfachung der Rechnung muss extrem groß sein, aber eben auch trotzdem gut die Realität getroffen haben.
Sollte ich mal Milliardär werden kaufe ich Creative das ganze Gesummse ab und lege das mal offen :D

Rechenleistung für bessere Ingame Modelle ist zwar vorhanden, aber leider interessiert sich in der zielgruppe der Spieler kein Mensch dafür. Mieser 08/15 Sound scheint niemanden zu stören, von einer verschwindend geringen Minderheit einmal abgesehen und diese ist dann noch nicht einmal konsequent und ändert ihr Kaufverhalten.
Was soll man auch kaufen? Das Problem hat die gesamte Games-Industrie.

Unsere einzige Hoffnung ist das die neue Konsolengeneration dahingehend "potent" ist und guter Gamesound nach Kinect-artiger Bewegungssteuerung und 3D Gedönse vielleicht nochmal als Marketingfeature interessant wird. Vorher tut sich da garantiert garnichts.

Grasso
2013-02-21, 12:59:55
Aureals Umsetzung war so realistisch wie eine Kaffekanne aus 50 Polygonen, also klar künstlich, aber nur weil ein Schraubendreher nicht so natürlich ist wie ein süßes Mädchen, lehne ich ihn nicht ab.

Ich habe mal Kunstkopfaufnahmen, also analoges HRTF gemacht. Das ist erstaunlich realistisch. So kompliziert kann die Technik nicht sein, daß man nicht unter dem Patentradar bleiben könnte. Scheiß auf Konsolen

Grasso
2013-02-23, 13:42:58
Ich habe heute eine Aureal Vortex 2 erhalten, während draußen der Schnee stöbert. Der L/R-Versatz des STAC9708 AC97 macht die Karte für analoge Musikmischungen weniger geeignet, und die TDA1308 Kopfhörerverstärker sind wohl auch kein Hi-End. Sie kommt dann erst mal unter WinXP, um AKG Kopfhörer zu treiben.

Diese Audiobeschleuniger sind alle auf einem Motorola56000-artigen DSP aufgebaut, hier die Spez' für m56k:
* Je 20MHz Periode wird ein Programmwort, das höchstens zwei Befehle enthalten kann, abgearbeitet. Das können ein Multiple+Add und/oder ein Programmsprung und/oder eine oder zwei Datenbewegungen sein.
* 8 24-bit-Register (2 X, 2 Y und 2 48-bit Z)
* Je ein Puffer 256 Wörter für X and Y
* Puffer 512 Wörter Programm
* Am E/A hängen mindestens die Wandler. Bei Turtle Beach Hurricane ISA Soundkarten kommen noch 32 Kilowörter 1-waitstate SRAM und ein m68k hinzu. Es gibt bootfähige Versionen mit internem Programm-ROM.

Chips wie AU8830 und EMU10k besitzen mehr Puffer und einen PCI Busmaster. Es wurde im Rahmen des kX-Projekts schon versucht, mit der Soundblaster live! Wavetracing zu machen.

Grasso
2013-02-28, 13:12:07
Gothic II NdR 2.6fix hat kein A3D mehr, beim nächsten Start steht es wieder auf miles fast. DirectSound3D HardWare hört sich auf Aureal Vortex aber besser an als auf Soundblaster live!. Gothic 1.08k hat mit DS3D HW zu lautes Ambiente und zu leise Dialoge.

Unter WinXP gibt es je nach HAL (PIC oder APIC) und PCI latency Knackser, die mit Inanspruchnahme des Busses weniger werden, oder gehimmeltes Busmastering (man hört nichts mehr). Für SB live! ist die Treibersituation kaum besser.

Unter Win98SE beschwert sich Aureal, daß die Karte in einem secondary PCI Bus säße: PCI- und Speicherkontroller saßen ursprünglich in der Northbridge. Das Hypertransport meines Turion 64 ist nun primary PCI, der PCI-Bus des nForce3 250 secondary.

Aureals Demos klingen schon realistisch. Die ersten Spiegelungen sind wichtiger als die Nachhallfahne. Immerhin war EAX2 in Gothic noch sauber gemacht, was meine Aureal Vortex leider nicht rendert. In Gothic II ist der Hall oft so falsch, daß man lieber ohne EAX spielt.

Verdeckungen (occlusions) werden von vielen Spieleengines berechnet, damit man nicht das Monster in der Etage über einem brüllen hört, als stünde es vor einem. Gothic II verdeckt weder Ton noch künstliches Licht, und dieses Manko kann durch das Leveldesign natürlich nicht vollständig kompensiert werden. Gothic verdeckt immerhin Licht.

Spielesoftware ist also längst nicht optimiert, auch wenn Gothics Tiefe schon auf dem halben Weg ist. Gothic 4 soll schön aussehen aber sich saudumm spielen. Konsolen sind auch nicht die Lösung, denn verzogene Bürschchen schissen auf die Natur und ließen ein paar Atommeiler hochgehen.

Grasso
2013-05-08, 17:05:29
Ich spiele jetzt Heretic II 1.06 mit A3D2. Mit Wavetracing ist man sofort mittendrin, man kann das Level "fühlen" anstatt nur zu "hören". Mist, Heretic 1.06 hat auch kein Wavetracing, obwohl es alle nötigen Variablen setzt. 1.04 sollte aber.

Als ich ein Fass zerschlug, hat mich die Spritzigkeit überrascht, was auchein Verdienst der Quake-2-Engine ist: Jedes Bruchstück, das gegen eine Fläche schlägt, gibt dabei einen eigenen Tonimpuls ab. Allerdings reißen die Geräusche eines grünen Zauberballs vollständig ab, sowie man die Sichtverbindung verliert. Das sollte nicht sein, sofern noch Reflektionen um die Ecke kommen. Wavetracing scheint also nur für Quellen, die langsam sind, oder deren Verhältnis aus Zeitdauer und zurückgelegter Strecke klein ist, verwendet zu werden. Außerdem beleuchtet Heretic II an einer Stelle edit: oft falschrum. Ja, die Beleuchtung ist echt pseudo.

Auf jeden Fall ist Wavetracing für mich beinahe ein Muß. Schon mit zwei Lautsprechern überzeugt es. Wie geil wäre die Beleuchtung von Gothic mit dem Multipassrendering von Gothic 2 und dazu Wavetracing!