mesh.c 1.1 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344
  1. /*
  2. * 3D Engine
  3. * mesh.c:
  4. * Based on pikuma.com 3D software renderer in C
  5. * Copyright (c) 2021 986-Studio. All rights reserved.
  6. *
  7. * Created by Manoël Trapier on 04/03/2021.
  8. */
  9. #include <mesh.h>
  10. vec3_t meshVertices[N_MESH_VERTICES] =
  11. {
  12. [0] = { .x = -1, .y = -1, .z = -1},
  13. [1] = { .x = -1, .y = 1, .z = -1},
  14. [2] = { .x = 1, .y = 1, .z = -1},
  15. [3] = { .x = 1, .y = -1, .z = -1},
  16. [4] = { .x = 1, .y = 1, .z = 1},
  17. [5] = { .x = 1, .y = -1, .z = 1},
  18. [6] = { .x = -1, .y = 1, .z = 1},
  19. [7] = { .x = -1, .y = -1, .z = 1},
  20. };
  21. face_t meshFaces[N_MESH_FACES] =
  22. {
  23. /* Front */
  24. { .a = 1, .b = 2, .c = 3 },
  25. { .a = 1, .b = 3, .c = 4 },
  26. /* Right */
  27. { .a = 4, .b = 3, .c = 5 },
  28. { .a = 4, .b = 5, .c = 6 },
  29. /* Back */
  30. { .a = 6, .b = 5, .c = 7 },
  31. { .a = 6, .b = 7, .c = 8 },
  32. /* Left */
  33. { .a = 8, .b = 7, .c = 2 },
  34. { .a = 8, .b = 2, .c = 1 },
  35. /* Top */
  36. { .a = 2, .b = 7, .c = 5 },
  37. { .a = 2, .b = 5, .c = 3 },
  38. /* Bottom */
  39. { .a = 6, .b = 8, .c = 1 },
  40. { .a = 6, .b = 1, .c = 4 },
  41. };