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
public class VolumeParameter<T> : VolumeParameter, 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)
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
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
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 |
|
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 |
|
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. |
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. |
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 |
|