![]() |
Murl Engine Lua Addon API
Version 1.0 beta
|
A collection of system-wide constant enumerations.
All enumerations can be accessed by a corresponding Enum accessor.
Predefined interpolation curves (easing functions).
Murl.IEnums.INTERPOLATION_CONSTANT | Constant y=0 |
Murl.IEnums.INTERPOLATION_LINEAR | Linear y=x |
Murl.IEnums.INTERPOLATION_EASE_IN | Ease (cubic) "in" EaseIn(x)=x^3, y=EaseIn(x) |
Murl.IEnums.INTERPOLATION_EASE_OUT | Ease (cubic) "out" y=1-EaseIn(1-x) |
Murl.IEnums.INTERPOLATION_EASE_IN_OUT | Ease (cubic) "in-out" y=(x < 0.5) ? EaseIn(2*x)/2 : 1-EaseIn(2-2*x)/2 |
Murl.IEnums.INTERPOLATION_EASE_OUT_IN | Ease (cubic) "out-in" y=4*EaseIn(x-0.5)+0.5 |
Murl.IEnums.INTERPOLATION_SMOOTHSTEP_IN | Smoothstep "in" y=SmoothstepInOut(x/2)*2 |
Murl.IEnums.INTERPOLATION_SMOOTHSTEP_OUT | Smoothstep "out" y=SmoothstepInOut((x+1)/2)*2-1 |
Murl.IEnums.INTERPOLATION_SMOOTHSTEP_IN_OUT | Smoothstep "in-out" SmoothstepInOut(x)=(x^2)*(3-2*x), y=SmoothstepInOut(x) |
Murl.IEnums.INTERPOLATION_SMOOTHSTEP_OUT_IN | Smoothstep "out-in" y=(x < 0.5) ? SmoothstepInOut(x+0.5)-0.5 : SmoothstepInOut(x-0.5)+0.5 |
Murl.IEnums.INTERPOLATION_SMOOTHERSTEP_IN | Smootherstep "in" y=SmootherstepInOut(x/2)*2 |
Murl.IEnums.INTERPOLATION_SMOOTHERSTEP_OUT | Smootherstep "out" y=SmootherstepInOut((x+1)/2)*2-1 |
Murl.IEnums.INTERPOLATION_SMOOTHERSTEP_IN_OUT | Smootherstep "in-out" SmootherstepInOut(x)=(x^3)*(x*(6*x-15)+10), y=SmootherstepInOut(x) |
Murl.IEnums.INTERPOLATION_SMOOTHERSTEP_OUT_IN | Smootherstep "out-in" y=(x < 0.5) ? SmootherstepInOut(x+0.5)-0.5 : SmootherstepInOut(x-0.5)+0.5 |
Murl.IEnums.INTERPOLATION_EASE_QUART_IN | Ease Quart "in" EaseQuartIn(x)=x^4, y=EaseQuartIn(x) |
Murl.IEnums.INTERPOLATION_EASE_QUART_OUT | Ease Quart "out" y=1-EaseQuartIn(1-x) |
Murl.IEnums.INTERPOLATION_EASE_QUART_IN_OUT | Ease Quart "in-out" y=(x < 0.5) ? EaseQuartIn(2*x)/2 : 1-EaseQuartIn(2-2*x)/2 |
Murl.IEnums.INTERPOLATION_EASE_QUART_OUT_IN | Ease Quart "out-in" y=(x < 0.5) ? 0.5-EaseQuartIn(1-2*x)/2 : 0.5+EaseQuartIn(2*x-1)/2 |
Murl.IEnums.INTERPOLATION_EASE_EXPONENTIAL_IN | Ease Exponential "in" EaseExponentialIn(x)=(2^8x)*x/256, y=EaseExponentialIn(x) |
Murl.IEnums.INTERPOLATION_EASE_EXPONENTIAL_OUT | Ease Exponential "out" y=1-EaseExponentialIn(1-x) |
Murl.IEnums.INTERPOLATION_EASE_EXPONENTIAL_IN_OUT | Ease Exponential "in-out" y=(x < 0.5) ? EaseExponentialIn(2*x)/2 : 1-EaseExponentialIn(2-2*x)/2 |
Murl.IEnums.INTERPOLATION_EASE_EXPONENTIAL_OUT_IN | Ease Exponential "out-in" y=(x < 0.5) ? 0.5-EaseExponentialIn(1-2*x)/2 : 0.5+EaseExponentialIn(2*x-1)/2 |
Murl.IEnums.INTERPOLATION_EASE_CIRCULAR_IN | Ease Circular "in" y=1-sqrt(1-x^2) |
Murl.IEnums.INTERPOLATION_EASE_CIRCULAR_OUT | Ease Circular "out" y=sqrt((2-x)*x) |
Murl.IEnums.INTERPOLATION_EASE_CIRCULAR_IN_OUT | Ease Circular "in-out" y=(x < 0.5) ? 0.5-EaseCircularHelper(x+0.5) : 0.5+EaseCircularHelper(x-0.5) |
Murl.IEnums.INTERPOLATION_EASE_CIRCULAR_OUT_IN | Ease Circular "out-in" EaseCircularHelper(x)=sqrt(x-x^2), y=(x < 0.5) ? EaseCircularHelper(x) : 1-EaseCircularHelper(x) |
Murl.IEnums.INTERPOLATION_EASE_BACK_IN | Ease Back "in" EaseBackIn(x)=(x^3)-x*sin(x*PI), y=EaseBackIn(x) |
Murl.IEnums.INTERPOLATION_EASE_BACK_OUT | Ease Back "out" y=1-EaseBackIn(1-x) |
Murl.IEnums.INTERPOLATION_EASE_BACK_IN_OUT | Ease Back "in-out" y=(x < 0.5) ? EaseBackIn(2*x)/2 : 1-EaseBackIn(2-2*x)/2 |
Murl.IEnums.INTERPOLATION_EASE_BACK_OUT_IN | Ease Back "out-in" y=(x < 0.5) ? 0.5-EaseBackIn(1-2*x)/2 : 0.5+EaseBackIn(2*x-1)/2 |
Murl.IEnums.INTERPOLATION_EASE_ELASTIC_IN | Ease Elastic "in" EaseElasticIn(x)=sin(13*PI/2*x)*2^(10*(x-1)), y=EaseElasticIn(x) |
Murl.IEnums.INTERPOLATION_EASE_ELASTIC_OUT | Ease Elastic "out" y=1-EaseElasticIn(1-x) |
Murl.IEnums.INTERPOLATION_EASE_ELASTIC_IN_OUT | Ease Elastic "in-out" y=(x < 0.5) ? EaseElasticIn(2*x)/2 : 1-EaseElasticIn(2-2*x)/2 |
Murl.IEnums.INTERPOLATION_EASE_ELASTIC_OUT_IN | Ease Elastic "out-in" y=(x < 0.5) ? 0.5-EaseElasticIn(1-2*x)/2 : 0.5+EaseElasticIn(2*x-1)/2 |
Murl.IEnums.INTERPOLATION_EASE_BOUNCE_IN | Ease Bounce "in" three and a halve growing bounces |
Murl.IEnums.INTERPOLATION_EASE_BOUNCE_OUT | Ease Bounce "out" a halve and three shrinking bounces |
Murl.IEnums.INTERPOLATION_EASE_BOUNCE_IN_OUT | Ease Bounce "in-out" combined in-out bounces |
Murl.IEnums.INTERPOLATION_EASE_BOUNCE_OUT_IN | Ease Bounce "out-in" combined out-in bounces |
Murl.IEnums.INTERPOLATION_CUBIC_BEZIER | Cubic Bezier interpolation |
Murl.IEnums.NUM_INTERPOLATIONS | |
Murl.IEnums.INTERPOLATION_HERMITE_EASE_IN | Deprecated, equal to IEnums::INTERPOLATION_SMOOTHSTEP_IN |
Murl.IEnums.INTERPOLATION_HERMITE_EASE_OUT | Deprecated, equal to IEnums::INTERPOLATION_SMOOTHSTEP_OUT |
Murl.IEnums.INTERPOLATION_HERMITE_EASE_IN_OUT | Deprecated, equal to IEnums::INTERPOLATION_SMOOTHSTEP_IN_OUT |
Murl.IEnums.INTERPOLATION_HERMITE_EASE_OUT_IN | Deprecated, equal to IEnums::INTERPOLATION_SMOOTHSTEP_OUT_IN |
Arithmetic/logic operations.
Murl.IEnums.ALU_OPERATION_COPY | Copy |
Murl.IEnums.ALU_OPERATION_REPLACE | Replace |
Murl.IEnums.ALU_OPERATION_ADD | Addition |
Murl.IEnums.ALU_OPERATION_SUBTRACT | Subtraction other - this |
Murl.IEnums.ALU_OPERATION_SUBTRACT_REVERSE | Subtraction this - other |
Murl.IEnums.ALU_OPERATION_MULTIPLY | Multiplication |
Murl.IEnums.ALU_OPERATION_DIVIDE | Division other / this |
Murl.IEnums.ALU_OPERATION_DIVIDE_REVERSE | Division this / other |
Murl.IEnums.ALU_OPERATION_MAP | Map input values to output values |
Murl.IEnums.ALU_OPERATION_MAP_CLAMPED | Map input values to output values with clamping |
Murl.IEnums.ALU_OPERATION_LESS | |
Murl.IEnums.ALU_OPERATION_LESS_OR_EQUAL | |
Murl.IEnums.ALU_OPERATION_GREATER | |
Murl.IEnums.ALU_OPERATION_GREATER_OR_EQUAL | |
Murl.IEnums.ALU_OPERATION_EQUAL | |
Murl.IEnums.ALU_OPERATION_NOT_EQUAL | |
Murl.IEnums.ALU_OPERATION_NEGATE | |
Murl.IEnums.ALU_OPERATION_INVERT | |
Murl.IEnums.ALU_OPERATION_AND | |
Murl.IEnums.ALU_OPERATION_OR | |
Murl.IEnums.ALU_OPERATION_XOR | |
Murl.IEnums.NUM_ALU_OPERATIONS |
Animation states, e.g. for timelines.
Murl.IEnums.ANIMATION_STATE_STOPPED | Animation is stopped. |
Murl.IEnums.ANIMATION_STATE_PAUSED | Animation is paused. |
Murl.IEnums.ANIMATION_STATE_RUNNING_FORWARD | Animation is running forward. |
Murl.IEnums.ANIMATION_STATE_RUNNING_BACKWARD | Animation is running backward. |
Murl.IEnums.NUM_ANIMATION_STATES |
Available predefined resource animation keys (bit mask).
Murl.IEnums.ANIMATION_KEY_NONE | No key. |
Murl.IEnums.ANIMATION_KEY_ACTIVE | Controls Graph::ITraversable::SetActive(). |
Murl.IEnums.ANIMATION_KEY_VISIBLE | Controls Graph::ITraversable::SetVisible(). |
Murl.IEnums.ANIMATION_KEY_INDEX | Index animation key, for e.g. Graph::ISwitch or Graph::IPlaneSequenceGeometry. |
Murl.IEnums.ANIMATION_KEY_DEPTH_ORDER | Depth order animation key, for Graph::ITransformable::SetDepthOrder(). |
Murl.IEnums.ANIMATION_KEY_ALPHA | Alpha component. |
Murl.IEnums.ANIMATION_KEY_VOLUME | Sound volume, e.g. for Graph::IAudible. |
Murl.IEnums.ANIMATION_KEY_TIME | Time value. |
Murl.IEnums.ANIMATION_KEY_AMBIENT_COLOR | Ambient color, for e.g. Graph::IColored. |
Murl.IEnums.ANIMATION_KEY_DIFFUSE_COLOR | Diffuse color, for e.g. Graph::IColored. |
Murl.IEnums.ANIMATION_KEY_SPECULAR_COLOR | Specular color, for e.g. Graph::IColored. |
Murl.IEnums.ANIMATION_KEY_EMISSIVE_COLOR | Emissive color, for e.g. Graph::IColored. |
Murl.IEnums.ANIMATION_KEY_POSITION | Position key, for Graph::ITransformable: |
Murl.IEnums.ANIMATION_KEY_ROTATION | Rotation key, for Graph::ITransformable: |
Murl.IEnums.ANIMATION_KEY_SCALE | Scaling key, for Graph::ITransformable: |
Murl.IEnums.ANIMATION_KEY_BLEND_FACTOR | Blend factor key, for Graph::IBlendable: |
Murl.IEnums.ANIMATION_KEY_POSITION_X | Position X key, for Graph::ITransformable: |
Murl.IEnums.ANIMATION_KEY_POSITION_Y | Position Y key, for Graph::ITransformable: |
Murl.IEnums.ANIMATION_KEY_POSITION_Z | Position Z key, for Graph::ITransformable: |
Murl.IEnums.ANIMATION_KEY_ROTATION_X | Euler Rotation X key, for Graph::ITransformable: |
Murl.IEnums.ANIMATION_KEY_ROTATION_Y | Euler Rotation Y key, for Graph::ITransformable: |
Murl.IEnums.ANIMATION_KEY_ROTATION_Z | Euler Rotation Z key, for Graph::ITransformable: |
Murl.IEnums.ANIMATION_KEY_SCALE_X | Scaling X key, for Graph::ITransformable: |
Murl.IEnums.ANIMATION_KEY_SCALE_Y | Scaling Y key, for Graph::ITransformable: |
Murl.IEnums.ANIMATION_KEY_SCALE_Z | Scaling Z key, for Graph::ITransformable: |
Murl.IEnums.ANIMATION_KEY_ALL | All keys combined. |
Wave forms.
Murl.IEnums.WAVEFORM_NONE | No waveform. |
Murl.IEnums.WAVEFORM_CONSTANT | Constant waveform, i.e. flat line. |
Murl.IEnums.WAVEFORM_SINE | Sine wave, in the range [-1,+1]. |
Murl.IEnums.WAVEFORM_TRIANGLE | Triangle wave, in the range [0,+1]. |
Murl.IEnums.WAVEFORM_SAWTOOTH | Saw tooth wave, in the range [0,+1]. |
Murl.IEnums.WAVEFORM_RECTANGLE | Rectangular wave, in the range [0,+1]. |
Murl.IEnums.WAVEFORM_NOISE | Noise, in the range [-1,+1]. |
Murl.IEnums.NUM_WAVEFORMS |
Trigger conditions.
Murl.IEnums.TRIGGER_CONDITION_NONE | No trigger. |
Murl.IEnums.TRIGGER_CONDITION_CLIP_FINISHED | Immediate trigger |
Murl.IEnums.TRIGGER_CONDITION_LOOP_FINISHED | Expiration trigger |
Murl.IEnums.TRIGGER_CONDITION_VARIABLE | Variable trigger |
Murl.IEnums.TRIGGER_CONDITION_ALL | All triggers combined. |
Blending reference types.
Murl.IEnums.BLEND_REFERENCE_UNDEFINED | Undefined blend reference. |
Murl.IEnums.BLEND_REFERENCE_NONE | No blend reference, |
Murl.IEnums.BLEND_REFERENCE_IDENTITY | Use the identity as reference. |
Murl.IEnums.BLEND_REFERENCE_SUM | Use the sum of previous blend operations as reference. |
Murl.IEnums.BLEND_REFERENCE_FIRST_WEIGHTED | Use the first blend target with non-zero weight as reference, without actually considering its weight. |
Murl.IEnums.BLEND_REFERENCE_FIRST_UNWEIGHTED | Use the first blend target with non-zero weight as reference, considering its weight. |
Murl.IEnums.NUM_BLEND_REFERENCES |
Blending directions.
Murl.IEnums.BLEND_DIRECTION_UNDEFINED | Undefined blend direction. |
Murl.IEnums.BLEND_DIRECTION_ARBITRARY | Blend in arbitrary direction. |
Murl.IEnums.BLEND_DIRECTION_SHORTEST | Blend the shortest way, considering a given blend reference. |
Murl.IEnums.BLEND_DIRECTION_LONGEST | Blend the longest way, considering a given blend reference. |
Murl.IEnums.NUM_BLEND_DIRECTIONS |