Igor Skochinsky
/
DOGLCDDemo
A demo program for DOGL-128 LCD module. Based on Mike Sheldon's 3D Tie Fighter demo.
TieFighter.h@0:2a5dccfd318f, 2010-01-14 (annotated)
- Committer:
- igorsk
- Date:
- Thu Jan 14 00:49:39 2010 +0000
- Revision:
- 0:2a5dccfd318f
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
igorsk | 0:2a5dccfd318f | 1 | #ifndef MBED_TIEFIGHTER_H |
igorsk | 0:2a5dccfd318f | 2 | #define MBED_TIEFIGHTER_H |
igorsk | 0:2a5dccfd318f | 3 | |
igorsk | 0:2a5dccfd318f | 4 | |
igorsk | 0:2a5dccfd318f | 5 | |
igorsk | 0:2a5dccfd318f | 6 | int tie_fighter_vertices[48][3] = { |
igorsk | 0:2a5dccfd318f | 7 | // Left wing - v0 |
igorsk | 0:2a5dccfd318f | 8 | {0, 0, 17}, |
igorsk | 0:2a5dccfd318f | 9 | {10, -15, 15}, |
igorsk | 0:2a5dccfd318f | 10 | {-10, -15, 15}, |
igorsk | 0:2a5dccfd318f | 11 | {-15, 0, 15}, |
igorsk | 0:2a5dccfd318f | 12 | {-10, 15, 15}, |
igorsk | 0:2a5dccfd318f | 13 | {-10, 15, 15}, |
igorsk | 0:2a5dccfd318f | 14 | {10, 15, 15}, |
igorsk | 0:2a5dccfd318f | 15 | {15, 0, 15}, |
igorsk | 0:2a5dccfd318f | 16 | |
igorsk | 0:2a5dccfd318f | 17 | // Left inner wing connector - v8 |
igorsk | 0:2a5dccfd318f | 18 | {0, 0, 17}, |
igorsk | 0:2a5dccfd318f | 19 | {4, -4, 15}, |
igorsk | 0:2a5dccfd318f | 20 | {-4, -4, 15}, |
igorsk | 0:2a5dccfd318f | 21 | {-4, 0, 15}, |
igorsk | 0:2a5dccfd318f | 22 | {-4, 4, 15}, |
igorsk | 0:2a5dccfd318f | 23 | {-4, 4, 15}, |
igorsk | 0:2a5dccfd318f | 24 | {4, 4, 15}, |
igorsk | 0:2a5dccfd318f | 25 | {4, 0, 15}, |
igorsk | 0:2a5dccfd318f | 26 | |
igorsk | 0:2a5dccfd318f | 27 | // Right wing - v16 |
igorsk | 0:2a5dccfd318f | 28 | {0, 0, -17}, |
igorsk | 0:2a5dccfd318f | 29 | {10, -15, -15}, |
igorsk | 0:2a5dccfd318f | 30 | {-10, -15, -15}, |
igorsk | 0:2a5dccfd318f | 31 | {-15, 0, -15}, |
igorsk | 0:2a5dccfd318f | 32 | {-10, 15, -15}, |
igorsk | 0:2a5dccfd318f | 33 | {-10, 15, -15}, |
igorsk | 0:2a5dccfd318f | 34 | {10, 15, -15}, |
igorsk | 0:2a5dccfd318f | 35 | {15, 0, -15}, |
igorsk | 0:2a5dccfd318f | 36 | |
igorsk | 0:2a5dccfd318f | 37 | // Right inner wing connector - v24 |
igorsk | 0:2a5dccfd318f | 38 | {0, 0, -17}, |
igorsk | 0:2a5dccfd318f | 39 | {4, -4, -15}, |
igorsk | 0:2a5dccfd318f | 40 | {-4, -4, -15}, |
igorsk | 0:2a5dccfd318f | 41 | {-4, 0, -15}, |
igorsk | 0:2a5dccfd318f | 42 | {-4, 4, -15}, |
igorsk | 0:2a5dccfd318f | 43 | {-4, 4, -15}, |
igorsk | 0:2a5dccfd318f | 44 | {4, 4, -15}, |
igorsk | 0:2a5dccfd318f | 45 | {4, 0, -15}, |
igorsk | 0:2a5dccfd318f | 46 | |
igorsk | 0:2a5dccfd318f | 47 | // Body - v32 |
igorsk | 0:2a5dccfd318f | 48 | {8, 8, -8}, |
igorsk | 0:2a5dccfd318f | 49 | {-8, 8, -8}, |
igorsk | 0:2a5dccfd318f | 50 | {8, 8, 8}, |
igorsk | 0:2a5dccfd318f | 51 | {-8, 8, 8}, |
igorsk | 0:2a5dccfd318f | 52 | |
igorsk | 0:2a5dccfd318f | 53 | {8, -8, -8}, |
igorsk | 0:2a5dccfd318f | 54 | {-8, -8, -8}, |
igorsk | 0:2a5dccfd318f | 55 | {8, -8, 8}, |
igorsk | 0:2a5dccfd318f | 56 | {-8, -8, 8}, |
igorsk | 0:2a5dccfd318f | 57 | |
igorsk | 0:2a5dccfd318f | 58 | // Left wing <-> body connection |
igorsk | 0:2a5dccfd318f | 59 | {-2, -2, 15}, |
igorsk | 0:2a5dccfd318f | 60 | {-2, -2, 8}, |
igorsk | 0:2a5dccfd318f | 61 | {2, 2, 15}, |
igorsk | 0:2a5dccfd318f | 62 | {2, 2, 8}, |
igorsk | 0:2a5dccfd318f | 63 | |
igorsk | 0:2a5dccfd318f | 64 | // Right wing <-> body connection |
igorsk | 0:2a5dccfd318f | 65 | {-2, -2, -15}, |
igorsk | 0:2a5dccfd318f | 66 | {-2, -2, -8}, |
igorsk | 0:2a5dccfd318f | 67 | {2, 2, -15}, |
igorsk | 0:2a5dccfd318f | 68 | {2, 2, -8}, |
igorsk | 0:2a5dccfd318f | 69 | }; |
igorsk | 0:2a5dccfd318f | 70 | |
igorsk | 0:2a5dccfd318f | 71 | #define TIE_FIGHTER_NUM_FACES 32 |
igorsk | 0:2a5dccfd318f | 72 | int tie_fighter_faces[TIE_FIGHTER_NUM_FACES][3] = { |
igorsk | 0:2a5dccfd318f | 73 | // Left wing |
igorsk | 0:2a5dccfd318f | 74 | {0, 1, 2}, |
igorsk | 0:2a5dccfd318f | 75 | {0, 2, 3}, |
igorsk | 0:2a5dccfd318f | 76 | {0, 3, 4}, |
igorsk | 0:2a5dccfd318f | 77 | {0, 4, 5}, |
igorsk | 0:2a5dccfd318f | 78 | {0, 5, 6}, |
igorsk | 0:2a5dccfd318f | 79 | {0, 6, 7}, |
igorsk | 0:2a5dccfd318f | 80 | {0, 7, 1}, |
igorsk | 0:2a5dccfd318f | 81 | |
igorsk | 0:2a5dccfd318f | 82 | // Left inner wing connector |
igorsk | 0:2a5dccfd318f | 83 | /* {8, 9, 10}, |
igorsk | 0:2a5dccfd318f | 84 | {8, 10, 11}, |
igorsk | 0:2a5dccfd318f | 85 | {8, 11, 12}, |
igorsk | 0:2a5dccfd318f | 86 | {8, 12, 13}, |
igorsk | 0:2a5dccfd318f | 87 | {8, 13, 14}, |
igorsk | 0:2a5dccfd318f | 88 | {8, 14, 15}, |
igorsk | 0:2a5dccfd318f | 89 | {8, 15, 9}, */ |
igorsk | 0:2a5dccfd318f | 90 | |
igorsk | 0:2a5dccfd318f | 91 | // Right wing |
igorsk | 0:2a5dccfd318f | 92 | {16, 17, 18}, |
igorsk | 0:2a5dccfd318f | 93 | {16, 18, 19}, |
igorsk | 0:2a5dccfd318f | 94 | {16, 19, 20}, |
igorsk | 0:2a5dccfd318f | 95 | {16, 20, 21}, |
igorsk | 0:2a5dccfd318f | 96 | {16, 21, 22}, |
igorsk | 0:2a5dccfd318f | 97 | {16, 22, 23}, |
igorsk | 0:2a5dccfd318f | 98 | {16, 23, 17}, |
igorsk | 0:2a5dccfd318f | 99 | |
igorsk | 0:2a5dccfd318f | 100 | // Right inner wing connector |
igorsk | 0:2a5dccfd318f | 101 | /* {24, 25, 26}, |
igorsk | 0:2a5dccfd318f | 102 | {24, 26, 27}, |
igorsk | 0:2a5dccfd318f | 103 | {24, 27, 28}, |
igorsk | 0:2a5dccfd318f | 104 | {24, 28, 29}, |
igorsk | 0:2a5dccfd318f | 105 | {24, 29, 30}, |
igorsk | 0:2a5dccfd318f | 106 | {24, 30, 31}, |
igorsk | 0:2a5dccfd318f | 107 | {24, 31, 25}, */ |
igorsk | 0:2a5dccfd318f | 108 | |
igorsk | 0:2a5dccfd318f | 109 | // Body |
igorsk | 0:2a5dccfd318f | 110 | {32, 33, 33}, // Hack to just draw some straight lines so the body doesn't look too cluttered with triangles |
igorsk | 0:2a5dccfd318f | 111 | {33, 35, 35}, |
igorsk | 0:2a5dccfd318f | 112 | {35, 34, 34}, |
igorsk | 0:2a5dccfd318f | 113 | {32, 34, 34}, |
igorsk | 0:2a5dccfd318f | 114 | |
igorsk | 0:2a5dccfd318f | 115 | {36, 37, 37}, |
igorsk | 0:2a5dccfd318f | 116 | {37, 39, 39}, |
igorsk | 0:2a5dccfd318f | 117 | {39, 38, 38}, |
igorsk | 0:2a5dccfd318f | 118 | {36, 38, 38}, |
igorsk | 0:2a5dccfd318f | 119 | |
igorsk | 0:2a5dccfd318f | 120 | {36, 32, 32}, |
igorsk | 0:2a5dccfd318f | 121 | {37, 33, 33}, |
igorsk | 0:2a5dccfd318f | 122 | {39, 35, 35}, |
igorsk | 0:2a5dccfd318f | 123 | {38, 34, 34}, |
igorsk | 0:2a5dccfd318f | 124 | |
igorsk | 0:2a5dccfd318f | 125 | // Left wing <-> body connection |
igorsk | 0:2a5dccfd318f | 126 | {40, 41, 41}, |
igorsk | 0:2a5dccfd318f | 127 | {42, 43, 43}, |
igorsk | 0:2a5dccfd318f | 128 | |
igorsk | 0:2a5dccfd318f | 129 | // Right wing <-> body connection |
igorsk | 0:2a5dccfd318f | 130 | {44, 45, 45}, |
igorsk | 0:2a5dccfd318f | 131 | {46, 47, 47}, |
igorsk | 0:2a5dccfd318f | 132 | }; |
igorsk | 0:2a5dccfd318f | 133 | |
igorsk | 0:2a5dccfd318f | 134 | #endif |