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
Assembly: Unity.RenderPipelines.Core.Runtime.dll
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()
See Also
VolumeParameter(T, bool)
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. |
bool | overrideState | The initial override state for the parameter. |
See Also
Fields
m_Value
The value stored and serialized by this parameter.
Declaration
[SerializeField]
protected T m_Value
Field Value
Type | Description |
---|---|
T |
See Also
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.
See Also
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
See Also
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 |
---|---|
bool |
|
Overrides
See Also
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 |
---|---|
bool |
|
See Also
GetHashCode()
Returns a hash code for the current object.
Declaration
public override int GetHashCode()
Returns
Type | Description |
---|---|
int | A hash code for the current object. |
Overrides
See Also
Interp(T, T, float)
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. |
float | 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.
See Also
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. |
See Also
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
See Also
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
See Also
Operators
operator ==(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 |
---|---|
bool |
|
See Also
explicit operator T(VolumeParameter<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 |
See Also
operator !=(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 |
---|---|
bool |
|