mirror of
https://git.coom.tech/drummyfish/small3dlib.git
synced 2024-11-21 20:39:57 +01:00
Start texture tool
This commit is contained in:
parent
4649c33832
commit
97967e6af0
5 changed files with 9285 additions and 339 deletions
702
house.h
702
house.h
|
@ -1,6 +1,8 @@
|
||||||
#ifndef HOUSE_H
|
#ifndef HOUSE_H
|
||||||
#define HOUSE_H
|
#define HOUSE_H
|
||||||
|
|
||||||
|
#include "houseTexture.h"
|
||||||
|
|
||||||
const S3L_Unit houseVertices[] = {
|
const S3L_Unit houseVertices[] = {
|
||||||
904, 862, 343, // 0
|
904, 862, 343, // 0
|
||||||
904, 862, 556, // 3
|
904, 862, 556, // 3
|
||||||
|
@ -335,336 +337,382 @@ const S3L_Index houseTriangleIndices[] = {
|
||||||
}; // houseTriangleIndices
|
}; // houseTriangleIndices
|
||||||
|
|
||||||
const S3L_Unit houseUVs[] = {
|
const S3L_Unit houseUVs[] = {
|
||||||
1809, 1724, // 0
|
279, 174, // 0
|
||||||
1809, 1724, // 2
|
166, 140, // 2
|
||||||
1635, 775, // 4
|
166, 174, // 4
|
||||||
1635, 756, // 6
|
279, 106, // 6
|
||||||
1473, 1724, // 8
|
279, 140, // 8
|
||||||
1354, 821, // 10
|
281, 238, // 10
|
||||||
2070, 1728, // 12
|
307, 238, // 12
|
||||||
1489, 795, // 14
|
327, 260, // 14
|
||||||
1659, 1724, // 16
|
307, 206, // 16
|
||||||
1563, 1205, // 18
|
279, 204, // 18
|
||||||
1659, 1724, // 20
|
484, 15, // 20
|
||||||
1563, 1208, // 22
|
393, 53, // 22
|
||||||
188, 1799, // 24
|
447, 53, // 24
|
||||||
1473, 1724, // 26
|
355, 15, // 26
|
||||||
1354, 860, // 28
|
360, 83, // 28
|
||||||
1240, 3272, // 30
|
183, 266, // 30
|
||||||
68, 3174, // 32
|
166, 106, // 32
|
||||||
1644, -57, // 34
|
279, 74, // 34
|
||||||
1530, -57, // 36
|
166, 74, // 36
|
||||||
1313, -57, // 38
|
263, 397, // 38
|
||||||
1313, -57, // 40
|
203, 397, // 40
|
||||||
1644, -57, // 42
|
203, 505, // 42
|
||||||
602, 814, // 44
|
68, 204, // 44
|
||||||
539, -57, // 46
|
166, 204, // 46
|
||||||
637, 1441, // 48
|
68, 74, // 48
|
||||||
539, -52, // 50
|
68, 106, // 50
|
||||||
637, 1438, // 52
|
68, 140, // 52
|
||||||
464, 1257, // 54
|
68, 174, // 54
|
||||||
372, -52, // 56
|
454, 338, // 56
|
||||||
464, 1259, // 58
|
494, 392, // 58
|
||||||
372, -57, // 60
|
496, 335, // 60
|
||||||
1312, 1208, // 62
|
451, 298, // 62
|
||||||
1489, 817, // 64
|
504, 280, // 64
|
||||||
1312, 532, // 66
|
440, 382, // 66
|
||||||
1312, 533, // 68
|
445, 304, // 68
|
||||||
1312, 1205, // 70
|
445, 392, // 70
|
||||||
1508, 532, // 72
|
436, 314, // 72
|
||||||
1508, 533, // 74
|
431, 382, // 74
|
||||||
1530, -57, // 76
|
432, 318, // 76
|
||||||
-1672, 1724, // 78
|
428, 373, // 78
|
||||||
-1498, 751, // 80
|
399, 58, // 80
|
||||||
-1498, 751, // 82
|
392, 82, // 82
|
||||||
-1672, 1724, // 84
|
401, 102, // 84
|
||||||
-1221, 760, // 86
|
439, 102, // 86
|
||||||
-1336, 1724, // 88
|
441, 58, // 88
|
||||||
-1909, 1747, // 90
|
395, 107, // 90
|
||||||
-1523, 1724, // 92
|
444, 107, // 92
|
||||||
-1352, 814, // 94
|
359, 147, // 94
|
||||||
-1426, 1213, // 96
|
480, 147, // 96
|
||||||
-1323, 718, // 98
|
279, 106, // 98
|
||||||
-1352, 818, // 100
|
166, 140, // 100
|
||||||
-1221, 782, // 102
|
279, 140, // 102
|
||||||
-1336, 1724, // 104
|
279, 174, // 104
|
||||||
-2446, 3393, // 106
|
66, 238, // 106
|
||||||
-1872, 1747, // 108
|
22, 263, // 108
|
||||||
-1393, -57, // 110
|
41, 238, // 110
|
||||||
-1527, -57, // 112
|
41, 206, // 112
|
||||||
-1176, -57, // 114
|
166, 74, // 114
|
||||||
-1176, -57, // 116
|
166, 106, // 116
|
||||||
-1527, -57, // 118
|
447, 53, // 118
|
||||||
-402, -57, // 120
|
480, 85, // 120
|
||||||
-443, 814, // 122
|
448, 82, // 122
|
||||||
-477, 1410, // 124
|
166, 174, // 124
|
||||||
-402, -52, // 126
|
279, 204, // 126
|
||||||
-477, 1407, // 128
|
86, 397, // 128
|
||||||
-235, -52, // 130
|
0, 449, // 130
|
||||||
-304, 1226, // 132
|
86, 505, // 132
|
||||||
-235, -57, // 134
|
68, 74, // 134
|
||||||
-304, 1228, // 136
|
68, 204, // 136
|
||||||
-1672, 1724, // 138
|
166, 204, // 138
|
||||||
-1175, 1213, // 140
|
68, 174, // 140
|
||||||
-1175, 420, // 142
|
68, 106, // 142
|
||||||
-1352, 818, // 144
|
337, 392, // 144
|
||||||
-1426, 1213, // 146
|
378, 338, // 146
|
||||||
-1371, 420, // 148
|
334, 340, // 148
|
||||||
-1523, 1724, // 150
|
381, 300, // 150
|
||||||
1809, 1724, // 152
|
327, 280, // 152
|
||||||
1635, 846, // 154
|
391, 382, // 154
|
||||||
1635, 814, // 156
|
385, 392, // 156
|
||||||
1809, 1695, // 158
|
396, 315, // 158
|
||||||
2450, 3634, // 160
|
387, 306, // 160
|
||||||
-1336, 1724, // 162
|
399, 382, // 162
|
||||||
247, 1781, // 164
|
400, 319, // 164
|
||||||
1473, 1724, // 166
|
41, 74, // 166
|
||||||
1373, 852, // 168
|
399, 58, // 168
|
||||||
1473, 1724, // 170
|
401, 102, // 170
|
||||||
2042, 1658, // 172
|
392, 82, // 172
|
||||||
1489, 846, // 174
|
393, 53, // 174
|
||||||
1373, 852, // 176
|
395, 107, // 176
|
||||||
-1103, 3272, // 178
|
484, 15, // 178
|
||||||
-1286, 2959, // 180
|
279, 106, // 180
|
||||||
1644, -57, // 182
|
166, 140, // 182
|
||||||
1313, -57, // 184
|
279, 140, // 184
|
||||||
1313, -57, // 186
|
314, 505, // 186
|
||||||
1644, -57, // 188
|
314, 397, // 188
|
||||||
1489, 818, // 190
|
66, 57, // 190
|
||||||
-1672, 1724, // 192
|
187, 36, // 192
|
||||||
-1468, 718, // 194
|
281, 57, // 194
|
||||||
-1468, 718, // 196
|
279, 174, // 196
|
||||||
-1336, 1724, // 198
|
281, 41, // 198
|
||||||
-1222, 718, // 200
|
325, 27, // 200
|
||||||
-1175, 1213, // 202
|
307, 41, // 202
|
||||||
-1175, 420, // 204
|
307, 74, // 204
|
||||||
-1222, 718, // 206
|
279, 74, // 206
|
||||||
-1507, -57, // 208
|
166, 106, // 208
|
||||||
-1393, -57, // 210
|
295, 74, // 210
|
||||||
-1176, -57, // 212
|
166, 174, // 212
|
||||||
-1176, -57, // 214
|
279, 204, // 214
|
||||||
-1507, -57, // 216
|
144, 397, // 216
|
||||||
-1371, 420, // 218
|
136, 420, // 218
|
||||||
-1405, 2779, // 220
|
203, 291, // 220
|
||||||
-1257, 3449, // 222
|
68, 74, // 222
|
||||||
-1442, 3424, // 224
|
166, 74, // 224
|
||||||
-1712, 3482, // 226
|
68, 204, // 226
|
||||||
-1589, 2945, // 228
|
166, 204, // 228
|
||||||
1809, 1724, // 230
|
68, 174, // 230
|
||||||
1773, 1724, // 232
|
68, 106, // 232
|
||||||
1773, 1724, // 234
|
448, 82, // 234
|
||||||
-1672, 1724, // 236
|
279, 174, // 236
|
||||||
-1636, 1724, // 238
|
166, 140, // 238
|
||||||
-1636, 1724, // 240
|
166, 174, // 240
|
||||||
1809, 1724, // 242
|
86, 291, // 242
|
||||||
1773, 1724, // 244
|
66, 41, // 244
|
||||||
1773, 1724, // 246
|
279, 106, // 246
|
||||||
-1672, 1724, // 248
|
279, 140, // 248
|
||||||
-1636, 1724, // 250
|
41, 41, // 250
|
||||||
-1636, 1724 // 252
|
25, 22, // 252
|
||||||
|
279, 204, // 254
|
||||||
|
441, 58, // 256
|
||||||
|
355, 15, // 258
|
||||||
|
360, 83, // 260
|
||||||
|
166, 106, // 262
|
||||||
|
279, 74, // 264
|
||||||
|
166, 74, // 266
|
||||||
|
314, 291, // 268
|
||||||
|
68, 204, // 270
|
||||||
|
166, 204, // 272
|
||||||
|
68, 74, // 274
|
||||||
|
68, 106, // 276
|
||||||
|
68, 140, // 278
|
||||||
|
68, 174, // 280
|
||||||
|
495, 218, // 282
|
||||||
|
345, 264, // 284
|
||||||
|
492, 264, // 286
|
||||||
|
502, 158, // 288
|
||||||
|
342, 210, // 290
|
||||||
|
444, 107, // 292
|
||||||
|
359, 147, // 294
|
||||||
|
439, 102, // 296
|
||||||
|
52, 206, // 298
|
||||||
|
402, 449, // 300
|
||||||
|
403, 373, // 302
|
||||||
|
66, 223, // 304
|
||||||
|
281, 223, // 306
|
||||||
|
480, 85, // 308
|
||||||
|
480, 147, // 310
|
||||||
|
492, 407, // 312
|
||||||
|
425, 437, // 314
|
||||||
|
492, 437, // 316
|
||||||
|
492, 467, // 318
|
||||||
|
425, 500, // 320
|
||||||
|
492, 500, // 322
|
||||||
|
425, 467, // 324
|
||||||
|
398, 484, // 326
|
||||||
|
121, 423, // 328
|
||||||
|
131, 433, // 330
|
||||||
|
279, 74, // 332
|
||||||
|
68, 140, // 334
|
||||||
|
295, 206, // 336
|
||||||
|
68, 140, // 338
|
||||||
|
336, 158, // 340
|
||||||
|
52, 74, // 342
|
||||||
|
425, 407 // 344
|
||||||
}; // houseUVs
|
}; // houseUVs
|
||||||
|
|
||||||
const S3L_Index houseUVIndices[] = {
|
const S3L_Index houseUVIndices[] = {
|
||||||
0, 2, 3, // 0
|
0, 1, 2, // 0
|
||||||
4, 2, 1, // 3
|
3, 1, 4, // 3
|
||||||
4, 1, 6, // 6
|
5, 6, 7, // 6
|
||||||
0, 6, 1, // 9
|
8, 7, 6, // 9
|
||||||
3, 8, 0, // 12
|
2, 9, 0, // 12
|
||||||
10, 11, 9, // 15
|
10, 11, 12, // 15
|
||||||
8, 7, 11, // 18
|
13, 14, 11, // 18
|
||||||
12, 4, 6, // 21
|
15, 5, 7, // 21
|
||||||
5, 13, 14, // 24
|
16, 17, 18, // 24
|
||||||
15, 16, 12, // 27
|
19, 20, 21, // 27
|
||||||
3, 18, 7, // 30
|
2, 22, 23, // 30
|
||||||
5, 19, 20, // 33
|
16, 24, 25, // 33
|
||||||
2, 20, 21, // 36
|
1, 25, 26, // 36
|
||||||
2, 17, 3, // 39
|
1, 27, 2, // 39
|
||||||
22, 19, 14, // 42
|
28, 29, 30, // 42
|
||||||
24, 14, 13, // 45
|
31, 30, 32, // 45
|
||||||
25, 24, 26, // 48
|
33, 31, 34, // 48
|
||||||
23, 22, 24, // 51
|
35, 28, 31, // 51
|
||||||
25, 27, 28, // 54
|
33, 36, 37, // 54
|
||||||
28, 29, 30, // 57
|
37, 38, 39, // 57
|
||||||
31, 32, 33, // 60
|
40, 41, 42, // 60
|
||||||
32, 31, 11, // 63
|
41, 40, 11, // 63
|
||||||
31, 34, 35, // 66
|
40, 43, 44, // 66
|
||||||
36, 33, 32, // 69
|
45, 42, 41, // 69
|
||||||
37, 18, 38, // 72
|
46, 47, 48, // 72
|
||||||
18, 36, 7, // 75
|
47, 45, 14, // 75
|
||||||
39, 41, 42, // 78
|
49, 50, 51, // 78
|
||||||
41, 44, 42, // 81
|
50, 52, 51, // 81
|
||||||
44, 45, 42, // 84
|
53, 54, 55, // 84
|
||||||
39, 42, 45, // 87
|
56, 55, 54, // 87
|
||||||
39, 47, 40, // 90
|
49, 57, 58, // 90
|
||||||
48, 49, 50, // 93
|
59, 60, 61, // 93
|
||||||
12, 45, 44, // 96
|
15, 54, 53, // 96
|
||||||
43, 52, 44, // 99
|
62, 63, 52, // 99
|
||||||
53, 54, 45, // 102
|
64, 65, 66, // 102
|
||||||
55, 40, 47, // 105
|
67, 58, 57, // 105
|
||||||
43, 58, 51, // 108
|
62, 68, 69, // 108
|
||||||
41, 57, 43, // 111
|
50, 70, 62, // 111
|
||||||
56, 41, 40, // 114
|
71, 50, 58, // 114
|
||||||
58, 61, 51, // 117
|
72, 73, 74, // 117
|
||||||
51, 62, 52, // 120
|
74, 75, 76, // 120
|
||||||
63, 62, 60, // 123
|
77, 75, 78, // 123
|
||||||
60, 62, 61, // 126
|
78, 75, 73, // 126
|
||||||
63, 66, 64, // 129
|
77, 79, 80, // 129
|
||||||
65, 68, 66, // 132
|
81, 82, 79, // 132
|
||||||
45, 69, 39, // 135
|
54, 83, 56, // 135
|
||||||
70, 71, 72, // 138
|
84, 85, 86, // 138
|
||||||
72, 73, 70, // 141
|
86, 87, 84, // 141
|
||||||
74, 72, 71, // 144
|
88, 86, 85, // 144
|
||||||
75, 49, 48, // 147
|
89, 60, 59, // 147
|
||||||
76, 78, 79, // 150
|
90, 91, 92, // 150
|
||||||
15, 6, 80, // 153
|
19, 93, 94, // 153
|
||||||
81, 82, 83, // 156
|
95, 96, 97, // 156
|
||||||
78, 85, 79, // 159
|
91, 98, 92, // 159
|
||||||
85, 86, 79, // 162
|
99, 100, 101, // 162
|
||||||
76, 79, 86, // 165
|
102, 101, 100, // 165
|
||||||
10, 77, 76, // 168
|
103, 104, 90, // 168
|
||||||
0, 10, 76, // 171
|
8, 105, 102, // 171
|
||||||
7, 32, 11, // 174
|
14, 41, 11, // 174
|
||||||
82, 86, 85, // 177
|
96, 100, 99, // 177
|
||||||
84, 83, 85, // 180
|
106, 107, 98, // 180
|
||||||
16, 89, 90, // 183
|
20, 108, 109, // 183
|
||||||
15, 82, 16, // 186
|
19, 110, 20, // 186
|
||||||
38, 77, 87, // 189
|
111, 104, 112, // 189
|
||||||
84, 93, 88, // 192
|
106, 113, 114, // 192
|
||||||
78, 92, 84, // 195
|
91, 115, 106, // 195
|
||||||
91, 78, 77, // 198
|
116, 91, 104, // 198
|
||||||
35, 34, 95, // 201
|
44, 43, 117, // 201
|
||||||
95, 9, 35, // 204
|
117, 12, 44, // 204
|
||||||
11, 35, 9, // 207
|
11, 44, 12, // 207
|
||||||
37, 95, 34, // 210
|
46, 117, 43, // 210
|
||||||
33, 37, 34, // 213
|
42, 46, 43, // 213
|
||||||
7, 36, 32, // 216
|
14, 45, 41, // 216
|
||||||
69, 97, 98, // 219
|
118, 119, 120, // 219
|
||||||
89, 54, 53, // 222
|
108, 121, 64, // 222
|
||||||
99, 82, 81, // 225
|
122, 96, 95, // 225
|
||||||
99, 97, 96, // 228
|
123, 119, 124, // 228
|
||||||
99, 96, 54, // 231
|
122, 125, 126, // 231
|
||||||
69, 54, 96, // 234
|
83, 126, 125, // 234
|
||||||
98, 75, 69, // 237
|
120, 127, 118, // 237
|
||||||
101, 71, 70, // 240
|
128, 85, 84, // 240
|
||||||
46, 73, 47, // 243
|
129, 87, 130, // 243
|
||||||
82, 99, 54, // 246
|
96, 122, 126, // 246
|
||||||
100, 81, 103, // 249
|
131, 132, 133, // 249
|
||||||
15, 86, 82, // 252
|
19, 134, 110, // 252
|
||||||
89, 16, 82, // 255
|
108, 20, 110, // 255
|
||||||
73, 75, 48, // 258
|
87, 89, 59, // 258
|
||||||
98, 105, 49, // 261
|
120, 135, 136, // 261
|
||||||
100, 106, 107, // 264
|
131, 137, 138, // 264
|
||||||
100, 108, 97, // 267
|
131, 139, 119, // 267
|
||||||
97, 104, 98, // 270
|
119, 140, 120, // 270
|
||||||
103, 93, 106, // 273
|
141, 142, 143, // 273
|
||||||
81, 88, 103, // 276
|
144, 145, 141, // 276
|
||||||
109, 55, 74, // 279
|
146, 147, 88, // 279
|
||||||
101, 50, 102, // 282
|
128, 61, 148, // 282
|
||||||
50, 101, 48, // 285
|
61, 128, 59, // 285
|
||||||
102, 74, 71, // 288
|
148, 88, 85, // 288
|
||||||
109, 102, 50, // 291
|
146, 148, 61, // 291
|
||||||
48, 70, 73, // 294
|
59, 84, 87, // 294
|
||||||
73, 72, 47, // 297
|
87, 86, 130, // 297
|
||||||
69, 46, 39, // 300
|
83, 149, 56, // 300
|
||||||
86, 0, 76, // 303
|
100, 8, 102, // 303
|
||||||
80, 6, 86, // 306
|
94, 93, 150, // 306
|
||||||
30, 68, 67, // 309
|
39, 82, 151, // 309
|
||||||
27, 68, 29, // 312
|
36, 82, 38, // 312
|
||||||
27, 64, 66, // 315
|
36, 80, 79, // 315
|
||||||
62, 26, 24, // 318
|
75, 34, 31, // 318
|
||||||
24, 52, 62, // 321
|
31, 76, 75, // 321
|
||||||
12, 52, 13, // 324
|
15, 152, 153, // 324
|
||||||
4, 12, 13, // 327
|
5, 15, 153, // 327
|
||||||
12, 44, 52, // 330
|
15, 53, 152, // 330
|
||||||
10, 9, 87, // 333
|
10, 12, 154, // 333
|
||||||
87, 9, 95, // 336
|
154, 12, 117, // 336
|
||||||
87, 95, 37, // 339
|
154, 117, 46, // 339
|
||||||
38, 87, 37, // 342
|
48, 154, 46, // 342
|
||||||
109, 50, 49, // 345
|
146, 61, 60, // 345
|
||||||
49, 105, 109, // 348
|
60, 155, 146, // 348
|
||||||
74, 47, 72, // 351
|
88, 130, 86, // 351
|
||||||
47, 74, 55, // 354
|
130, 88, 147, // 354
|
||||||
90, 112, 110, // 357
|
156, 157, 158, // 357
|
||||||
112, 114, 110, // 360
|
157, 159, 158, // 360
|
||||||
114, 111, 90, // 363
|
159, 160, 161, // 363
|
||||||
113, 112, 111, // 366
|
162, 163, 160, // 366
|
||||||
45, 114, 53, // 369
|
66, 164, 64, // 369
|
||||||
110, 114, 45, // 372
|
165, 164, 66, // 372
|
||||||
12, 16, 90, // 375
|
21, 20, 109, // 375
|
||||||
110, 12, 90, // 378
|
165, 21, 109, // 378
|
||||||
110, 45, 12, // 381
|
165, 66, 21, // 381
|
||||||
90, 89, 114, // 384
|
109, 108, 164, // 384
|
||||||
89, 53, 114, // 387
|
108, 64, 164, // 387
|
||||||
82, 85, 83, // 390
|
96, 99, 97, // 390
|
||||||
0, 1, 2, // 393
|
0, 4, 1, // 393
|
||||||
4, 5, 2, // 396
|
3, 16, 1, // 396
|
||||||
3, 7, 8, // 399
|
2, 23, 9, // 399
|
||||||
10, 8, 11, // 402
|
10, 13, 11, // 402
|
||||||
5, 4, 13, // 405
|
16, 3, 17, // 405
|
||||||
3, 17, 18, // 408
|
2, 27, 22, // 408
|
||||||
5, 14, 19, // 411
|
16, 18, 24, // 411
|
||||||
2, 5, 20, // 414
|
1, 16, 25, // 414
|
||||||
2, 21, 17, // 417
|
1, 26, 27, // 417
|
||||||
22, 23, 19, // 420
|
28, 35, 29, // 420
|
||||||
24, 22, 14, // 423
|
31, 28, 30, // 423
|
||||||
25, 23, 24, // 426
|
33, 35, 31, // 426
|
||||||
25, 26, 27, // 429
|
33, 34, 36, // 429
|
||||||
28, 27, 29, // 432
|
37, 36, 38, // 432
|
||||||
31, 33, 34, // 435
|
40, 42, 43, // 435
|
||||||
37, 36, 18, // 438
|
46, 45, 47, // 438
|
||||||
39, 40, 41, // 441
|
49, 58, 50, // 441
|
||||||
41, 43, 44, // 444
|
50, 62, 52, // 444
|
||||||
39, 46, 47, // 447
|
49, 166, 57, // 447
|
||||||
43, 51, 52, // 450
|
62, 69, 63, // 450
|
||||||
55, 56, 40, // 453
|
67, 71, 58, // 453
|
||||||
43, 57, 58, // 456
|
62, 70, 68, // 456
|
||||||
41, 59, 57, // 459
|
50, 167, 70, // 459
|
||||||
56, 59, 41, // 462
|
71, 167, 50, // 462
|
||||||
58, 60, 61, // 465
|
72, 78, 73, // 465
|
||||||
51, 61, 62, // 468
|
74, 73, 75, // 468
|
||||||
63, 64, 62, // 471
|
77, 80, 75, // 471
|
||||||
63, 65, 66, // 474
|
77, 81, 79, // 474
|
||||||
65, 67, 68, // 477
|
81, 151, 82, // 477
|
||||||
45, 54, 69, // 480
|
54, 126, 83, // 480
|
||||||
76, 77, 78, // 483
|
90, 104, 91, // 483
|
||||||
15, 12, 6, // 486
|
19, 21, 93, // 486
|
||||||
78, 84, 85, // 489
|
91, 106, 98, // 489
|
||||||
10, 87, 77, // 492
|
103, 112, 104, // 492
|
||||||
0, 8, 10, // 495
|
8, 168, 105, // 495
|
||||||
84, 88, 83, // 498
|
106, 114, 107, // 498
|
||||||
38, 91, 77, // 501
|
111, 116, 104, // 501
|
||||||
84, 92, 93, // 504
|
106, 115, 113, // 504
|
||||||
78, 94, 92, // 507
|
91, 169, 115, // 507
|
||||||
91, 94, 78, // 510
|
116, 169, 91, // 510
|
||||||
11, 31, 35, // 513
|
11, 40, 44, // 513
|
||||||
33, 36, 37, // 516
|
42, 45, 46, // 516
|
||||||
69, 96, 97, // 519
|
118, 124, 119, // 519
|
||||||
89, 82, 54, // 522
|
108, 110, 121, // 522
|
||||||
99, 100, 97, // 525
|
123, 131, 119, // 525
|
||||||
98, 49, 75, // 528
|
120, 136, 127, // 528
|
||||||
101, 102, 71, // 531
|
128, 148, 85, // 531
|
||||||
100, 99, 81, // 534
|
131, 123, 132, // 534
|
||||||
15, 80, 86, // 537
|
19, 94, 134, // 537
|
||||||
73, 46, 75, // 540
|
87, 129, 89, // 540
|
||||||
98, 104, 105, // 543
|
120, 140, 135, // 543
|
||||||
100, 103, 106, // 546
|
131, 133, 137, // 546
|
||||||
100, 107, 108, // 549
|
131, 138, 139, // 549
|
||||||
97, 108, 104, // 552
|
119, 139, 140, // 552
|
||||||
103, 88, 93, // 555
|
141, 145, 142, // 555
|
||||||
81, 83, 88, // 558
|
144, 170, 145, // 558
|
||||||
109, 105, 55, // 561
|
146, 155, 147, // 561
|
||||||
102, 109, 74, // 564
|
148, 146, 88, // 564
|
||||||
48, 101, 70, // 567
|
59, 128, 84, // 567
|
||||||
69, 75, 46, // 570
|
83, 171, 149, // 570
|
||||||
86, 6, 0, // 573
|
100, 7, 8, // 573
|
||||||
30, 29, 68, // 576
|
39, 38, 82, // 576
|
||||||
27, 66, 68, // 579
|
36, 79, 82, // 579
|
||||||
27, 26, 64, // 582
|
36, 34, 80, // 582
|
||||||
62, 64, 26, // 585
|
75, 80, 34, // 585
|
||||||
24, 13, 52, // 588
|
31, 32, 76, // 588
|
||||||
90, 111, 112, // 591
|
156, 172, 157, // 591
|
||||||
112, 113, 114, // 594
|
157, 162, 159, // 594
|
||||||
114, 113, 111 // 597
|
159, 162, 160 // 597
|
||||||
}; // houseUVIndices
|
}; // houseUVIndices
|
||||||
|
|
||||||
S3L_Model3D house =
|
S3L_Model3D house =
|
||||||
|
|
8785
houseTexture.h
Normal file
8785
houseTexture.h
Normal file
File diff suppressed because it is too large
Load diff
60
img2array.py
Normal file
60
img2array.py
Normal file
|
@ -0,0 +1,60 @@
|
||||||
|
# Python tool to convert an image to C array for small3dlib.
|
||||||
|
#
|
||||||
|
# by drummyfish
|
||||||
|
# released under CC0 1.0.
|
||||||
|
|
||||||
|
from PIL import Image
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
FILENAME = "house.png"
|
||||||
|
NAME = "house"
|
||||||
|
|
||||||
|
OUT_WIDTH = 256
|
||||||
|
OUT_HEIGHT = 256
|
||||||
|
|
||||||
|
image = Image.open(FILENAME).convert("RGB")
|
||||||
|
pixels = image.load()
|
||||||
|
|
||||||
|
image2 = Image.new("RGB",(OUT_WIDTH,OUT_HEIGHT),color="white")
|
||||||
|
pixels2 = image2.load()
|
||||||
|
|
||||||
|
imageArray = []
|
||||||
|
|
||||||
|
for y in range(OUT_WIDTH):
|
||||||
|
for x in range(OUT_HEIGHT):
|
||||||
|
coord = (
|
||||||
|
int(x / float(OUT_WIDTH) * image.size[0]),
|
||||||
|
int(y / float(OUT_HEIGHT) * image.size[1]))
|
||||||
|
|
||||||
|
pixel = pixels[coord]
|
||||||
|
|
||||||
|
imageArray.append(pixel)
|
||||||
|
|
||||||
|
pixels2[x,y] = pixel
|
||||||
|
|
||||||
|
print("#define " + NAME.upper() + "_WIDTH " + str(OUT_WIDTH))
|
||||||
|
print("#define " + NAME.upper() + "_HEIGHT " + str(OUT_HEIGHT))
|
||||||
|
print("")
|
||||||
|
print("uint8_t " + NAME + "Texture[" + NAME.upper() + "_WIDTH * " + NAME.upper() + "_HEIGHT * 3] = {")
|
||||||
|
arrayString = ""
|
||||||
|
|
||||||
|
lineLen = 0
|
||||||
|
|
||||||
|
for v in imageArray:
|
||||||
|
for c in v:
|
||||||
|
item = str(c) + ","
|
||||||
|
|
||||||
|
lineLen += len(item)
|
||||||
|
|
||||||
|
if lineLen > 80:
|
||||||
|
arrayString += "\n"
|
||||||
|
lineLen -= 80
|
||||||
|
|
||||||
|
arrayString += item
|
||||||
|
|
||||||
|
print(arrayString[:-1])
|
||||||
|
print("}; // " + NAME + "Texture")
|
||||||
|
|
||||||
|
image2.save("out.png")
|
|
@ -69,6 +69,7 @@ for line in objFile:
|
||||||
elif line[:3] == "vt ":
|
elif line[:3] == "vt ":
|
||||||
coords = line[3:].split()
|
coords = line[3:].split()
|
||||||
vertex = [float(coords[i]) for i in range(2)]
|
vertex = [float(coords[i]) for i in range(2)]
|
||||||
|
vertex[1] = 1.0 - vertex[1]
|
||||||
uvs.append(vertex)
|
uvs.append(vertex)
|
||||||
elif line[:2] == "f ":
|
elif line[:2] == "f ":
|
||||||
indices = line[2:].split()
|
indices = line[2:].split()
|
||||||
|
@ -82,10 +83,10 @@ for line in objFile:
|
||||||
for i in indices:
|
for i in indices:
|
||||||
components = i.split("/")
|
components = i.split("/")
|
||||||
t.append(int(components[0]) - 1)
|
t.append(int(components[0]) - 1)
|
||||||
u.append(int(components[0]) - 1)
|
u.append(int(components[1]) - 1)
|
||||||
|
|
||||||
triangles.append(t)
|
triangles.append(t)
|
||||||
triangleUVs.append(t)
|
triangleUVs.append(u)
|
||||||
|
|
||||||
# print the result:
|
# print the result:
|
||||||
|
|
||||||
|
@ -156,7 +157,7 @@ print(arrayString(NAME + "Vertices",vertices,3,[VERTEX_SCALE],5,False,"S3L_Unit"
|
||||||
print(arrayString(NAME + "TriangleIndices",triangles,3,[1],5,True,"S3L_Index"))
|
print(arrayString(NAME + "TriangleIndices",triangles,3,[1],5,True,"S3L_Index"))
|
||||||
|
|
||||||
if INDEXED_UVS:
|
if INDEXED_UVS:
|
||||||
print(arrayString(NAME + "UVs",vertices,2,[U_SCALE,V_SCALE],5,False,"S3L_Unit"))
|
print(arrayString(NAME + "UVs",uvs,2,[U_SCALE,V_SCALE],5,False,"S3L_Unit"))
|
||||||
print(arrayString(NAME + "UVIndices",triangleUVs,3,[1],5,True,"S3L_Index"))
|
print(arrayString(NAME + "UVIndices",triangleUVs,3,[1],5,True,"S3L_Index"))
|
||||||
else:
|
else:
|
||||||
uvs2 = []
|
uvs2 = []
|
||||||
|
|
70
testSDL.c
70
testSDL.c
|
@ -106,6 +106,24 @@ uint8_t texturePixel(int32_t u, int32_t v)
|
||||||
return testTexture[v * 16 + u];
|
return testTexture[v * 16 + u];
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void houseTex(int32_t u, int32_t v, uint8_t *r, uint8_t *g, uint8_t *b)
|
||||||
|
{
|
||||||
|
if (u < 0)
|
||||||
|
u = 0;
|
||||||
|
|
||||||
|
if (v < 0)
|
||||||
|
v = 0;
|
||||||
|
|
||||||
|
u %= HOUSE_WIDTH;
|
||||||
|
v %= HOUSE_HEIGHT;
|
||||||
|
|
||||||
|
int index = (v * HOUSE_WIDTH + u) * 3;
|
||||||
|
|
||||||
|
*r = houseTexture[index];
|
||||||
|
*g = houseTexture[index + 1];
|
||||||
|
*b = houseTexture[index + 2];
|
||||||
|
}
|
||||||
|
|
||||||
void drawPixel(S3L_PixelInfo *p)
|
void drawPixel(S3L_PixelInfo *p)
|
||||||
{
|
{
|
||||||
if (p->x < 0 || p ->x >= S3L_RESOLUTION_X || p->y < 0 || p->y >= S3L_RESOLUTION_Y)
|
if (p->x < 0 || p ->x >= S3L_RESOLUTION_X || p->y < 0 || p->y >= S3L_RESOLUTION_Y)
|
||||||
|
@ -121,17 +139,51 @@ void drawPixel(S3L_PixelInfo *p)
|
||||||
|
|
||||||
if (p->modelID != 0)
|
if (p->modelID != 0)
|
||||||
{
|
{
|
||||||
|
int tmp = p->triangleID * 3;
|
||||||
|
|
||||||
|
int i0 = houseUVIndices[tmp];
|
||||||
|
int i1 = houseUVIndices[tmp + 1];
|
||||||
|
int i2 = houseUVIndices[tmp + 2];
|
||||||
|
|
||||||
|
tmp = i0 * 2;
|
||||||
|
|
||||||
|
int uv0[2];
|
||||||
|
|
||||||
|
uv0[0] = houseUVs[tmp];
|
||||||
|
uv0[1] = houseUVs[tmp + 1];
|
||||||
|
|
||||||
|
tmp = i1 * 2;
|
||||||
|
|
||||||
|
int uv1[2];
|
||||||
|
|
||||||
|
uv1[0] = houseUVs[tmp];
|
||||||
|
uv1[1] = houseUVs[tmp + 1];
|
||||||
|
|
||||||
|
tmp = i2 * 2;
|
||||||
|
|
||||||
|
int uv2[2];
|
||||||
|
|
||||||
|
uv2[0] = houseUVs[tmp];
|
||||||
|
uv2[1] = houseUVs[tmp + 1];
|
||||||
|
|
||||||
u = S3L_interpolateBarycentric(
|
u = S3L_interpolateBarycentric(
|
||||||
0,
|
uv0[0],
|
||||||
0,
|
uv1[0],
|
||||||
15,
|
uv2[0],
|
||||||
p->barycentric[0], p->barycentric[1], p->barycentric[2]);
|
p->barycentric[0], p->barycentric[1], p->barycentric[2]);
|
||||||
|
|
||||||
v = S3L_interpolateBarycentric(
|
v = S3L_interpolateBarycentric(
|
||||||
0,
|
uv0[1],
|
||||||
15,
|
uv1[1],
|
||||||
0,
|
uv2[1],
|
||||||
p->barycentric[0], p->barycentric[1], p->barycentric[2]);
|
p->barycentric[0], p->barycentric[1], p->barycentric[2]);
|
||||||
|
|
||||||
|
uint8_t r,g,b;
|
||||||
|
houseTex(
|
||||||
|
(u / ((float) S3L_FRACTIONS_PER_UNIT)) * HOUSE_WIDTH,
|
||||||
|
(v / ((float) S3L_FRACTIONS_PER_UNIT)) * HOUSE_HEIGHT,
|
||||||
|
&r,&g,&b);
|
||||||
|
setPixel(p->x,p->y,r,g,b);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
|
@ -146,12 +198,12 @@ else
|
||||||
coords[3],
|
coords[3],
|
||||||
coords[5],
|
coords[5],
|
||||||
p->barycentric[0], p->barycentric[1], p->barycentric[2]);
|
p->barycentric[0], p->barycentric[1], p->barycentric[2]);
|
||||||
}
|
|
||||||
|
|
||||||
uint8_t col = texturePixel(u,v);
|
uint8_t col = texturePixel(u,v);
|
||||||
uint8_t dep = (p->depth / 5000.0) * 255;
|
setPixel(p->x,p->y,col,col * 30,(2 - col) * 120);
|
||||||
|
}
|
||||||
|
|
||||||
setPixel(p->x,p->y,col * 120,dep,(2 - col) * 120);
|
// uint8_t dep = (p->depth / 5000.0) * 255;
|
||||||
|
|
||||||
// setPixel(p->x,p->y, (p->triangleID * 60) % 255, (p->triangleID * 170) % 255, (p->triangleID * 10) % 255 );
|
// setPixel(p->x,p->y, (p->triangleID * 60) % 255, (p->triangleID * 170) % 255, (p->triangleID * 10) % 255 );
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue