Class VolumeParameter<T>
A generic implementation of VolumeParameter. Custom parameters should derive from this class and implement their own behavior.
Inherited Members
Namespace: UnityEngine.Rendering
Syntax
[Serializable]
public class VolumeParameter<T> : VolumeParameter, ICloneable, IEquatable<VolumeParameter<T>>
Type Parameters
| Name | Description |
|---|---|
| T | The type of value to hold in this parameter. |
Remarks
T should a serializable type.
Due to limitations with the serialization system in Unity, you should not use this class
directly to declare parameters in a VolumeComponent. Instead, use one of the
pre-flatten types (like FloatParameter, or make your own by extending this
class.
Examples
This sample code shows how to make a custom parameter holding a float:
using UnityEngine.Rendering;
[Serializable]
public sealed class MyFloatParameter : VolumeParameter<float>
{
public MyFloatParameter(float value, bool overrideState = false)
: base(value, overrideState) { }
public sealed override void Interp(float from, float to, float t)
{
m_Value = from + (to - from) * t;
}
}
Constructors
VolumeParameter()
Creates a new VolumeParameter<T> instance.
Declaration
public VolumeParameter()
VolumeParameter(T, Boolean)
Creates a new VolumeParameter<T> instance.
Declaration
protected VolumeParameter(T value, bool overrideState = false)
Parameters
| Type | Name | Description |
|---|---|---|
| T | value | The initial value to store in the parameter. |
| Boolean | overrideState | The initial override state for the parameter. |
Fields
m_Value
The value stored and serialized by this parameter.
Declaration
[SerializeField]
protected T m_Value
Field Value
| Type | Description |
|---|---|
| T |
Properties
value
The value that this parameter stores.
Declaration
public virtual T value { get; set; }
Property Value
| Type | Description |
|---|---|
| T |
Remarks
You can override this property to define custom behaviors when the value is changed.
Methods
Clone()
Clones the current instance of the VolumeParameter
Declaration
public override object Clone()
Returns
| Type | Description |
|---|---|
| Object | A new created instance with the same values as the current instance of VolumeParameter |
Overrides
Equals(Object)
Determines whether two object instances are equal.
Declaration
public override bool Equals(object obj)
Parameters
| Type | Name | Description |
|---|---|---|
| Object | obj | The object to compare with the current object. |
Returns
| Type | Description |
|---|---|
| Boolean |
|
Overrides
Equals(VolumeParameter<T>)
Checks if this parameter is equal to another.
Declaration
public bool Equals(VolumeParameter<T> other)
Parameters
| Type | Name | Description |
|---|---|---|
| VolumeParameter<T> | other | The other parameter to check against. |
Returns
| Type | Description |
|---|---|
| Boolean |
|
Implements
GetHashCode()
Returns a hash code for the current object.
Declaration
public override int GetHashCode()
Returns
| Type | Description |
|---|---|
| Int32 | A hash code for the current object. |
Overrides
Interp(T, T, Single)
Interpolates two values using a factor t.
Declaration
public virtual void Interp(T from, T to, float t)
Parameters
| Type | Name | Description |
|---|---|---|
| T | from | The start value. |
| T | to | The end value. |
| Single | t | The interpolation factor in range [0,1]. |
Remarks
By default, this method does a "snap" interpolation, meaning it returns the value
to if t is higher than 0, and from
otherwise.
Override(T)
Sets the value for this parameter and sets its override state to true.
Declaration
public void Override(T x)
Parameters
| Type | Name | Description |
|---|---|---|
| T | x | The value to assign to this parameter. |
SetValue(VolumeParameter)
Sets the value of this parameter to the value in parameter.
Declaration
public override void SetValue(VolumeParameter parameter)
Parameters
| Type | Name | Description |
|---|---|---|
| VolumeParameter | parameter | The VolumeParameter to copy the value from. |
Overrides
ToString()
Returns a string that represents the current object.
Declaration
public override string ToString()
Returns
| Type | Description |
|---|---|
| String | A string that represents the current object. |
Overrides
Operators
Equality(VolumeParameter<T>, T)
Compares the value in a parameter with another value of the same type.
Declaration
public static bool operator ==(VolumeParameter<T> lhs, T rhs)
Parameters
| Type | Name | Description |
|---|---|---|
| VolumeParameter<T> | lhs | The first value in a VolumeParameter. |
| T | rhs | The second value. |
Returns
| Type | Description |
|---|---|
| Boolean |
|
Explicit(VolumeParameter<T> to T)
Explicitly downcast a VolumeParameter<T> to a value of type
T.
Declaration
public static explicit operator T(VolumeParameter<T> prop)
Parameters
| Type | Name | Description |
|---|---|---|
| VolumeParameter<T> | prop | The parameter to downcast. |
Returns
| Type | Description |
|---|---|
| T | A value of type |
Inequality(VolumeParameter<T>, T)
Compares the value store in a parameter with another value of the same type.
Declaration
public static bool operator !=(VolumeParameter<T> lhs, T rhs)
Parameters
| Type | Name | Description |
|---|---|---|
| VolumeParameter<T> | lhs | The first value in a VolumeParameter. |
| T | rhs | The second value. |
Returns
| Type | Description |
|---|---|
| Boolean |
|