LNXSDK/leenkx/Sources/leenkx/logicnode/DrawTriangleNode.hx
2025-01-22 16:18:30 +01:00

37 lines
923 B
Haxe

package leenkx.logicnode;
import kha.Color;
import leenkx.renderpath.RenderToTexture;
class DrawTriangleNode extends LogicNode {
public function new(tree: LogicTree) {
super(tree);
}
override function run(from: Int) {
RenderToTexture.ensure2DContext("DrawTriangleNode");
final colorVec = inputs[1].get();
RenderToTexture.g.color = Color.fromFloats(colorVec.x, colorVec.y, colorVec.z, colorVec.w);
final strength = inputs[3].get();
final x1 = inputs[4].get();
final y1 = inputs[5].get();
final x2 = inputs[6].get();
final y2 = inputs[7].get();
final x3 = inputs[8].get();
final y3 = inputs[9].get();
if (inputs[2].get()) {
RenderToTexture.g.fillTriangle(x1, y1, x2, y2, x3, y3);
} else {
RenderToTexture.g.drawLine(x1, y1, x2, y2, strength);
RenderToTexture.g.drawLine(x2, y2, x3, y3, strength);
RenderToTexture.g.drawLine(x3, y3, x1, y1, strength);
}
runOutput(0);
}
}