<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="de">
		<id>https://wiki.delphigl.com/index.php?action=history&amp;feed=atom&amp;title=alDopplerFactor</id>
		<title>alDopplerFactor - Versionsgeschichte</title>
		<link rel="self" type="application/atom+xml" href="https://wiki.delphigl.com/index.php?action=history&amp;feed=atom&amp;title=alDopplerFactor"/>
		<link rel="alternate" type="text/html" href="https://wiki.delphigl.com/index.php?title=alDopplerFactor&amp;action=history"/>
		<updated>2026-04-30T00:38:40Z</updated>
		<subtitle>Versionsgeschichte dieser Seite in DGL Wiki</subtitle>
		<generator>MediaWiki 1.27.4</generator>

	<entry>
		<id>https://wiki.delphigl.com/index.php?title=alDopplerFactor&amp;diff=21851&amp;oldid=prev</id>
		<title>Thoronador am 16. Juni 2008 um 12:00 Uhr</title>
		<link rel="alternate" type="text/html" href="https://wiki.delphigl.com/index.php?title=alDopplerFactor&amp;diff=21851&amp;oldid=prev"/>
				<updated>2008-06-16T12:00:47Z</updated>
		
		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;table class=&quot;diff diff-contentalign-left&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class='diff-marker' /&gt;
				&lt;col class='diff-content' /&gt;
				&lt;col class='diff-marker' /&gt;
				&lt;col class='diff-content' /&gt;
				&lt;tr style='vertical-align: top;' lang='de'&gt;
				&lt;td colspan='2' style=&quot;background-color: white; color:black; text-align: center;&quot;&gt;← Nächstältere Version&lt;/td&gt;
				&lt;td colspan='2' style=&quot;background-color: white; color:black; text-align: center;&quot;&gt;Version vom 16. Juni 2008, 12:00 Uhr&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l49&quot; &gt;Zeile 49:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Zeile 49:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;== Hinweise ==&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;== Hinweise ==&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;del class=&quot;diffchange diffchange-inline&quot;&gt;Falls &lt;/del&gt;man mit '''alDopplerFactor''' den Wert 0 setzt, so ist der Dopplereffekt faktisch deaktiviert.&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;Wenn &lt;/ins&gt;man mit '''alDopplerFactor''' den Wert 0 setzt, so ist der Dopplereffekt faktisch deaktiviert&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;.&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;#160;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;#160;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;#160;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;Falls bei der Ausführung ein Fehler aufgetreten ist, kann dieser mit [[alGetError]] abgefragt werden&lt;/ins&gt;.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>Thoronador</name></author>	</entry>

	<entry>
		<id>https://wiki.delphigl.com/index.php?title=alDopplerFactor&amp;diff=21850&amp;oldid=prev</id>
		<title>Thoronador: Die Seite wurde neu angelegt: = alDopplerFactor =    == Name == '''alDopplerFactor''' - Setzt den Dopplerfaktor, um den Dopplereffekt zu verstärken.    == Delphi-Spezifikation ==  procedure '''alDo...</title>
		<link rel="alternate" type="text/html" href="https://wiki.delphigl.com/index.php?title=alDopplerFactor&amp;diff=21850&amp;oldid=prev"/>
				<updated>2008-06-16T11:59:15Z</updated>
		
		<summary type="html">&lt;p&gt;Die Seite wurde neu angelegt: = alDopplerFactor =    == Name == &amp;#039;&amp;#039;&amp;#039;alDopplerFactor&amp;#039;&amp;#039;&amp;#039; - Setzt den Dopplerfaktor, um den Dopplereffekt zu verstärken.    == Delphi-Spezifikation ==  procedure &amp;#039;&amp;#039;&amp;#039;alDo...&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Neue Seite&lt;/b&gt;&lt;/p&gt;&lt;div&gt;= alDopplerFactor =&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Name ==&lt;br /&gt;
'''alDopplerFactor''' - Setzt den Dopplerfaktor, um den Dopplereffekt zu verstärken.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Delphi-Spezifikation ==&lt;br /&gt;
 procedure '''alDopplerFactor'''(''value'': TALfloat);&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Parameter ==&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; rules=&amp;quot;all&amp;quot;&lt;br /&gt;
! ''value'' &lt;br /&gt;
| der zu setzende Skalierungsfaktor&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Beschreibung == &lt;br /&gt;
Die Funktion '''alDopplerFactor''' setzt den Skalierungsfaktor für den geschwindigkeitsabhängigen Dopplereffekt.&lt;br /&gt;
Der Dopplereffekt hängt von den Geschwindigkeiten der Source-Objekte und des Listener-Objektes sowie der Schallgeschwindigkeit im jeweiligen Medium (Luft, Wasser, usw.) ab. Eine Anwendung kann diesen Effekt mit Hilfe von '''alDopplerFactor''' verstärken oder abschwächen, falls die physikalisch korrekte Berechnung nicht die gewünschten Ergebnisse erzielt. Der Vorgabewert ist 1. &lt;br /&gt;
&lt;br /&gt;
Der von [[OpenAL]] implementierte Dopplereffekt wird nach den weiter unten folgenden Formeln berechnet.&lt;br /&gt;
&lt;br /&gt;
SL: Vektor vom Source- zum Listener-Objekt&amp;lt;br&amp;gt;&lt;br /&gt;
LV: Geschwindigkeitsvektor des Listener-Objektes&amp;lt;br&amp;gt;&lt;br /&gt;
SV: Geschwindigkeitsvektor des Source-Objektes&amp;lt;br&amp;gt;&lt;br /&gt;
f: Frequenz des Samples&amp;lt;br&amp;gt;&lt;br /&gt;
f&amp;lt;nowiki&amp;gt;'&amp;lt;/nowiki&amp;gt;: effektive, durch Dopplereffekt erzeugte Frequenz&lt;br /&gt;
&lt;br /&gt;
Länge(Vektor) := sqrt(Vektor.x*Vektor.x+Vektor.y*Vektor.y+Vektor.z*Vektor.z)&amp;lt;br&amp;gt;&lt;br /&gt;
Skalarprodukt(v1, v2) := (v1.x*v2.x + v1.y*v2.y + v1.z*v2.z)&lt;br /&gt;
&lt;br /&gt;
vls = Skalarprodukt(SL, LV) / Länge(SL)&lt;br /&gt;
&lt;br /&gt;
vss = Skalarprodukt(SL, SV) / Länge(SL)&lt;br /&gt;
&lt;br /&gt;
vls = min(vls, AL_SPEED_OF_SOUND/AL_DOPPLER_FACTOR)&lt;br /&gt;
&lt;br /&gt;
vss = min(vss, AL_SPEED_OF_SOUND/AL_DOPPLER_FACTOR)&lt;br /&gt;
&lt;br /&gt;
f&amp;lt;nowiki&amp;gt;'&amp;lt;/nowiki&amp;gt; = f*(AL_SPEED_OF_SOUND - AL_DOPPLER_FACTOR*vls)/ (AL_SPEED_OF_SOUND - AL_DOPPLER_FACTOR*vss)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Hinweise ==&lt;br /&gt;
Falls man mit '''alDopplerFactor''' den Wert 0 setzt, so ist der Dopplereffekt faktisch deaktiviert.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Änderungen ==&lt;br /&gt;
Folgende Erweiterungen hat die Funktion erfahren:&lt;br /&gt;
=== Ab OpenAL-Version 1.1 ===&lt;br /&gt;
Die Implementierung des Dopplereffekts in OpenAL 1.1 unterscheidet sich von der Implementierung in OpenAL 1.0, da diese teilweise verwirrend war. Falls der in OpenAL 1.1 weggefallene Parameter '''AL_DOPPLER_VELOCITY''' unterstützt werden soll (der Einstiegspunkt für die Funktion [[alDopplerVelocity]] bleibt auch in OpenAL 1.1 erhalten, damit für OpenAL 1.0 geschriebene Anwendungen auf gegen eine OpenAL 1.1-Bibliothek verlinken können), müssen die oben genannten Formeln wie folgt geändert werden:&lt;br /&gt;
&lt;br /&gt;
vls = min(vls, AL_SPEED_OF_SOUND*AL_DOPPLER_VELOCITY/AL_DOPPLER_FACTOR)&lt;br /&gt;
&lt;br /&gt;
vss = min(vss, AL_SPEED_OF_SOUND*AL_DOPPLER_VELOCITY/AL_DOPPLER_FACTOR)&lt;br /&gt;
&lt;br /&gt;
f&amp;lt;nowiki&amp;gt;'&amp;lt;/nowiki&amp;gt; = f*(AL_SPEED_OF_SOUND*AL_DOPPLER_VELOCITY - AL_DOPPLER_FACTOR*vls)/ (AL_SPEED_OF_SOUND*AL_DOPPLER_VELOCITY - AL_DOPPLER_FACTOR*vss)&lt;br /&gt;
&lt;br /&gt;
In OpenAL 1.1 sollte '''AL_DOPPLER_VELOCITY''' (dessen Vorgabewert 1,0 ist) niemals verwendet werden.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Fehlermeldungen ==&lt;br /&gt;
'''AL_INVALID_VALUE''' wird generiert, wenn der angegebene Wert ''value'' nicht zulässig ist. Dies passiert bei allen negativen Werten.&lt;br /&gt;
&lt;br /&gt;
'''AL_INVALID_OPERATIION''' wird generiert, wenn es keinen aktuellen Kontext gibt. (Siehe auch [[alcMakeContextCurrent]].)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Zugehörige Wertrückgaben ==&lt;br /&gt;
[[alGet]] mit Token [[alGet#AL_DOPPLER_FACTOR|AL_DOPPLER_FACTOR]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Siehe auch ==&lt;br /&gt;
[[alSpeedOfSound]] (für OpenAL 1.0 auch die '''veraltete''' Funktion [[alDopplerVelocity]]))&lt;br /&gt;
&lt;br /&gt;
[[Kategorie:AL|DopplerFactor]]&lt;/div&gt;</summary>
		<author><name>Thoronador</name></author>	</entry>

	</feed>