Forráskód Böngészése

Simplify code in model3d demos

rexim 2 éve
szülő
commit
119e780944
1 módosított fájl, 2 hozzáadás és 3 törlés
  1. 2 3
      demos/model3d.c

+ 2 - 3
demos/model3d.c

@@ -88,9 +88,8 @@ Olivec_Canvas vc_render(float dt)
             for (int y = ly; y <= hy; ++y) {
             for (int y = ly; y <= hy; ++y) {
                 for (int x = lx; x <= hx; ++x) {
                 for (int x = lx; x <= hx; ++x) {
                     int u1, u2, det;
                     int u1, u2, det;
-                    olivec_barycentric(x1, y1, x2, y2, x3, y3, x, y, &u1, &u2, &det);
-                    int u3 = det - u1 - u2;
-                    if ((OLIVEC_SIGN(int, u1) == OLIVEC_SIGN(int, det) || u1 == 0) && (OLIVEC_SIGN(int, u2) == OLIVEC_SIGN(int, det) || u2 == 0) && (OLIVEC_SIGN(int, u3) == OLIVEC_SIGN(int, det) || u3 == 0)) {
+                    if (olivec_barycentric(x1, y1, x2, y2, x3, y3, x, y, &u1, &u2, &det)) {
+                        int u3 = det - u1 - u2;
                         float z = 1/v1.z*u1/det + 1/v2.z*u2/det + 1/v3.z*u3/det;
                         float z = 1/v1.z*u1/det + 1/v2.z*u2/det + 1/v3.z*u3/det;
                         // TODO: implement near/far clipping planes
                         // TODO: implement near/far clipping planes
                         if (z > zbuffer[y*WIDTH + x]) {
                         if (z > zbuffer[y*WIDTH + x]) {