C#: Move LinearToDb
and DbToLinear
to Mathf
This commit is contained in:
parent
1f22c482e1
commit
b29193945d
@ -49,17 +49,6 @@ namespace Godot
|
||||
return Variant.CreateTakingOwnershipOfDisposableValue(ret);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Converts from decibels to linear energy (audio).
|
||||
/// </summary>
|
||||
/// <seealso cref="LinearToDb(real_t)"/>
|
||||
/// <param name="db">Decibels to convert.</param>
|
||||
/// <returns>Audio volume as linear energy.</returns>
|
||||
public static real_t DbToLinear(real_t db)
|
||||
{
|
||||
return (real_t)Math.Exp(db * 0.11512925464970228420089957273422);
|
||||
}
|
||||
|
||||
private static string[] GetPrintParams(object[] parameters)
|
||||
{
|
||||
if (parameters == null)
|
||||
@ -111,26 +100,6 @@ namespace Godot
|
||||
return InteropUtils.UnmanagedGetManaged(NativeFuncs.godotsharp_instance_from_id(instanceId));
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Converts from linear energy to decibels (audio).
|
||||
/// This can be used to implement volume sliders that behave as expected (since volume isn't linear).
|
||||
/// </summary>
|
||||
/// <seealso cref="DbToLinear(real_t)"/>
|
||||
/// <example>
|
||||
/// <code>
|
||||
/// // "slider" refers to a node that inherits Range such as HSlider or VSlider.
|
||||
/// // Its range must be configured to go from 0 to 1.
|
||||
/// // Change the bus name if you'd like to change the volume of a specific bus only.
|
||||
/// AudioServer.SetBusVolumeDb(AudioServer.GetBusIndex("Master"), GD.LinearToDb(slider.value));
|
||||
/// </code>
|
||||
/// </example>
|
||||
/// <param name="linear">The linear energy to convert.</param>
|
||||
/// <returns>Audio as decibels.</returns>
|
||||
public static real_t LinearToDb(real_t linear)
|
||||
{
|
||||
return (real_t)(Math.Log(linear) * 8.6858896380650365530225783783321);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Loads a resource from the filesystem located at <paramref name="path"/>.
|
||||
/// The resource is loaded on the method call (unless it's referenced already
|
||||
|
@ -323,6 +323,17 @@ namespace Godot
|
||||
return d;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Converts from decibels to linear energy (audio).
|
||||
/// </summary>
|
||||
/// <seealso cref="LinearToDb(real_t)"/>
|
||||
/// <param name="db">Decibels to convert.</param>
|
||||
/// <returns>Audio volume as linear energy.</returns>
|
||||
public static real_t DbToLinear(real_t db)
|
||||
{
|
||||
return (real_t)Math.Exp(db * 0.11512925464970228420089957273422);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Converts an angle expressed in degrees to radians.
|
||||
/// </summary>
|
||||
@ -514,6 +525,26 @@ namespace Godot
|
||||
return from + (distance * weight);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Converts from linear energy to decibels (audio).
|
||||
/// This can be used to implement volume sliders that behave as expected (since volume isn't linear).
|
||||
/// </summary>
|
||||
/// <seealso cref="DbToLinear(real_t)"/>
|
||||
/// <example>
|
||||
/// <code>
|
||||
/// // "slider" refers to a node that inherits Range such as HSlider or VSlider.
|
||||
/// // Its range must be configured to go from 0 to 1.
|
||||
/// // Change the bus name if you'd like to change the volume of a specific bus only.
|
||||
/// AudioServer.SetBusVolumeDb(AudioServer.GetBusIndex("Master"), GD.LinearToDb(slider.value));
|
||||
/// </code>
|
||||
/// </example>
|
||||
/// <param name="linear">The linear energy to convert.</param>
|
||||
/// <returns>Audio as decibels.</returns>
|
||||
public static real_t LinearToDb(real_t linear)
|
||||
{
|
||||
return (real_t)(Math.Log(linear) * 8.6858896380650365530225783783321);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Natural logarithm. The amount of time needed to reach a certain level of continuous growth.
|
||||
///
|
||||
|
Loading…
Reference in New Issue
Block a user