transitions: extended transition logic
General code and functionality improvements. Moved more code out of the OpenGL backend for portability. Implemented audio transitions. Implemented basic transition animation curve settings.
This commit is contained in:
@@ -1,9 +1,14 @@
|
||||
#version 150
|
||||
|
||||
#define LINEAR_CURVE 0
|
||||
#define EXPONENTIAL_CURVE 1
|
||||
#define LOGARITHMIC_CURVE 2
|
||||
|
||||
uniform sampler2D out_block_in;
|
||||
uniform sampler2D in_block_in;
|
||||
uniform bool out_block_in_enabled;
|
||||
uniform bool in_block_in_enabled;
|
||||
uniform int curve_in;
|
||||
|
||||
uniform float ove_tprog_all;
|
||||
|
||||
@@ -11,15 +16,25 @@ in vec2 ove_texcoord;
|
||||
|
||||
out vec4 fragColor;
|
||||
|
||||
float TransformCurve(float linear) {
|
||||
if (curve_in == EXPONENTIAL_CURVE) {
|
||||
return linear * linear;
|
||||
} else if (curve_in == LOGARITHMIC_CURVE) {
|
||||
return sqrt(linear);
|
||||
} else {
|
||||
return linear;
|
||||
}
|
||||
}
|
||||
|
||||
void main(void) {
|
||||
vec4 composite = vec4(0.0);
|
||||
|
||||
if (out_block_in_enabled) {
|
||||
composite += texture(out_block_in, ove_texcoord) * (1.0 - ove_tprog_all);
|
||||
composite += texture(out_block_in, ove_texcoord) * TransformCurve(1.0 - ove_tprog_all);
|
||||
}
|
||||
|
||||
if (in_block_in_enabled) {
|
||||
composite += texture(in_block_in, ove_texcoord) * ove_tprog_all;
|
||||
composite += texture(in_block_in, ove_texcoord) * TransformCurve(ove_tprog_all);
|
||||
}
|
||||
|
||||
fragColor = composite;
|
||||
|
||||
Reference in New Issue
Block a user