/* TRITIUM-PROVENANCE sha256=788725ea86a9255c59e770b4e90736051cb0f3f5714983872c263a5491174628 lang=c */ /* TRITIUM-HEIGHT high=0.00 mid=0.47 low=0.53 fns=3 */ #include #include // TRITIUM-PSEUDO fn=transform3d //| fn transform3d(x, y, z, r00, r01, r02, r10, r11, r12, r20, r21, r22, tx, ty, tz, out): //| out[0L] = ((((r00 * x) + (r01 * y)) + (r02 * z)) + tx) //| out[1L] = ((((r10 * x) + (r11 * y)) + (r12 * z)) + ty) //| out[2L] = ((((r20 * x) + (r21 * y)) + (r22 * z)) + tz) //| return 1L // TRITIUM-HEIGHT fn=transform3d high=0.00 mid=0.33 low=0.67 role=leaf_charset int64_t transform3d(double x, double y, double z, double r00, double r01, double r02, double r10, double r11, double r12, double r20, double r21, double r22, double tx, double ty, double tz, double* out) { out[0L] = ((((r00 * x) + (r01 * y)) + (r02 * z)) + tx); out[1L] = ((((r10 * x) + (r11 * y)) + (r12 * z)) + ty); out[2L] = ((((r20 * x) + (r21 * y)) + (r22 * z)) + tz); return 1L; } // TRITIUM-PSEUDO fn=project3d //| fn project3d(x, y, z, f, out): //| return 0L //| return 1L // TRITIUM-HEIGHT fn=project3d high=0.00 mid=0.48 low=0.52 role=leaf_charset int64_t project3d(double x, double y, double z, double f, double* out) { int fcmp6; fcmp6 = z == 0.0; if (fcmp6) { out[0L] = 0.0; out[1L] = 0.0; return 0L; } else { out[0L] = ((f * x) / z); out[1L] = ((f * y) / z); return 1L; } } // TRITIUM-PSEUDO fn=viewport //| fn viewport(u, v, w, h, out): //| return 1L // TRITIUM-HEIGHT fn=viewport high=0.00 mid=0.60 low=0.40 role=leaf_charset int64_t viewport(double u, double v, double w, double h, double* out) { double x_3; double x_4; double x; double x_2; x_3 = u + 1.0; x_4 = x_3 * 0.5; out[0L] = (x_4 * w); x = 1.0 - v; x_2 = x * 0.5; out[1L] = (x_2 * h); return 1L; }