1
0
Fork 0
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:
Miloslav Číž 2019-06-08 11:31:19 +02:00
parent 29ce8352c4
commit 71627ec0aa
4 changed files with 3097 additions and 1 deletions

405
programs/cat1Model.h Normal file
View 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
View 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

File diff suppressed because it is too large Load diff

View file

@ -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);