Files
Angelica/src/main/java/kroppeb/stareval/function/FFF2BFunction.java
T
Darren Eberly bed724ba59 Support for custom uniforms (#902)
* wip backport of custom uniforms

* Functioning custom uniforms maybe?

* Workon separating dynamic/non-dynamic uniforms and making variables available to custom uniforms (currently the JVM dies horribly)

* wip

* It no longer crashes horrifically

* star imports
2025-03-18 10:04:31 -07:00

33 lines
859 B
Java

package kroppeb.stareval.function;
import kroppeb.stareval.expression.Expression;
@FunctionalInterface
public interface FFF2BFunction extends TypedFunction {
boolean eval(float a, float b, float c);
@Override
default void evaluateTo(Expression[] params, FunctionContext context, FunctionReturn functionReturn) {
params[0].evaluateTo(context, functionReturn);
float a = functionReturn.floatReturn;
params[1].evaluateTo(context, functionReturn);
float b = functionReturn.floatReturn;
params[2].evaluateTo(context, functionReturn);
float c = functionReturn.floatReturn;
functionReturn.booleanReturn = this.eval(a, b, c);
}
@Override
default Type getReturnType() {
return Type.Boolean;
}
@Override
default Parameter[] getParameters() {
return new Parameter[]{Type.FloatParameter, Type.FloatParameter, Type.FloatParameter};
}
}