1
0
Fork 0
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:
Miloslav Číž 2019-06-01 22:28:12 +02:00
parent 4649c33832
commit 97967e6af0
5 changed files with 9285 additions and 339 deletions

702
house.h
View file

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

File diff suppressed because it is too large Load diff

60
img2array.py Normal file
View 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")

View file

@ -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 = []

View file

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