mirror of
https://git.coom.tech/drummyfish/small3dlib.git
synced 2024-11-21 20:39:57 +01:00
Add cat model
This commit is contained in:
parent
29ce8352c4
commit
71627ec0aa
4 changed files with 3097 additions and 1 deletions
405
programs/cat1Model.h
Normal file
405
programs/cat1Model.h
Normal file
|
@ -0,0 +1,405 @@
|
||||||
|
#ifndef CAT1_MODEL_H
|
||||||
|
#define CAT1_MODEL_H
|
||||||
|
|
||||||
|
#define CAT1_VERTEX_COUNT 59
|
||||||
|
const S3L_Unit cat1Vertices[CAT1_VERTEX_COUNT * 3] = {
|
||||||
|
289, 327, 1473, // 0
|
||||||
|
540, 1038, 1979, // 3
|
||||||
|
392, 1897, 2253, // 6
|
||||||
|
321, -201, 1127, // 9
|
||||||
|
325, -806, 910, // 12
|
||||||
|
325, -1445, 411, // 15
|
||||||
|
285, -1351, 112, // 18
|
||||||
|
259, -876, 528, // 21
|
||||||
|
175, -350, 409, // 24
|
||||||
|
245, -384, -433, // 27
|
||||||
|
306, 938, -1369, // 30
|
||||||
|
282, 1307, -1321, // 33
|
||||||
|
165, 553, -1503, // 36
|
||||||
|
353, 7, -1013, // 39
|
||||||
|
411, -1222, -218, // 42
|
||||||
|
260, 451, -836, // 45
|
||||||
|
297, -1459, -615, // 48
|
||||||
|
254, -1133, -495, // 51
|
||||||
|
273, 344, 336, // 54
|
||||||
|
294, 761, -1783, // 57
|
||||||
|
174, -1204, -229, // 60
|
||||||
|
124, -806, 910, // 63
|
||||||
|
124, -1429, 433, // 66
|
||||||
|
-209, 469, 1497, // 69
|
||||||
|
-9, 655, -807, // 72
|
||||||
|
277, 997, 1976, // 75
|
||||||
|
226, 1888, 2216, // 78
|
||||||
|
365, 1781, 2015, // 81
|
||||||
|
404, 1057, 1757, // 84
|
||||||
|
62, 596, 1249, // 87
|
||||||
|
0, 548, 145, // 90
|
||||||
|
-321, -163, 1268, // 93
|
||||||
|
-257, -349, 1550, // 96
|
||||||
|
-253, -1255, 1737, // 99
|
||||||
|
-212, -1409, 1475, // 102
|
||||||
|
-259, -624, 1342, // 105
|
||||||
|
-175, -435, 743, // 108
|
||||||
|
-245, -392, -588, // 111
|
||||||
|
-462, 793, -1370, // 114
|
||||||
|
-566, 1137, -1218, // 117
|
||||||
|
-129, 1139, -1544, // 120
|
||||||
|
-128, 1136, -1756, // 123
|
||||||
|
-58, 770, -2070, // 126
|
||||||
|
-25, 591, -2061, // 129
|
||||||
|
-190, 503, -1409, // 132
|
||||||
|
-347, -61, -964, // 135
|
||||||
|
-182, -1396, -1457, // 138
|
||||||
|
-260, 520, -841, // 141
|
||||||
|
-22, -1223, -1865, // 144
|
||||||
|
-61, -1157, -1629, // 147
|
||||||
|
-273, 320, 184, // 150
|
||||||
|
-385, 650, -1689, // 153
|
||||||
|
-124, 1109, -1264, // 156
|
||||||
|
-2, 469, -1595, // 159
|
||||||
|
0, -233, -1107, // 162
|
||||||
|
44, -1369, -1459, // 165
|
||||||
|
0, -183, 1349, // 168
|
||||||
|
-56, -349, 1550, // 171
|
||||||
|
-52, -1176, 1700 // 174
|
||||||
|
}; // cat1Vertices
|
||||||
|
|
||||||
|
#define CAT1_TRIANGLE_COUNT 114
|
||||||
|
const S3L_Index cat1TriangleIndices[CAT1_TRIANGLE_COUNT * 3] = {
|
||||||
|
9, 13, 14, // 0
|
||||||
|
16, 14, 17, // 3
|
||||||
|
30, 15, 18, // 6
|
||||||
|
29, 18, 0, // 9
|
||||||
|
15, 13, 9, // 12
|
||||||
|
18, 15, 9, // 15
|
||||||
|
9, 8, 18, // 18
|
||||||
|
28, 29, 0, // 21
|
||||||
|
0, 1, 28, // 24
|
||||||
|
27, 28, 2, // 27
|
||||||
|
1, 2, 28, // 30
|
||||||
|
8, 3, 18, // 33
|
||||||
|
0, 18, 3, // 36
|
||||||
|
8, 7, 3, // 39
|
||||||
|
3, 7, 4, // 42
|
||||||
|
5, 4, 7, // 45
|
||||||
|
6, 5, 7, // 48
|
||||||
|
11, 40, 10, // 51
|
||||||
|
43, 12, 19, // 54
|
||||||
|
19, 42, 43, // 57
|
||||||
|
41, 42, 19, // 60
|
||||||
|
19, 10, 41, // 63
|
||||||
|
41, 10, 40, // 66
|
||||||
|
19, 12, 10, // 69
|
||||||
|
24, 10, 15, // 72
|
||||||
|
10, 12, 15, // 75
|
||||||
|
12, 13, 15, // 78
|
||||||
|
10, 52, 11, // 81
|
||||||
|
11, 52, 40, // 84
|
||||||
|
24, 52, 10, // 87
|
||||||
|
43, 53, 12, // 90
|
||||||
|
13, 53, 54, // 93
|
||||||
|
17, 20, 16, // 96
|
||||||
|
9, 14, 20, // 99
|
||||||
|
16, 20, 14, // 102
|
||||||
|
54, 20, 17, // 105
|
||||||
|
9, 20, 54, // 108
|
||||||
|
1, 26, 2, // 111
|
||||||
|
22, 4, 5, // 114
|
||||||
|
21, 3, 4, // 117
|
||||||
|
5, 6, 22, // 120
|
||||||
|
7, 22, 6, // 123
|
||||||
|
8, 21, 7, // 126
|
||||||
|
3, 56, 0, // 129
|
||||||
|
56, 8, 36, // 132
|
||||||
|
14, 13, 17, // 135
|
||||||
|
54, 17, 13, // 138
|
||||||
|
37, 46, 45, // 141
|
||||||
|
48, 49, 46, // 144
|
||||||
|
30, 47, 24, // 147
|
||||||
|
29, 50, 30, // 150
|
||||||
|
47, 37, 45, // 153
|
||||||
|
50, 37, 47, // 156
|
||||||
|
37, 50, 36, // 159
|
||||||
|
28, 23, 29, // 162
|
||||||
|
23, 28, 25, // 165
|
||||||
|
27, 26, 28, // 168
|
||||||
|
25, 28, 26, // 171
|
||||||
|
36, 50, 31, // 174
|
||||||
|
23, 31, 50, // 177
|
||||||
|
36, 31, 35, // 180
|
||||||
|
31, 32, 35, // 183
|
||||||
|
33, 35, 32, // 186
|
||||||
|
34, 35, 33, // 189
|
||||||
|
39, 38, 40, // 192
|
||||||
|
43, 51, 44, // 195
|
||||||
|
51, 43, 42, // 198
|
||||||
|
41, 51, 42, // 201
|
||||||
|
51, 41, 38, // 204
|
||||||
|
41, 40, 38, // 207
|
||||||
|
51, 38, 44, // 210
|
||||||
|
24, 47, 38, // 213
|
||||||
|
38, 47, 44, // 216
|
||||||
|
44, 47, 45, // 219
|
||||||
|
38, 39, 52, // 222
|
||||||
|
39, 40, 52, // 225
|
||||||
|
24, 38, 52, // 228
|
||||||
|
43, 44, 53, // 231
|
||||||
|
54, 44, 45, // 234
|
||||||
|
49, 48, 55, // 237
|
||||||
|
37, 55, 46, // 240
|
||||||
|
48, 46, 55, // 243
|
||||||
|
54, 49, 55, // 246
|
||||||
|
37, 54, 55, // 249
|
||||||
|
2, 26, 27, // 252
|
||||||
|
0, 25, 1, // 255
|
||||||
|
32, 58, 33, // 258
|
||||||
|
32, 56, 57, // 261
|
||||||
|
33, 58, 34, // 264
|
||||||
|
58, 35, 34, // 267
|
||||||
|
35, 56, 36, // 270
|
||||||
|
31, 23, 56, // 273
|
||||||
|
56, 23, 0, // 276
|
||||||
|
37, 8, 9, // 279
|
||||||
|
54, 37, 9, // 282
|
||||||
|
46, 49, 45, // 285
|
||||||
|
54, 45, 49, // 288
|
||||||
|
30, 24, 15, // 291
|
||||||
|
29, 30, 18, // 294
|
||||||
|
13, 12, 53, // 297
|
||||||
|
1, 25, 26, // 300
|
||||||
|
22, 21, 4, // 303
|
||||||
|
21, 56, 3, // 306
|
||||||
|
7, 21, 22, // 309
|
||||||
|
8, 56, 21, // 312
|
||||||
|
30, 50, 47, // 315
|
||||||
|
29, 23, 50, // 318
|
||||||
|
54, 53, 44, // 321
|
||||||
|
0, 23, 25, // 324
|
||||||
|
32, 57, 58, // 327
|
||||||
|
32, 31, 56, // 330
|
||||||
|
58, 57, 35, // 333
|
||||||
|
35, 57, 56, // 336
|
||||||
|
37, 36, 8 // 339
|
||||||
|
}; // cat1TriangleIndices
|
||||||
|
|
||||||
|
#define CAT1_UV_COUNT 90
|
||||||
|
const S3L_Unit cat1UVs[CAT1_UV_COUNT * 2] = {
|
||||||
|
191, 369, // 0
|
||||||
|
142, 329, // 2
|
||||||
|
159, 509, // 4
|
||||||
|
109, 504, // 6
|
||||||
|
140, 472, // 8
|
||||||
|
289, 243, // 10
|
||||||
|
148, 264, // 12
|
||||||
|
296, 277, // 14
|
||||||
|
419, 232, // 16
|
||||||
|
438, 278, // 18
|
||||||
|
341, 371, // 20
|
||||||
|
479, 146, // 22
|
||||||
|
506, 150, // 24
|
||||||
|
460, 66, // 26
|
||||||
|
486, 66, // 28
|
||||||
|
421, 337, // 30
|
||||||
|
416, 428, // 32
|
||||||
|
454, 421, // 34
|
||||||
|
394, 498, // 36
|
||||||
|
368, 493, // 38
|
||||||
|
98, 169, // 40
|
||||||
|
67, 155, // 42
|
||||||
|
96, 207, // 44
|
||||||
|
16, 251, // 46
|
||||||
|
81, 270, // 48
|
||||||
|
64, 239, // 50
|
||||||
|
7, 216, // 52
|
||||||
|
50, 153, // 54
|
||||||
|
164, 242, // 56
|
||||||
|
117, 163, // 58
|
||||||
|
76, 276, // 60
|
||||||
|
127, 350, // 62
|
||||||
|
135, 117, // 64
|
||||||
|
153, 92, // 66
|
||||||
|
114, 86, // 68
|
||||||
|
211, 167, // 70
|
||||||
|
157, 64, // 72
|
||||||
|
154, 202, // 74
|
||||||
|
478, 75, // 76
|
||||||
|
412, 488, // 78
|
||||||
|
464, 418, // 80
|
||||||
|
354, 5, // 82
|
||||||
|
341, 39, // 84
|
||||||
|
374, 29, // 86
|
||||||
|
402, 96, // 88
|
||||||
|
346, 161, // 90
|
||||||
|
449, 100, // 92
|
||||||
|
435, 343, // 94
|
||||||
|
389, 371, // 96
|
||||||
|
340, 347, // 98
|
||||||
|
337, 366, // 100
|
||||||
|
191, 369, // 102
|
||||||
|
159, 509, // 104
|
||||||
|
142, 329, // 106
|
||||||
|
109, 504, // 108
|
||||||
|
140, 472, // 110
|
||||||
|
148, 264, // 112
|
||||||
|
296, 277, // 114
|
||||||
|
341, 371, // 116
|
||||||
|
420, 278, // 118
|
||||||
|
490, 154, // 120
|
||||||
|
421, 337, // 122
|
||||||
|
416, 428, // 124
|
||||||
|
454, 421, // 126
|
||||||
|
394, 498, // 128
|
||||||
|
368, 493, // 130
|
||||||
|
98, 170, // 132
|
||||||
|
96, 207, // 134
|
||||||
|
64, 239, // 136
|
||||||
|
81, 270, // 138
|
||||||
|
135, 117, // 140
|
||||||
|
114, 86, // 142
|
||||||
|
153, 92, // 144
|
||||||
|
211, 167, // 146
|
||||||
|
157, 64, // 148
|
||||||
|
412, 488, // 150
|
||||||
|
464, 418, // 152
|
||||||
|
354, 5, // 154
|
||||||
|
374, 29, // 156
|
||||||
|
341, 39, // 158
|
||||||
|
402, 96, // 160
|
||||||
|
435, 172, // 162
|
||||||
|
346, 161, // 164
|
||||||
|
438, 277, // 166
|
||||||
|
205, 362, // 168
|
||||||
|
203, 341, // 170
|
||||||
|
166, 366, // 172
|
||||||
|
204, 363, // 174
|
||||||
|
449, 100, // 176
|
||||||
|
336, 366 // 178
|
||||||
|
}; // cat1UVs
|
||||||
|
|
||||||
|
#define CAT1_UV_INDEX_COUNT 114
|
||||||
|
const S3L_Index cat1UVIndices[CAT1_UV_INDEX_COUNT * 3] = {
|
||||||
|
0, 1, 2, // 0
|
||||||
|
3, 2, 4, // 3
|
||||||
|
5, 6, 7, // 6
|
||||||
|
8, 7, 9, // 9
|
||||||
|
6, 1, 0, // 12
|
||||||
|
7, 6, 0, // 15
|
||||||
|
0, 10, 7, // 18
|
||||||
|
11, 8, 9, // 21
|
||||||
|
9, 12, 11, // 24
|
||||||
|
13, 11, 14, // 27
|
||||||
|
12, 14, 11, // 30
|
||||||
|
10, 15, 7, // 33
|
||||||
|
9, 7, 15, // 36
|
||||||
|
10, 16, 15, // 39
|
||||||
|
15, 16, 17, // 42
|
||||||
|
18, 17, 16, // 45
|
||||||
|
19, 18, 16, // 48
|
||||||
|
20, 21, 22, // 51
|
||||||
|
23, 24, 25, // 54
|
||||||
|
25, 26, 23, // 57
|
||||||
|
27, 26, 25, // 60
|
||||||
|
25, 22, 27, // 63
|
||||||
|
27, 22, 21, // 66
|
||||||
|
25, 24, 22, // 69
|
||||||
|
28, 22, 6, // 72
|
||||||
|
22, 24, 6, // 75
|
||||||
|
24, 1, 6, // 78
|
||||||
|
22, 29, 20, // 81
|
||||||
|
20, 29, 21, // 84
|
||||||
|
28, 29, 22, // 87
|
||||||
|
23, 30, 24, // 90
|
||||||
|
1, 30, 31, // 93
|
||||||
|
32, 33, 34, // 96
|
||||||
|
35, 36, 33, // 99
|
||||||
|
34, 33, 36, // 102
|
||||||
|
37, 33, 32, // 105
|
||||||
|
35, 33, 37, // 108
|
||||||
|
12, 38, 14, // 111
|
||||||
|
39, 17, 18, // 114
|
||||||
|
40, 15, 17, // 117
|
||||||
|
41, 42, 43, // 120
|
||||||
|
44, 43, 42, // 123
|
||||||
|
45, 46, 44, // 126
|
||||||
|
15, 47, 9, // 129
|
||||||
|
48, 49, 50, // 132
|
||||||
|
2, 1, 4, // 135
|
||||||
|
31, 4, 1, // 138
|
||||||
|
51, 52, 53, // 141
|
||||||
|
54, 55, 52, // 144
|
||||||
|
5, 56, 28, // 147
|
||||||
|
8, 57, 5, // 150
|
||||||
|
56, 51, 53, // 153
|
||||||
|
57, 51, 56, // 156
|
||||||
|
51, 57, 58, // 159
|
||||||
|
11, 59, 8, // 162
|
||||||
|
59, 11, 60, // 165
|
||||||
|
13, 38, 11, // 168
|
||||||
|
60, 11, 38, // 171
|
||||||
|
58, 57, 61, // 174
|
||||||
|
59, 61, 57, // 177
|
||||||
|
58, 61, 62, // 180
|
||||||
|
61, 63, 62, // 183
|
||||||
|
64, 62, 63, // 186
|
||||||
|
65, 62, 64, // 189
|
||||||
|
66, 67, 21, // 192
|
||||||
|
23, 68, 69, // 195
|
||||||
|
68, 23, 26, // 198
|
||||||
|
27, 68, 26, // 201
|
||||||
|
68, 27, 67, // 204
|
||||||
|
27, 21, 67, // 207
|
||||||
|
68, 67, 69, // 210
|
||||||
|
28, 56, 67, // 213
|
||||||
|
67, 56, 69, // 216
|
||||||
|
69, 56, 53, // 219
|
||||||
|
67, 66, 29, // 222
|
||||||
|
66, 21, 29, // 225
|
||||||
|
28, 67, 29, // 228
|
||||||
|
23, 69, 30, // 231
|
||||||
|
31, 69, 53, // 234
|
||||||
|
70, 71, 72, // 237
|
||||||
|
73, 72, 74, // 240
|
||||||
|
71, 74, 72, // 243
|
||||||
|
37, 70, 72, // 246
|
||||||
|
73, 37, 72, // 249
|
||||||
|
14, 38, 13, // 252
|
||||||
|
9, 60, 12, // 255
|
||||||
|
63, 75, 64, // 258
|
||||||
|
63, 47, 76, // 261
|
||||||
|
77, 78, 79, // 264
|
||||||
|
78, 80, 79, // 267
|
||||||
|
80, 81, 82, // 270
|
||||||
|
61, 59, 47, // 273
|
||||||
|
47, 59, 83, // 276
|
||||||
|
84, 49, 85, // 279
|
||||||
|
86, 87, 85, // 282
|
||||||
|
52, 55, 53, // 285
|
||||||
|
31, 53, 55, // 288
|
||||||
|
5, 28, 6, // 291
|
||||||
|
8, 5, 7, // 294
|
||||||
|
1, 24, 30, // 297
|
||||||
|
12, 60, 38, // 300
|
||||||
|
39, 40, 17, // 303
|
||||||
|
40, 47, 15, // 306
|
||||||
|
44, 46, 43, // 309
|
||||||
|
45, 81, 46, // 312
|
||||||
|
5, 57, 56, // 315
|
||||||
|
8, 59, 57, // 318
|
||||||
|
31, 30, 69, // 321
|
||||||
|
9, 59, 60, // 324
|
||||||
|
63, 76, 75, // 327
|
||||||
|
63, 61, 47, // 330
|
||||||
|
78, 88, 80, // 333
|
||||||
|
80, 88, 81, // 336
|
||||||
|
84, 89, 49 // 339
|
||||||
|
}; // cat1UVIndices
|
||||||
|
|
||||||
|
S3L_Model3D cat1Model =
|
||||||
|
{
|
||||||
|
.vertices = cat1Vertices,
|
||||||
|
.vertexCount = CAT1_VERTEX_COUNT,
|
||||||
|
.triangles = cat1TriangleIndices,
|
||||||
|
.triangleCount = CAT1_TRIANGLE_COUNT
|
||||||
|
};
|
||||||
|
|
||||||
|
#endif // guard
|
405
programs/cat2Model.h
Normal file
405
programs/cat2Model.h
Normal file
|
@ -0,0 +1,405 @@
|
||||||
|
#ifndef CAT2_MODEL_H
|
||||||
|
#define CAT2_MODEL_H
|
||||||
|
|
||||||
|
#define CAT2_VERTEX_COUNT 59
|
||||||
|
const S3L_Unit cat2Vertices[CAT2_VERTEX_COUNT * 3] = {
|
||||||
|
271, 395, 1477, // 0
|
||||||
|
-82, 1300, 1688, // 3
|
||||||
|
130, 2076, 1361, // 6
|
||||||
|
321, -125, 1535, // 9
|
||||||
|
283, -485, 1781, // 12
|
||||||
|
206, -1236, 1900, // 15
|
||||||
|
165, -1434, 1643, // 18
|
||||||
|
259, -698, 1535, // 21
|
||||||
|
175, -429, 611, // 24
|
||||||
|
245, -369, -577, // 27
|
||||||
|
470, 869, -1281, // 30
|
||||||
|
518, 1224, -1275, // 33
|
||||||
|
195, 582, -1421, // 36
|
||||||
|
353, -136, -1121, // 39
|
||||||
|
194, -1395, -1379, // 42
|
||||||
|
260, 416, -874, // 45
|
||||||
|
112, -1329, -1848, // 48
|
||||||
|
106, -1162, -1529, // 51
|
||||||
|
273, 211, 226, // 54
|
||||||
|
391, 717, -1698, // 57
|
||||||
|
5, -1395, -1374, // 60
|
||||||
|
82, -527, 1708, // 63
|
||||||
|
5, -1214, 1900, // 66
|
||||||
|
-229, 289, 1463, // 69
|
||||||
|
0, 646, -755, // 72
|
||||||
|
-333, 1386, 1691, // 75
|
||||||
|
-30, 2130, 1371, // 78
|
||||||
|
-27, 1896, 1245, // 81
|
||||||
|
-207, 1322, 1465, // 84
|
||||||
|
3, 632, 1264, // 87
|
||||||
|
0, 600, 239, // 90
|
||||||
|
-321, -186, 1262, // 93
|
||||||
|
-325, -879, 1000, // 96
|
||||||
|
-325, -1396, 478, // 99
|
||||||
|
-285, -1289, 222, // 102
|
||||||
|
-259, -805, 660, // 105
|
||||||
|
-175, -429, 611, // 108
|
||||||
|
-245, -376, -479, // 111
|
||||||
|
-297, 1021, -1277, // 114
|
||||||
|
-252, 1384, -1171, // 117
|
||||||
|
140, 1221, -1448, // 120
|
||||||
|
139, 1222, -1661, // 123
|
||||||
|
66, 862, -1982, // 126
|
||||||
|
31, 684, -1976, // 129
|
||||||
|
-160, 637, -1420, // 132
|
||||||
|
-353, 7, -1013, // 135
|
||||||
|
-398, -1209, -107, // 138
|
||||||
|
-260, 416, -868, // 141
|
||||||
|
-297, -1417, -525, // 144
|
||||||
|
-254, -1171, -389, // 147
|
||||||
|
-273, 296, 360, // 150
|
||||||
|
-286, 851, -1695, // 153
|
||||||
|
134, 1186, -1170, // 156
|
||||||
|
7, 554, -1513, // 159
|
||||||
|
0, -288, -1107, // 162
|
||||||
|
-174, -1225, -119, // 165
|
||||||
|
0, -231, 1361, // 168
|
||||||
|
-124, -850, 978, // 171
|
||||||
|
-124, -1403, 456 // 174
|
||||||
|
}; // cat2Vertices
|
||||||
|
|
||||||
|
#define CAT2_TRIANGLE_COUNT 114
|
||||||
|
const S3L_Index cat2TriangleIndices[CAT2_TRIANGLE_COUNT * 3] = {
|
||||||
|
9, 13, 14, // 0
|
||||||
|
16, 14, 17, // 3
|
||||||
|
24, 18, 30, // 6
|
||||||
|
29, 18, 0, // 9
|
||||||
|
15, 13, 9, // 12
|
||||||
|
18, 15, 9, // 15
|
||||||
|
9, 8, 18, // 18
|
||||||
|
28, 29, 0, // 21
|
||||||
|
0, 1, 28, // 24
|
||||||
|
27, 28, 2, // 27
|
||||||
|
1, 2, 28, // 30
|
||||||
|
8, 3, 18, // 33
|
||||||
|
0, 18, 3, // 36
|
||||||
|
8, 7, 3, // 39
|
||||||
|
3, 7, 4, // 42
|
||||||
|
5, 4, 7, // 45
|
||||||
|
6, 5, 7, // 48
|
||||||
|
11, 40, 10, // 51
|
||||||
|
43, 12, 19, // 54
|
||||||
|
19, 42, 43, // 57
|
||||||
|
41, 42, 19, // 60
|
||||||
|
19, 10, 41, // 63
|
||||||
|
41, 10, 40, // 66
|
||||||
|
19, 12, 10, // 69
|
||||||
|
24, 10, 15, // 72
|
||||||
|
10, 12, 15, // 75
|
||||||
|
12, 13, 15, // 78
|
||||||
|
10, 52, 11, // 81
|
||||||
|
11, 52, 40, // 84
|
||||||
|
24, 52, 10, // 87
|
||||||
|
43, 53, 12, // 90
|
||||||
|
13, 53, 54, // 93
|
||||||
|
17, 20, 16, // 96
|
||||||
|
9, 14, 20, // 99
|
||||||
|
16, 20, 14, // 102
|
||||||
|
54, 20, 17, // 105
|
||||||
|
9, 20, 54, // 108
|
||||||
|
1, 26, 2, // 111
|
||||||
|
5, 21, 4, // 114
|
||||||
|
21, 3, 4, // 117
|
||||||
|
5, 6, 22, // 120
|
||||||
|
7, 22, 6, // 123
|
||||||
|
7, 56, 21, // 126
|
||||||
|
3, 56, 0, // 129
|
||||||
|
56, 8, 36, // 132
|
||||||
|
14, 13, 17, // 135
|
||||||
|
54, 17, 13, // 138
|
||||||
|
37, 46, 45, // 141
|
||||||
|
48, 49, 46, // 144
|
||||||
|
30, 47, 24, // 147
|
||||||
|
29, 50, 30, // 150
|
||||||
|
47, 37, 45, // 153
|
||||||
|
50, 37, 47, // 156
|
||||||
|
37, 50, 36, // 159
|
||||||
|
28, 23, 29, // 162
|
||||||
|
23, 28, 25, // 165
|
||||||
|
27, 26, 28, // 168
|
||||||
|
25, 28, 26, // 171
|
||||||
|
36, 50, 31, // 174
|
||||||
|
23, 31, 50, // 177
|
||||||
|
36, 31, 35, // 180
|
||||||
|
31, 32, 35, // 183
|
||||||
|
33, 35, 32, // 186
|
||||||
|
34, 35, 33, // 189
|
||||||
|
39, 38, 40, // 192
|
||||||
|
43, 51, 44, // 195
|
||||||
|
51, 43, 42, // 198
|
||||||
|
41, 51, 42, // 201
|
||||||
|
51, 41, 38, // 204
|
||||||
|
41, 40, 38, // 207
|
||||||
|
51, 38, 44, // 210
|
||||||
|
24, 47, 38, // 213
|
||||||
|
38, 47, 44, // 216
|
||||||
|
44, 47, 45, // 219
|
||||||
|
38, 39, 52, // 222
|
||||||
|
39, 40, 52, // 225
|
||||||
|
24, 38, 52, // 228
|
||||||
|
43, 44, 53, // 231
|
||||||
|
53, 45, 54, // 234
|
||||||
|
49, 48, 55, // 237
|
||||||
|
37, 55, 46, // 240
|
||||||
|
48, 46, 55, // 243
|
||||||
|
54, 49, 55, // 246
|
||||||
|
37, 54, 55, // 249
|
||||||
|
2, 26, 27, // 252
|
||||||
|
23, 1, 0, // 255
|
||||||
|
33, 57, 58, // 258
|
||||||
|
31, 57, 32, // 261
|
||||||
|
33, 58, 34, // 264
|
||||||
|
58, 35, 34, // 267
|
||||||
|
57, 36, 35, // 270
|
||||||
|
31, 23, 56, // 273
|
||||||
|
56, 23, 0, // 276
|
||||||
|
37, 8, 9, // 279
|
||||||
|
54, 37, 9, // 282
|
||||||
|
46, 49, 45, // 285
|
||||||
|
54, 45, 49, // 288
|
||||||
|
24, 15, 18, // 291
|
||||||
|
29, 30, 18, // 294
|
||||||
|
13, 12, 53, // 297
|
||||||
|
1, 25, 26, // 300
|
||||||
|
5, 22, 21, // 303
|
||||||
|
21, 56, 3, // 306
|
||||||
|
7, 21, 22, // 309
|
||||||
|
7, 8, 56, // 312
|
||||||
|
30, 50, 47, // 315
|
||||||
|
29, 23, 50, // 318
|
||||||
|
53, 44, 45, // 321
|
||||||
|
23, 25, 1, // 324
|
||||||
|
33, 32, 57, // 327
|
||||||
|
31, 56, 57, // 330
|
||||||
|
58, 57, 35, // 333
|
||||||
|
57, 56, 36, // 336
|
||||||
|
37, 36, 8 // 339
|
||||||
|
}; // cat2TriangleIndices
|
||||||
|
|
||||||
|
#define CAT2_UV_COUNT 90
|
||||||
|
const S3L_Unit cat2UVs[CAT2_UV_COUNT * 2] = {
|
||||||
|
191, 369, // 0
|
||||||
|
142, 329, // 2
|
||||||
|
159, 509, // 4
|
||||||
|
109, 504, // 6
|
||||||
|
140, 472, // 8
|
||||||
|
164, 242, // 10
|
||||||
|
296, 277, // 12
|
||||||
|
289, 243, // 14
|
||||||
|
419, 232, // 16
|
||||||
|
438, 278, // 18
|
||||||
|
148, 264, // 20
|
||||||
|
341, 371, // 22
|
||||||
|
479, 146, // 24
|
||||||
|
506, 150, // 26
|
||||||
|
460, 66, // 28
|
||||||
|
486, 66, // 30
|
||||||
|
421, 337, // 32
|
||||||
|
416, 428, // 34
|
||||||
|
454, 421, // 36
|
||||||
|
394, 498, // 38
|
||||||
|
368, 493, // 40
|
||||||
|
98, 169, // 42
|
||||||
|
67, 155, // 44
|
||||||
|
96, 207, // 46
|
||||||
|
16, 251, // 48
|
||||||
|
81, 270, // 50
|
||||||
|
64, 239, // 52
|
||||||
|
7, 216, // 54
|
||||||
|
50, 153, // 56
|
||||||
|
117, 163, // 58
|
||||||
|
76, 276, // 60
|
||||||
|
127, 350, // 62
|
||||||
|
135, 117, // 64
|
||||||
|
153, 92, // 66
|
||||||
|
114, 86, // 68
|
||||||
|
211, 167, // 70
|
||||||
|
157, 64, // 72
|
||||||
|
154, 202, // 74
|
||||||
|
478, 75, // 76
|
||||||
|
464, 418, // 78
|
||||||
|
354, 5, // 80
|
||||||
|
341, 39, // 82
|
||||||
|
374, 29, // 84
|
||||||
|
402, 96, // 86
|
||||||
|
435, 172, // 88
|
||||||
|
449, 100, // 90
|
||||||
|
435, 343, // 92
|
||||||
|
389, 371, // 94
|
||||||
|
340, 347, // 96
|
||||||
|
337, 366, // 98
|
||||||
|
191, 369, // 100
|
||||||
|
159, 509, // 102
|
||||||
|
142, 329, // 104
|
||||||
|
109, 504, // 106
|
||||||
|
140, 472, // 108
|
||||||
|
148, 264, // 110
|
||||||
|
296, 277, // 112
|
||||||
|
341, 371, // 114
|
||||||
|
420, 278, // 116
|
||||||
|
490, 154, // 118
|
||||||
|
421, 337, // 120
|
||||||
|
416, 428, // 122
|
||||||
|
454, 421, // 124
|
||||||
|
394, 498, // 126
|
||||||
|
368, 493, // 128
|
||||||
|
98, 170, // 130
|
||||||
|
96, 207, // 132
|
||||||
|
64, 239, // 134
|
||||||
|
81, 270, // 136
|
||||||
|
135, 117, // 138
|
||||||
|
114, 86, // 140
|
||||||
|
153, 92, // 142
|
||||||
|
211, 167, // 144
|
||||||
|
157, 64, // 146
|
||||||
|
464, 418, // 148
|
||||||
|
412, 488, // 150
|
||||||
|
354, 5, // 152
|
||||||
|
374, 29, // 154
|
||||||
|
341, 39, // 156
|
||||||
|
402, 96, // 158
|
||||||
|
449, 100, // 160
|
||||||
|
346, 161, // 162
|
||||||
|
438, 277, // 164
|
||||||
|
205, 362, // 166
|
||||||
|
203, 341, // 168
|
||||||
|
166, 366, // 170
|
||||||
|
204, 363, // 172
|
||||||
|
412, 488, // 174
|
||||||
|
346, 161, // 176
|
||||||
|
336, 366 // 178
|
||||||
|
}; // cat2UVs
|
||||||
|
|
||||||
|
#define CAT2_UV_INDEX_COUNT 114
|
||||||
|
const S3L_Index cat2UVIndices[CAT2_UV_INDEX_COUNT * 3] = {
|
||||||
|
0, 1, 2, // 0
|
||||||
|
3, 2, 4, // 3
|
||||||
|
5, 6, 7, // 6
|
||||||
|
8, 6, 9, // 9
|
||||||
|
10, 1, 0, // 12
|
||||||
|
6, 10, 0, // 15
|
||||||
|
0, 11, 6, // 18
|
||||||
|
12, 8, 9, // 21
|
||||||
|
9, 13, 12, // 24
|
||||||
|
14, 12, 15, // 27
|
||||||
|
13, 15, 12, // 30
|
||||||
|
11, 16, 6, // 33
|
||||||
|
9, 6, 16, // 36
|
||||||
|
11, 17, 16, // 39
|
||||||
|
16, 17, 18, // 42
|
||||||
|
19, 18, 17, // 45
|
||||||
|
20, 19, 17, // 48
|
||||||
|
21, 22, 23, // 51
|
||||||
|
24, 25, 26, // 54
|
||||||
|
26, 27, 24, // 57
|
||||||
|
28, 27, 26, // 60
|
||||||
|
26, 23, 28, // 63
|
||||||
|
28, 23, 22, // 66
|
||||||
|
26, 25, 23, // 69
|
||||||
|
5, 23, 10, // 72
|
||||||
|
23, 25, 10, // 75
|
||||||
|
25, 1, 10, // 78
|
||||||
|
23, 29, 21, // 81
|
||||||
|
21, 29, 22, // 84
|
||||||
|
5, 29, 23, // 87
|
||||||
|
24, 30, 25, // 90
|
||||||
|
1, 30, 31, // 93
|
||||||
|
32, 33, 34, // 96
|
||||||
|
35, 36, 33, // 99
|
||||||
|
34, 33, 36, // 102
|
||||||
|
37, 33, 32, // 105
|
||||||
|
35, 33, 37, // 108
|
||||||
|
13, 38, 15, // 111
|
||||||
|
19, 39, 18, // 114
|
||||||
|
39, 16, 18, // 117
|
||||||
|
40, 41, 42, // 120
|
||||||
|
43, 42, 41, // 123
|
||||||
|
43, 44, 45, // 126
|
||||||
|
16, 46, 9, // 129
|
||||||
|
47, 48, 49, // 132
|
||||||
|
2, 1, 4, // 135
|
||||||
|
31, 4, 1, // 138
|
||||||
|
50, 51, 52, // 141
|
||||||
|
53, 54, 51, // 144
|
||||||
|
7, 55, 5, // 147
|
||||||
|
8, 56, 7, // 150
|
||||||
|
55, 50, 52, // 153
|
||||||
|
56, 50, 55, // 156
|
||||||
|
50, 56, 57, // 159
|
||||||
|
12, 58, 8, // 162
|
||||||
|
58, 12, 59, // 165
|
||||||
|
14, 38, 12, // 168
|
||||||
|
59, 12, 38, // 171
|
||||||
|
57, 56, 60, // 174
|
||||||
|
58, 60, 56, // 177
|
||||||
|
57, 60, 61, // 180
|
||||||
|
60, 62, 61, // 183
|
||||||
|
63, 61, 62, // 186
|
||||||
|
64, 61, 63, // 189
|
||||||
|
65, 66, 22, // 192
|
||||||
|
24, 67, 68, // 195
|
||||||
|
67, 24, 27, // 198
|
||||||
|
28, 67, 27, // 201
|
||||||
|
67, 28, 66, // 204
|
||||||
|
28, 22, 66, // 207
|
||||||
|
67, 66, 68, // 210
|
||||||
|
5, 55, 66, // 213
|
||||||
|
66, 55, 68, // 216
|
||||||
|
68, 55, 52, // 219
|
||||||
|
66, 65, 29, // 222
|
||||||
|
65, 22, 29, // 225
|
||||||
|
5, 66, 29, // 228
|
||||||
|
24, 68, 30, // 231
|
||||||
|
30, 52, 31, // 234
|
||||||
|
69, 70, 71, // 237
|
||||||
|
72, 71, 73, // 240
|
||||||
|
70, 73, 71, // 243
|
||||||
|
37, 69, 71, // 246
|
||||||
|
72, 37, 71, // 249
|
||||||
|
15, 38, 14, // 252
|
||||||
|
58, 13, 9, // 255
|
||||||
|
63, 74, 75, // 258
|
||||||
|
60, 74, 62, // 261
|
||||||
|
76, 77, 78, // 264
|
||||||
|
77, 79, 78, // 267
|
||||||
|
80, 81, 79, // 270
|
||||||
|
60, 58, 46, // 273
|
||||||
|
46, 58, 82, // 276
|
||||||
|
83, 48, 84, // 279
|
||||||
|
85, 86, 84, // 282
|
||||||
|
51, 54, 52, // 285
|
||||||
|
31, 52, 54, // 288
|
||||||
|
5, 10, 6, // 291
|
||||||
|
8, 7, 6, // 294
|
||||||
|
1, 25, 30, // 297
|
||||||
|
13, 59, 38, // 300
|
||||||
|
19, 87, 39, // 303
|
||||||
|
39, 46, 16, // 306
|
||||||
|
43, 45, 42, // 309
|
||||||
|
43, 88, 44, // 312
|
||||||
|
7, 56, 55, // 315
|
||||||
|
8, 58, 56, // 318
|
||||||
|
30, 68, 52, // 321
|
||||||
|
58, 59, 13, // 324
|
||||||
|
63, 62, 74, // 327
|
||||||
|
60, 46, 74, // 330
|
||||||
|
77, 80, 79, // 333
|
||||||
|
80, 44, 81, // 336
|
||||||
|
83, 89, 48 // 339
|
||||||
|
}; // cat2UVIndices
|
||||||
|
|
||||||
|
S3L_Model3D cat2Model =
|
||||||
|
{
|
||||||
|
.vertices = cat2Vertices,
|
||||||
|
.vertexCount = CAT2_VERTEX_COUNT,
|
||||||
|
.triangles = cat2TriangleIndices,
|
||||||
|
.triangleCount = CAT2_TRIANGLE_COUNT
|
||||||
|
};
|
||||||
|
|
||||||
|
#endif // guard
|
2242
programs/catTexture.h
Normal file
2242
programs/catTexture.h
Normal file
File diff suppressed because it is too large
Load diff
|
@ -30,11 +30,23 @@
|
||||||
#include "chestTexture.h"
|
#include "chestTexture.h"
|
||||||
#include "chestModel.h"
|
#include "chestModel.h"
|
||||||
|
|
||||||
|
#include "cat1Model.h"
|
||||||
|
#include "cat2Model.h"
|
||||||
|
#include "catTexture.h"
|
||||||
|
|
||||||
#define TEXTURE_W 128
|
#define TEXTURE_W 128
|
||||||
#define TEXTURE_H 128
|
#define TEXTURE_H 128
|
||||||
|
|
||||||
S3L_Unit houseNormals[HOUSE_VERTEX_COUNT * 3];
|
S3L_Unit houseNormals[HOUSE_VERTEX_COUNT * 3];
|
||||||
S3L_Unit chestNormals[CHEST_VERTEX_COUNT * 3];
|
S3L_Unit chestNormals[CHEST_VERTEX_COUNT * 3];
|
||||||
|
S3L_Unit catNormals[CHEST_VERTEX_COUNT * 3];
|
||||||
|
|
||||||
|
S3L_Unit catVertices[CAT1_VERTEX_COUNT * 3];
|
||||||
|
const S3L_Index *catTriangleIndices = cat1TriangleIndices;
|
||||||
|
const S3L_Index *catUVs = cat1UVs;
|
||||||
|
const S3L_Index *catUVIndices = cat1UVIndices;
|
||||||
|
|
||||||
|
S3L_Model3D catModel;
|
||||||
|
|
||||||
S3L_Model3D model;
|
S3L_Model3D model;
|
||||||
uint8_t *texture;
|
uint8_t *texture;
|
||||||
|
@ -83,6 +95,30 @@ void sampleTexture(int32_t u, int32_t v, uint8_t *r, uint8_t *g, uint8_t *b)
|
||||||
*b = texture[index];
|
*b = texture[index];
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void animate(double time)
|
||||||
|
{
|
||||||
|
time = (1.0 + sin(time * 8)) / 2;
|
||||||
|
|
||||||
|
S3L_Unit t = time * S3L_FRACTIONS_PER_UNIT;
|
||||||
|
|
||||||
|
for (S3L_Index i = 0; i < CAT1_VERTEX_COUNT * 3; i += 3)
|
||||||
|
{
|
||||||
|
S3L_Unit v0[3], v1[3];
|
||||||
|
|
||||||
|
v0[0] = cat1Vertices[i];
|
||||||
|
v0[1] = cat1Vertices[i + 1];
|
||||||
|
v0[2] = cat1Vertices[i + 2];
|
||||||
|
|
||||||
|
v1[0] = cat2Vertices[i];
|
||||||
|
v1[1] = cat2Vertices[i + 1];
|
||||||
|
v1[2] = cat2Vertices[i + 2];
|
||||||
|
|
||||||
|
catVertices[i] = S3L_interpolateByUnit(v0[0],v1[0],t);
|
||||||
|
catVertices[i + 1] = S3L_interpolateByUnit(v0[1],v1[1],t);
|
||||||
|
catVertices[i + 2] = S3L_interpolateByUnit(v0[2],v1[2],t);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
int16_t previousTriangle = -1;
|
int16_t previousTriangle = -1;
|
||||||
S3L_Unit uv0[2], uv1[2], uv2[2];
|
S3L_Unit uv0[2], uv1[2], uv2[2];
|
||||||
uint16_t l0, l1, l2;
|
uint16_t l0, l1, l2;
|
||||||
|
@ -313,6 +349,7 @@ void setModel(uint8_t index)
|
||||||
{
|
{
|
||||||
modelCase(0,house)
|
modelCase(0,house)
|
||||||
modelCase(1,chest)
|
modelCase(1,chest)
|
||||||
|
modelCase(2,cat)
|
||||||
|
|
||||||
default:
|
default:
|
||||||
break;
|
break;
|
||||||
|
@ -344,11 +381,15 @@ int main()
|
||||||
|
|
||||||
scene.camera.transform.translation.z = -S3L_FRACTIONS_PER_UNIT * 8;
|
scene.camera.transform.translation.z = -S3L_FRACTIONS_PER_UNIT * 8;
|
||||||
|
|
||||||
|
catModel = cat1Model;
|
||||||
|
catModel.vertices = catVertices;
|
||||||
|
animate(0);
|
||||||
|
|
||||||
scene.modelCount = 1;
|
scene.modelCount = 1;
|
||||||
scene.models = &model;
|
scene.models = &model;
|
||||||
|
|
||||||
int8_t modelIndex = 0;
|
int8_t modelIndex = 0;
|
||||||
int8_t modelsTotal = 2;
|
int8_t modelsTotal = 3;
|
||||||
setModel(0);
|
setModel(0);
|
||||||
|
|
||||||
int running = 1;
|
int running = 1;
|
||||||
|
@ -443,6 +484,9 @@ int main()
|
||||||
else if (state[SDL_SCANCODE_KP_4])
|
else if (state[SDL_SCANCODE_KP_4])
|
||||||
mode = 4;
|
mode = 4;
|
||||||
|
|
||||||
|
if (modelIndex == 2)
|
||||||
|
animate(((double) clock()) / CLOCKS_PER_SEC);
|
||||||
|
|
||||||
SDL_RenderClear(renderer);
|
SDL_RenderClear(renderer);
|
||||||
SDL_RenderCopy(renderer,textureSDL,NULL,NULL);
|
SDL_RenderCopy(renderer,textureSDL,NULL,NULL);
|
||||||
SDL_RenderPresent(renderer);
|
SDL_RenderPresent(renderer);
|
||||||
|
|
Loading…
Reference in a new issue