minecraft: add custom mushroom mesh

This commit is contained in:
Zack Buhman 2026-03-14 21:46:32 -05:00
parent e08c74e0c1
commit e6c927bb39
20 changed files with 903 additions and 43 deletions

View File

@ -16,4 +16,5 @@ struct {
{1164, 36}, // fence.obj {1164, 36}, // fence.obj
{1200, 36}, // torch.obj {1200, 36}, // torch.obj
{1236, 24}, // wheat.obj {1236, 24}, // wheat.obj
{1260, 1584}, // custom-mushroom.obj
}; };

Binary file not shown.

View File

@ -0,0 +1,853 @@
# Blender 5.0.0
# www.blender.org
o Cube.003
v 0.125000 -1.000000 0.125000
v 0.125000 -1.000000 -0.000000
v 0.125000 -1.000000 -0.125000
v 0.500000 -0.003696 -0.500000
v 0.375000 0.121304 -0.375000
v 0.500000 -0.003696 -0.375000
v 0.500000 -0.128696 -0.375000
v 0.500000 -0.253696 -0.375000
v 0.375000 -0.378696 -0.375000
v 0.250000 0.246304 -0.250000
v 0.375000 -0.003696 -0.250000
v 0.500000 -0.128696 -0.250000
v 0.500000 -0.253696 -0.250000
v 0.375000 -0.378696 -0.250000
v 0.250000 0.121304 -0.125000
v 0.375000 -0.003696 -0.125000
v 0.500000 -0.253696 -0.125000
v 0.375000 -0.378696 -0.125000
v 0.250000 0.121304 -0.000000
v 0.250000 0.246304 0.125000
v 0.375000 -0.003696 0.125000
v 0.500000 -0.128696 0.125000
v 0.500000 -0.253696 0.125000
v 0.250000 0.246304 0.250000
v 0.500000 -0.253696 0.250000
v 0.375000 0.121304 0.375000
v 0.500000 -0.003696 0.375000
v 0.375000 -0.378696 0.375000
v 0.500000 -0.003696 0.500000
v 0.500000 -0.128696 0.500000
v 0.500000 -0.253696 0.500000
v 0.125000 -0.378696 -0.000000
v 0.375000 -0.378696 -0.000000
v 0.375000 -0.003696 -0.375000
v 0.375000 -0.253696 -0.375000
v 0.375000 0.121304 -0.250000
v 0.500000 -0.003696 -0.250000
v 0.375000 -0.253696 -0.250000
v 0.250000 0.246304 -0.125000
v 0.375000 0.121304 -0.125000
v 0.500000 -0.003696 -0.125000
v 0.500000 -0.128696 -0.125000
v 0.375000 -0.253696 -0.125000
v 0.125000 -0.378696 -0.125000
v 0.250000 0.246304 -0.000000
v 0.375000 0.121304 -0.000000
v 0.375000 -0.003696 -0.000000
v 0.500000 -0.003696 -0.000000
v 0.500000 -0.128696 -0.000000
v 0.500000 -0.253696 -0.000000
v 0.375000 -0.253696 -0.000000
v 0.250000 0.121304 0.125000
v 0.375000 0.121304 0.125000
v 0.500000 -0.003696 0.125000
v 0.375000 -0.253696 0.125000
v 0.375000 -0.378696 0.125000
v 0.250000 0.121304 0.250000
v 0.375000 0.121304 0.250000
v 0.375000 -0.003696 0.250000
v 0.500000 -0.003696 0.250000
v 0.500000 -0.128696 0.250000
v 0.375000 -0.253696 0.250000
v 0.375000 -0.378696 0.250000
v 0.375000 -0.003696 0.375000
v 0.500000 -0.128696 0.375000
v 0.500000 -0.253696 0.375000
v 0.375000 -0.253696 0.375000
v -0.500000 -0.003696 -0.500000
v -0.375000 -0.003696 -0.500000
v -0.375000 -0.378696 -0.375000
v -0.250000 0.246304 -0.250000
v -0.250000 -0.253696 -0.500000
v -0.250000 -0.378696 -0.375000
v -0.125000 -0.003696 -0.375000
v -0.125000 -0.128696 -0.500000
v -0.000000 0.121304 -0.250000
v -0.000000 -0.003696 -0.375000
v -0.000000 -0.378696 -0.375000
v 0.125000 0.121304 -0.250000
v 0.125000 -0.253696 -0.500000
v 0.250000 0.121304 -0.375000
v 0.250000 -0.128696 -0.500000
v 0.250000 -0.378696 -0.375000
v 0.375000 -0.003696 -0.500000
v 0.375000 -0.128696 -0.500000
v 0.500000 -0.128696 -0.500000
v 0.500000 -0.253696 -0.500000
v -0.000000 -0.378696 -0.125000
v -0.000000 -1.000000 -0.125000
v -0.375000 -0.003696 -0.375000
v -0.375000 -0.128696 -0.500000
v -0.375000 -0.253696 -0.500000
v -0.250000 0.121304 -0.250000
v -0.250000 0.121304 -0.375000
v -0.250000 -0.003696 -0.375000
v -0.250000 -0.003696 -0.500000
v -0.250000 -0.128696 -0.500000
v -0.250000 -0.253696 -0.375000
v -0.125000 0.246304 -0.250000
v -0.125000 0.121304 -0.250000
v -0.125000 0.121304 -0.375000
v -0.125000 -0.003696 -0.500000
v -0.125000 -0.253696 -0.500000
v -0.125000 -0.253696 -0.375000
v -0.125000 -0.378696 -0.375000
v -0.000000 0.246304 -0.250000
v -0.000000 0.121304 -0.375000
v -0.000000 -0.003696 -0.500000
v -0.000000 -0.128696 -0.500000
v -0.000000 -0.253696 -0.500000
v -0.000000 -0.253696 -0.375000
v 0.125000 0.246304 -0.250000
v 0.125000 0.121304 -0.375000
v 0.125000 -0.003696 -0.375000
v 0.125000 -0.003696 -0.500000
v 0.125000 -0.128696 -0.500000
v 0.125000 -0.253696 -0.375000
v 0.125000 -0.378696 -0.375000
v 0.250000 0.121304 -0.250000
v 0.250000 -0.003696 -0.375000
v 0.250000 -0.003696 -0.500000
v 0.250000 -0.253696 -0.500000
v 0.250000 -0.253696 -0.375000
v 0.375000 -0.253696 -0.500000
v -0.125000 -1.000000 -0.125000
v -0.375000 0.121304 0.250000
v -0.500000 -0.128696 0.125000
v -0.375000 -0.378696 0.125000
v -0.250000 0.121304 0.000000
v -0.375000 -0.003696 0.000000
v -0.250000 0.121304 -0.125000
v -0.375000 -0.003696 -0.125000
v -0.500000 -0.128696 -0.125000
v -0.500000 -0.253696 -0.125000
v -0.375000 0.121304 -0.250000
v -0.375000 0.121304 -0.375000
v -0.500000 -0.003696 -0.375000
v -0.500000 -0.253696 -0.375000
v -0.500000 -0.253696 -0.500000
v -0.375000 -0.378696 0.000000
v -0.125000 -0.378696 0.000000
v -0.125000 -1.000000 0.000000
v -0.500000 -0.003696 0.375000
v -0.500000 -0.128696 0.375000
v -0.500000 -0.253696 0.375000
v -0.375000 -0.003696 0.250000
v -0.500000 -0.003696 0.250000
v -0.500000 -0.128696 0.250000
v -0.500000 -0.253696 0.250000
v -0.375000 -0.253696 0.250000
v -0.375000 -0.378696 0.250000
v -0.250000 0.246304 0.125000
v -0.250000 0.121304 0.125000
v -0.375000 0.121304 0.125000
v -0.375000 -0.003696 0.125000
v -0.500000 -0.003696 0.125000
v -0.500000 -0.253696 0.125000
v -0.375000 -0.253696 0.125000
v -0.250000 0.246304 0.000000
v -0.375000 0.121304 0.000000
v -0.500000 -0.003696 0.000000
v -0.500000 -0.128696 0.000000
v -0.500000 -0.253696 0.000000
v -0.375000 -0.253696 0.000000
v -0.250000 0.246304 -0.125000
v -0.375000 0.121304 -0.125000
v -0.500000 -0.003696 -0.125000
v -0.375000 -0.253696 -0.125000
v -0.125000 -0.378696 -0.125000
v -0.375000 -0.378696 -0.125000
v -0.375000 -0.003696 -0.250000
v -0.500000 -0.003696 -0.250000
v -0.500000 -0.128696 -0.250000
v -0.500000 -0.253696 -0.250000
v -0.375000 -0.253696 -0.250000
v -0.375000 -0.378696 -0.250000
v -0.500000 -0.128696 -0.375000
v -0.375000 -0.253696 -0.375000
v -0.500000 -0.128696 -0.500000
v -0.125000 -1.000000 0.125000
v 0.250000 0.121304 0.375000
v 0.250000 -0.003696 0.375000
v 0.125000 0.246304 0.250000
v 0.125000 0.121304 0.250000
v 0.125000 -0.003696 0.375000
v 0.125000 -0.128696 0.500000
v 0.125000 -0.253696 0.500000
v 0.125000 -0.378696 0.375000
v 0.000000 0.121304 0.250000
v 0.000000 -0.003696 0.375000
v 0.000000 -0.253696 0.500000
v -0.125000 0.246304 0.250000
v -0.125000 -0.378696 0.375000
v -0.250000 0.246304 0.250000
v -0.250000 0.121304 0.375000
v -0.250000 -0.378696 0.375000
v -0.375000 0.121304 0.375000
v -0.375000 -0.253696 0.500000
v -0.375000 -0.378696 0.375000
v -0.500000 -0.003696 0.500000
v -0.500000 -0.253696 0.500000
v 0.000000 -0.378696 0.375000
v 0.000000 -0.378696 0.125000
v 0.000000 -1.000000 0.125000
v 0.375000 -0.003696 0.500000
v 0.375000 -0.128696 0.500000
v 0.375000 -0.253696 0.500000
v 0.250000 -0.003696 0.500000
v 0.250000 -0.128696 0.500000
v 0.250000 -0.253696 0.500000
v 0.250000 -0.253696 0.375000
v 0.250000 -0.378696 0.375000
v 0.125000 0.121304 0.375000
v 0.125000 -0.003696 0.500000
v 0.125000 -0.253696 0.375000
v 0.125000 -0.378696 0.125000
v 0.000000 0.246304 0.250000
v 0.000000 0.121304 0.375000
v 0.000000 -0.003696 0.500000
v 0.000000 -0.128696 0.500000
v 0.000000 -0.253696 0.375000
v -0.125000 0.121304 0.250000
v -0.125000 0.121304 0.375000
v -0.125000 -0.003696 0.375000
v -0.125000 -0.003696 0.500000
v -0.125000 -0.128696 0.500000
v -0.125000 -0.253696 0.500000
v -0.125000 -0.253696 0.375000
v -0.125000 -0.378696 0.125000
v -0.250000 0.121304 0.250000
v -0.250000 -0.003696 0.375000
v -0.250000 -0.003696 0.500000
v -0.250000 -0.128696 0.500000
v -0.250000 -0.253696 0.500000
v -0.250000 -0.253696 0.375000
v -0.375000 -0.003696 0.375000
v -0.375000 -0.003696 0.500000
v -0.375000 -0.128696 0.500000
v -0.375000 -0.253696 0.375000
v -0.500000 -0.128696 0.500000
v -0.125000 -0.378696 -0.250000
v -0.000000 -0.378696 -0.250000
v 0.125000 -0.378696 -0.250000
v -0.250000 -0.378696 0.125000
v -0.250000 -0.378696 0.000000
v -0.250000 -0.378696 -0.125000
v -0.250000 -0.378696 -0.250000
v 0.250000 -0.378696 0.125000
v 0.250000 -0.378696 -0.000000
v 0.250000 -0.378696 -0.125000
v 0.250000 -0.378696 -0.250000
v -0.250000 -0.378696 0.250000
v -0.125000 -0.378696 0.250000
v 0.000000 -0.378696 0.250000
v 0.125000 -0.378696 0.250000
v 0.250000 -0.378696 0.250000
v 0.000000 -1.000000 -0.000000
v -0.125000 0.246304 0.125000
v 0.000000 0.246304 0.125000
v 0.125000 0.246304 0.125000
v -0.125000 0.246304 -0.125000
v -0.000000 0.246304 -0.125000
v 0.125000 0.246304 -0.125000
v -0.125000 0.246304 0.000000
v 0.000000 0.246304 -0.000000
v 0.125000 0.246304 -0.000000
vn 1.0000 -0.0000 -0.0000
vn -0.0000 -0.0000 -1.0000
vn -1.0000 -0.0000 -0.0000
vn -0.0000 -0.0000 1.0000
vn -0.0000 1.0000 -0.0000
vn -0.0000 -1.0000 -0.0000
vt 0.312500 0.187500
vt 0.250000 0.125000
vt 0.312500 0.125000
vt 0.312500 0.250000
vt 0.250000 0.187500
vt 0.375000 0.125000
vt 0.312500 0.062500
vt 0.375000 0.062500
vt 0.375000 0.187500
vt 0.375000 0.250000
vt 0.375000 0.312500
vt 0.437500 0.125000
vt 0.437500 0.062500
vt 0.437500 0.187500
vt 0.437500 0.250000
vt 0.437500 0.312500
vt 0.437500 0.375000
vt 0.500000 0.062500
vt 0.437500 0.000000
vt 0.500000 0.000000
vt 0.500000 0.125000
vt 0.500000 0.187500
vt 0.500000 0.250000
vt 0.500000 0.312500
vt 0.500000 0.375000
vt 0.562500 0.062500
vt 0.562500 0.000000
vt 0.562500 0.125000
vt 0.562500 0.187500
vt 0.562500 0.250000
vt 0.562500 0.312500
vt 0.562500 0.375000
vt 0.625000 0.125000
vt 0.625000 0.062500
vt 0.625000 0.187500
vt 0.625000 0.250000
vt 0.625000 0.312500
vt 0.687500 0.125000
vt 0.687500 0.062500
vt 0.687500 0.187500
vt 0.687500 0.250000
vt 0.687500 0.312500
vt 0.750000 0.187500
vt 0.750000 0.125000
vt 0.250000 0.250000
vt 0.375000 0.375000
vt 0.625000 0.375000
vt 0.750000 0.250000
vt 0.312500 0.312500
s 0
f 65/1/1 31/2/1 66/3/1
f 27/4/1 30/5/1 65/1/1
f 62/6/1 28/7/1 63/8/1
f 61/9/1 66/3/1 25/6/1
f 60/10/1 65/1/1 61/9/1
f 58/11/1 64/4/1 59/10/1
f 55/12/1 63/8/1 56/13/1
f 22/14/1 25/6/1 23/12/1
f 54/15/1 61/9/1 22/14/1
f 53/16/1 59/10/1 21/15/1
f 20/17/1 57/11/1 52/16/1
f 32/18/1 1/19/1 2/20/1
f 51/21/1 56/13/1 33/18/1
f 49/22/1 23/12/1 50/21/1
f 48/23/1 22/14/1 49/22/1
f 46/24/1 21/15/1 47/23/1
f 45/25/1 52/16/1 19/24/1
f 44/26/1 2/20/1 3/27/1
f 43/28/1 33/18/1 18/26/1
f 42/29/1 50/21/1 17/28/1
f 41/30/1 49/22/1 42/29/1
f 40/31/1 47/23/1 16/30/1
f 39/32/1 19/24/1 15/31/1
f 38/33/1 18/26/1 14/34/1
f 12/35/1 17/28/1 13/33/1
f 37/36/1 42/29/1 12/35/1
f 36/37/1 16/30/1 11/36/1
f 119/37/1 39/32/1 15/31/1
f 35/38/1 14/34/1 9/39/1
f 7/40/1 13/33/1 8/38/1
f 6/41/1 12/35/1 7/40/1
f 5/42/1 11/36/1 34/41/1
f 86/43/1 8/38/1 87/44/1
f 86/43/1 6/41/1 7/40/1
f 85/1/2 87/2/2 124/3/2
f 85/1/2 4/45/2 86/5/2
f 123/6/2 9/7/2 83/8/2
f 82/9/2 124/3/2 122/6/2
f 121/10/2 85/1/2 82/9/2
f 81/11/2 34/4/2 120/10/2
f 117/12/2 83/8/2 118/13/2
f 116/14/2 122/6/2 80/12/2
f 115/15/2 82/9/2 116/14/2
f 113/16/2 120/10/2 114/15/2
f 79/16/2 10/46/2 119/11/2
f 88/18/2 3/19/2 89/20/2
f 111/21/2 118/13/2 78/18/2
f 109/22/2 80/12/2 110/21/2
f 108/23/2 116/14/2 109/22/2
f 107/24/2 114/15/2 77/23/2
f 106/25/2 79/16/2 76/24/2
f 169/26/2 89/20/2 125/27/2
f 104/28/2 78/18/2 105/26/2
f 75/29/2 110/21/2 103/28/2
f 102/30/2 109/22/2 75/29/2
f 101/31/2 77/23/2 74/30/2
f 99/32/2 76/24/2 100/31/2
f 98/33/2 105/26/2 73/34/2
f 97/35/2 103/28/2 72/33/2
f 96/36/2 75/29/2 97/35/2
f 94/37/2 74/30/2 95/36/2
f 71/47/2 100/31/2 93/37/2
f 178/38/2 73/34/2 70/39/2
f 91/40/2 72/33/2 92/38/2
f 69/41/2 97/35/2 91/40/2
f 136/42/2 95/36/2 90/41/2
f 179/43/2 92/38/2 139/44/2
f 68/48/2 91/40/2 179/43/2
f 177/1/3 139/2/3 138/3/3
f 137/4/3 179/5/3 177/1/3
f 175/6/3 70/7/3 176/8/3
f 173/9/3 138/3/3 174/6/3
f 172/10/3 177/1/3 173/9/3
f 135/11/3 90/4/3 171/10/3
f 168/12/3 176/8/3 170/13/3
f 133/14/3 174/6/3 134/12/3
f 167/15/3 173/9/3 133/14/3
f 166/16/3 171/10/3 132/15/3
f 165/17/3 93/11/3 131/16/3
f 141/18/3 125/19/3 142/20/3
f 164/21/3 170/13/3 140/18/3
f 162/22/3 134/12/3 163/21/3
f 161/23/3 133/14/3 162/22/3
f 160/24/3 132/15/3 130/23/3
f 159/25/3 131/16/3 129/24/3
f 229/26/3 142/20/3 180/27/3
f 158/28/3 140/18/3 128/26/3
f 127/29/3 163/21/3 157/28/3
f 156/30/3 162/22/3 127/29/3
f 154/31/3 130/23/3 155/30/3
f 152/32/3 129/24/3 153/31/3
f 150/33/3 128/26/3 151/34/3
f 148/35/3 157/28/3 149/33/3
f 147/36/3 127/29/3 148/35/3
f 126/37/3 155/30/3 146/36/3
f 194/47/3 153/31/3 230/37/3
f 239/38/3 151/34/3 199/39/3
f 144/40/3 149/33/3 145/38/3
f 143/41/3 148/35/3 144/40/3
f 197/42/3 146/36/3 236/41/3
f 240/43/3 145/38/3 201/44/3
f 200/48/3 144/40/3 240/43/3
f 238/1/4 201/2/4 198/3/4
f 237/4/4 240/5/4 238/1/4
f 235/6/4 199/7/4 196/8/4
f 233/9/4 198/3/4 234/6/4
f 232/10/4 238/1/4 233/9/4
f 195/11/4 236/4/4 231/10/4
f 228/12/4 196/8/4 193/13/4
f 226/14/4 234/6/4 227/12/4
f 225/15/4 233/9/4 226/14/4
f 223/16/4 231/10/4 224/15/4
f 192/17/4 230/11/4 222/16/4
f 203/18/4 180/19/4 204/20/4
f 221/21/4 193/13/4 202/18/4
f 220/22/4 227/12/4 191/21/4
f 219/23/4 226/14/4 220/22/4
f 218/24/4 224/15/4 190/23/4
f 217/25/4 222/16/4 189/24/4
f 216/26/4 204/20/4 1/27/4
f 215/28/4 202/18/4 188/26/4
f 186/29/4 191/21/4 187/28/4
f 214/30/4 220/22/4 186/29/4
f 213/31/4 190/23/4 185/30/4
f 183/32/4 189/24/4 184/31/4
f 211/33/4 188/26/4 212/34/4
f 209/35/4 187/28/4 210/33/4
f 208/36/4 186/29/4 209/35/4
f 181/37/4 185/30/4 182/36/4
f 24/47/4 184/31/4 57/37/4
f 67/38/4 212/34/4 28/39/4
f 206/40/4 210/33/4 207/38/4
f 205/41/4 209/35/4 206/40/4
f 26/42/4 182/36/4 64/41/4
f 30/43/4 207/38/4 31/44/4
f 29/48/4 206/40/4 30/43/4
f 258/34/5 194/38/5 192/33/5
f 230/34/5 197/38/5 195/33/5
f 126/39/5 153/33/5 154/34/5
f 94/39/5 135/33/5 93/34/5
f 36/39/5 81/33/5 119/34/5
f 6/1/5 84/45/5 34/5/5
f 182/35/5 205/41/5 64/36/5
f 236/5/5 200/4/5 237/45/5
f 96/40/5 90/36/5 95/35/5
f 204/18/6 142/19/6 257/20/6
f 25/9/6 67/3/6 62/6/6
f 150/33/6 145/40/6 149/35/6
f 122/9/6 35/3/6 123/6/6
f 212/39/6 255/33/6 256/34/6
f 8/2/6 124/1/6 87/5/6
f 201/5/6 239/3/6 198/1/6
f 31/5/6 67/3/6 66/1/6
f 92/2/6 138/1/6 139/5/6
f 234/9/6 239/3/6 235/6/6
f 128/39/6 245/33/6 244/34/6
f 249/39/6 56/33/6 248/34/6
f 18/39/6 249/33/6 250/34/6
f 250/39/6 243/33/6 251/34/6
f 243/34/6 78/38/6 118/33/6
f 247/34/6 70/38/6 73/33/6
f 245/39/6 170/33/6 246/34/6
f 196/39/6 151/33/6 252/34/6
f 254/39/6 193/33/6 253/34/6
f 105/39/6 242/33/6 241/34/6
f 188/39/6 254/33/6 255/34/6
f 175/6/6 138/1/6 178/3/6
f 168/12/6 174/9/6 175/6/6
f 164/21/6 134/14/6 168/12/6
f 158/28/6 163/22/6 164/21/6
f 150/33/6 157/29/6 158/28/6
f 92/40/6 98/33/6 178/38/6
f 72/35/6 104/28/6 98/33/6
f 104/28/6 110/22/6 111/21/6
f 110/22/6 117/12/6 111/21/6
f 80/14/6 123/6/6 117/12/6
f 44/34/6 242/38/6 243/33/6
f 241/39/6 88/33/6 169/34/6
f 170/39/6 247/33/6 246/34/6
f 251/39/6 118/33/6 83/34/6
f 246/39/6 241/33/6 169/34/6
f 141/39/6 246/33/6 169/34/6
f 244/39/6 141/33/6 229/34/6
f 193/39/6 252/33/6 253/34/6
f 247/39/6 105/33/6 241/34/6
f 18/39/6 251/33/6 14/34/6
f 44/34/6 249/38/6 32/33/6
f 32/39/6 248/33/6 216/34/6
f 28/39/6 256/33/6 63/34/6
f 14/39/6 83/33/6 9/34/6
f 256/39/6 216/33/6 248/34/6
f 255/39/6 203/33/6 216/34/6
f 203/39/6 253/33/6 229/34/6
f 229/34/6 252/38/6 244/33/6
f 244/34/6 151/38/6 128/33/6
f 63/39/6 248/33/6 56/34/6
f 1/26/6 257/20/6 2/27/6
f 257/18/6 125/19/6 89/20/6
f 2/26/6 89/20/6 3/27/6
f 227/14/6 235/6/6 228/12/6
f 211/33/6 207/40/6 210/35/6
f 221/21/6 227/14/6 228/12/6
f 215/28/6 191/22/6 221/21/6
f 211/33/6 187/29/6 215/28/6
f 23/14/6 62/6/6 55/12/6
f 50/22/6 55/12/6 51/21/6
f 17/29/6 51/21/6 43/28/6
f 13/35/6 43/28/6 38/33/6
f 8/40/6 38/33/6 35/38/6
f 166/39/5 93/33/5 135/34/5
f 160/39/5 131/33/5 166/34/5
f 154/39/5 129/33/5 160/34/5
f 161/29/5 155/23/5 130/22/5
f 167/14/5 130/10/5 132/9/5
f 172/14/5 132/10/5 171/9/5
f 137/1/5 171/10/5 90/4/5
f 137/1/5 69/45/5 68/5/5
f 156/35/5 146/30/5 155/29/5
f 146/35/5 143/41/5 236/36/5
f 74/29/5 96/36/5 95/30/5
f 108/29/5 74/23/5 77/22/5
f 115/22/5 77/15/5 114/14/5
f 121/22/5 114/15/5 120/14/5
f 34/9/5 121/15/5 120/10/5
f 37/40/5 34/36/5 11/35/5
f 41/35/5 11/30/5 16/29/5
f 48/29/5 16/23/5 47/22/5
f 54/22/5 47/15/5 21/14/5
f 60/14/5 21/10/5 59/9/5
f 60/9/5 64/4/5 27/1/5
f 29/5/5 64/4/5 205/45/5
f 214/35/5 182/30/5 185/29/5
f 190/14/5 214/23/5 185/15/5
f 225/22/5 190/15/5 224/14/5
f 232/14/5 224/10/5 231/9/5
f 237/9/5 231/4/5 236/1/5
f 230/15/5 223/11/5 222/10/5
f 189/34/5 223/38/5 218/33/5
f 189/39/5 213/33/5 184/34/5
f 184/39/5 181/33/5 57/34/5
f 57/39/5 26/33/5 58/34/5
f 101/39/5 76/33/5 107/34/5
f 100/34/5 94/38/5 93/33/5
f 107/39/5 79/33/5 113/34/5
f 113/39/5 119/33/5 81/34/5
f 40/39/5 119/33/5 15/34/5
f 40/39/5 19/33/5 46/34/5
f 46/39/5 52/33/5 53/34/5
f 53/15/5 57/11/5 58/10/5
f 99/39/5 165/33/5 261/34/5
f 258/39/5 217/33/5 259/34/5
f 106/39/5 261/33/5 262/34/5
f 259/39/5 183/33/5 260/34/5
f 263/34/5 106/38/5 262/33/5
f 260/39/5 24/33/5 20/34/5
f 39/34/5 112/38/5 263/33/5
f 263/39/5 265/33/5 266/34/5
f 262/39/5 264/33/5 265/34/5
f 264/34/5 165/38/5 159/33/5
f 39/39/5 266/33/5 45/34/5
f 260/34/5 265/38/5 259/33/5
f 265/39/5 258/33/5 259/34/5
f 258/34/5 159/38/5 152/33/5
f 45/39/5 260/33/5 20/34/5
f 65/1/1 30/5/1 31/2/1
f 27/4/1 29/45/1 30/5/1
f 62/6/1 67/3/1 28/7/1
f 61/9/1 65/1/1 66/3/1
f 60/10/1 27/4/1 65/1/1
f 58/11/1 26/49/1 64/4/1
f 55/12/1 62/6/1 63/8/1
f 22/14/1 61/9/1 25/6/1
f 54/15/1 60/10/1 61/9/1
f 53/16/1 58/11/1 59/10/1
f 20/17/1 24/46/1 57/11/1
f 32/18/1 216/13/1 1/19/1
f 51/21/1 55/12/1 56/13/1
f 49/22/1 22/14/1 23/12/1
f 48/23/1 54/15/1 22/14/1
f 46/24/1 53/16/1 21/15/1
f 45/25/1 20/17/1 52/16/1
f 44/26/1 32/18/1 2/20/1
f 43/28/1 51/21/1 33/18/1
f 42/29/1 49/22/1 50/21/1
f 41/30/1 48/23/1 49/22/1
f 40/31/1 46/24/1 47/23/1
f 39/32/1 45/25/1 19/24/1
f 38/33/1 43/28/1 18/26/1
f 12/35/1 42/29/1 17/28/1
f 37/36/1 41/30/1 42/29/1
f 36/37/1 40/31/1 16/30/1
f 119/37/1 10/47/1 39/32/1
f 35/38/1 38/33/1 14/34/1
f 7/40/1 12/35/1 13/33/1
f 6/41/1 37/36/1 12/35/1
f 5/42/1 36/37/1 11/36/1
f 86/43/1 7/40/1 8/38/1
f 86/43/1 4/48/1 6/41/1
f 85/1/2 86/5/2 87/2/2
f 85/1/2 84/4/2 4/45/2
f 123/6/2 35/3/2 9/7/2
f 82/9/2 85/1/2 124/3/2
f 121/10/2 84/4/2 85/1/2
f 81/11/2 5/49/2 34/4/2
f 117/12/2 123/6/2 83/8/2
f 116/14/2 82/9/2 122/6/2
f 115/15/2 121/10/2 82/9/2
f 113/16/2 81/11/2 120/10/2
f 79/16/2 112/17/2 10/46/2
f 88/18/2 44/13/2 3/19/2
f 111/21/2 117/12/2 118/13/2
f 109/22/2 116/14/2 80/12/2
f 108/23/2 115/15/2 116/14/2
f 107/24/2 113/16/2 114/15/2
f 106/25/2 112/17/2 79/16/2
f 169/26/2 88/18/2 89/20/2
f 104/28/2 111/21/2 78/18/2
f 75/29/2 109/22/2 110/21/2
f 102/30/2 108/23/2 109/22/2
f 101/31/2 107/24/2 77/23/2
f 99/32/2 106/25/2 76/24/2
f 98/33/2 104/28/2 105/26/2
f 97/35/2 75/29/2 103/28/2
f 96/36/2 102/30/2 75/29/2
f 94/37/2 101/31/2 74/30/2
f 71/47/2 99/32/2 100/31/2
f 178/38/2 98/33/2 73/34/2
f 91/40/2 97/35/2 72/33/2
f 69/41/2 96/36/2 97/35/2
f 136/42/2 94/37/2 95/36/2
f 179/43/2 91/40/2 92/38/2
f 68/48/2 69/41/2 91/40/2
f 177/1/3 179/5/3 139/2/3
f 137/4/3 68/45/3 179/5/3
f 175/6/3 178/3/3 70/7/3
f 173/9/3 177/1/3 138/3/3
f 172/10/3 137/4/3 177/1/3
f 135/11/3 136/49/3 90/4/3
f 168/12/3 175/6/3 176/8/3
f 133/14/3 173/9/3 174/6/3
f 167/15/3 172/10/3 173/9/3
f 166/16/3 135/11/3 171/10/3
f 165/17/3 71/46/3 93/11/3
f 141/18/3 169/13/3 125/19/3
f 164/21/3 168/12/3 170/13/3
f 162/22/3 133/14/3 134/12/3
f 161/23/3 167/15/3 133/14/3
f 160/24/3 166/16/3 132/15/3
f 159/25/3 165/17/3 131/16/3
f 229/26/3 141/18/3 142/20/3
f 158/28/3 164/21/3 140/18/3
f 127/29/3 162/22/3 163/21/3
f 156/30/3 161/23/3 162/22/3
f 154/31/3 160/24/3 130/23/3
f 152/32/3 159/25/3 129/24/3
f 150/33/3 158/28/3 128/26/3
f 148/35/3 127/29/3 157/28/3
f 147/36/3 156/30/3 127/29/3
f 126/37/3 154/31/3 155/30/3
f 194/47/3 152/32/3 153/31/3
f 239/38/3 150/33/3 151/34/3
f 144/40/3 148/35/3 149/33/3
f 143/41/3 147/36/3 148/35/3
f 197/42/3 126/37/3 146/36/3
f 240/43/3 144/40/3 145/38/3
f 200/48/3 143/41/3 144/40/3
f 238/1/4 240/5/4 201/2/4
f 237/4/4 200/45/4 240/5/4
f 235/6/4 239/3/4 199/7/4
f 233/9/4 238/1/4 198/3/4
f 232/10/4 237/4/4 238/1/4
f 195/11/4 197/49/4 236/4/4
f 228/12/4 235/6/4 196/8/4
f 226/14/4 233/9/4 234/6/4
f 225/15/4 232/10/4 233/9/4
f 223/16/4 195/11/4 231/10/4
f 192/17/4 194/46/4 230/11/4
f 203/18/4 229/13/4 180/19/4
f 221/21/4 228/12/4 193/13/4
f 220/22/4 226/14/4 227/12/4
f 219/23/4 225/15/4 226/14/4
f 218/24/4 223/16/4 224/15/4
f 217/25/4 192/17/4 222/16/4
f 216/26/4 203/18/4 204/20/4
f 215/28/4 221/21/4 202/18/4
f 186/29/4 220/22/4 191/21/4
f 214/30/4 219/23/4 220/22/4
f 213/31/4 218/24/4 190/23/4
f 183/32/4 217/25/4 189/24/4
f 211/33/4 215/28/4 188/26/4
f 209/35/4 186/29/4 187/28/4
f 208/36/4 214/30/4 186/29/4
f 181/37/4 213/31/4 185/30/4
f 24/47/4 183/32/4 184/31/4
f 67/38/4 211/33/4 212/34/4
f 206/40/4 209/35/4 210/33/4
f 205/41/4 208/36/4 209/35/4
f 26/42/4 181/37/4 182/36/4
f 30/43/4 206/40/4 207/38/4
f 29/48/4 205/41/4 206/40/4
f 258/34/5 152/39/5 194/38/5
f 230/34/5 126/39/5 197/38/5
f 126/39/5 230/38/5 153/33/5
f 94/39/5 136/38/5 135/33/5
f 36/39/5 5/38/5 81/33/5
f 6/1/5 4/4/5 84/45/5
f 182/35/5 208/40/5 205/41/5
f 236/5/5 143/1/5 200/4/5
f 96/40/5 69/41/5 90/36/5
f 204/18/6 180/13/6 142/19/6
f 25/9/6 66/1/6 67/3/6
f 150/33/6 239/38/6 145/40/6
f 122/9/6 124/1/6 35/3/6
f 212/39/6 188/38/6 255/33/6
f 8/2/6 35/3/6 124/1/6
f 201/5/6 145/2/6 239/3/6
f 31/5/6 207/2/6 67/3/6
f 92/2/6 178/3/6 138/1/6
f 234/9/6 198/1/6 239/3/6
f 128/39/6 140/38/6 245/33/6
f 249/39/6 33/38/6 56/33/6
f 18/39/6 33/38/6 249/33/6
f 250/39/6 44/38/6 243/33/6
f 243/34/6 242/39/6 78/38/6
f 247/34/6 176/39/6 70/38/6
f 245/39/6 140/38/6 170/33/6
f 196/39/6 199/38/6 151/33/6
f 254/39/6 202/38/6 193/33/6
f 105/39/6 78/38/6 242/33/6
f 188/39/6 202/38/6 254/33/6
f 175/6/6 174/9/6 138/1/6
f 168/12/6 134/14/6 174/9/6
f 164/21/6 163/22/6 134/14/6
f 158/28/6 157/29/6 163/22/6
f 150/33/6 149/35/6 157/29/6
f 92/40/6 72/35/6 98/33/6
f 72/35/6 103/29/6 104/28/6
f 104/28/6 103/29/6 110/22/6
f 110/22/6 80/14/6 117/12/6
f 80/14/6 122/9/6 123/6/6
f 44/34/6 88/39/6 242/38/6
f 241/39/6 242/38/6 88/33/6
f 170/39/6 176/38/6 247/33/6
f 251/39/6 243/38/6 118/33/6
f 246/39/6 247/38/6 241/33/6
f 141/39/6 245/38/6 246/33/6
f 244/39/6 245/38/6 141/33/6
f 193/39/6 196/38/6 252/33/6
f 247/39/6 73/38/6 105/33/6
f 18/39/6 250/38/6 251/33/6
f 44/34/6 250/39/6 249/38/6
f 32/39/6 249/38/6 248/33/6
f 28/39/6 212/38/6 256/33/6
f 14/39/6 251/38/6 83/33/6
f 256/39/6 255/38/6 216/33/6
f 255/39/6 254/38/6 203/33/6
f 203/39/6 254/38/6 253/33/6
f 229/34/6 253/39/6 252/38/6
f 244/34/6 252/39/6 151/38/6
f 63/39/6 256/38/6 248/33/6
f 1/26/6 204/18/6 257/20/6
f 257/18/6 142/13/6 125/19/6
f 2/26/6 257/18/6 89/20/6
f 227/14/6 234/9/6 235/6/6
f 211/33/6 67/38/6 207/40/6
f 221/21/6 191/22/6 227/14/6
f 215/28/6 187/29/6 191/22/6
f 211/33/6 210/35/6 187/29/6
f 23/14/6 25/9/6 62/6/6
f 50/22/6 23/14/6 55/12/6
f 17/29/6 50/22/6 51/21/6
f 13/35/6 17/29/6 43/28/6
f 8/40/6 13/35/6 38/33/6
f 166/39/5 131/38/5 93/33/5
f 160/39/5 129/38/5 131/33/5
f 154/39/5 153/38/5 129/33/5
f 161/29/5 156/30/5 155/23/5
f 167/14/5 161/15/5 130/10/5
f 172/14/5 167/15/5 132/10/5
f 137/1/5 172/9/5 171/10/5
f 137/1/5 90/4/5 69/45/5
f 156/35/5 147/36/5 146/30/5
f 146/35/5 147/40/5 143/41/5
f 74/29/5 102/35/5 96/36/5
f 108/29/5 102/30/5 74/23/5
f 115/22/5 108/23/5 77/15/5
f 121/22/5 115/23/5 114/15/5
f 34/9/5 84/14/5 121/15/5
f 37/40/5 6/41/5 34/36/5
f 41/35/5 37/36/5 11/30/5
f 48/29/5 41/30/5 16/23/5
f 54/22/5 48/23/5 47/15/5
f 60/14/5 54/15/5 21/10/5
f 60/9/5 59/10/5 64/4/5
f 29/5/5 27/1/5 64/4/5
f 214/35/5 208/36/5 182/30/5
f 190/14/5 219/22/5 214/23/5
f 225/22/5 219/23/5 190/15/5
f 232/14/5 225/15/5 224/10/5
f 237/9/5 232/10/5 231/4/5
f 230/15/5 195/16/5 223/11/5
f 189/34/5 222/39/5 223/38/5
f 189/39/5 218/38/5 213/33/5
f 184/39/5 213/38/5 181/33/5
f 57/39/5 181/38/5 26/33/5
f 101/39/5 100/38/5 76/33/5
f 100/34/5 101/39/5 94/38/5
f 107/39/5 76/38/5 79/33/5
f 113/39/5 79/38/5 119/33/5
f 40/39/5 36/38/5 119/33/5
f 40/39/5 15/38/5 19/33/5
f 46/39/5 19/38/5 52/33/5
f 53/15/5 52/16/5 57/11/5
f 99/39/5 71/38/5 165/33/5
f 258/39/5 192/38/5 217/33/5
f 106/39/5 99/38/5 261/33/5
f 259/39/5 217/38/5 183/33/5
f 263/34/5 112/39/5 106/38/5
f 260/39/5 183/38/5 24/33/5
f 39/34/5 10/39/5 112/38/5
f 263/39/5 262/38/5 265/33/5
f 262/39/5 261/38/5 264/33/5
f 264/34/5 261/39/5 165/38/5
f 39/39/5 263/38/5 266/33/5
f 260/34/5 266/39/5 265/38/5
f 265/39/5 264/38/5 258/33/5
f 258/34/5 264/39/5 159/38/5
f 45/39/5 266/38/5 260/33/5

View File

@ -22,11 +22,11 @@ def wrap_n(nc, chunk_c):
chunk_c = chunk_c + 1 chunk_c = chunk_c + 1
return nc, chunk_c return nc, chunk_c
# check vertex_buffer.py for model order
custom_blocks = [ custom_blocks = [
{ # "tallgrass" model { # "tallgrass" model
data.BlockID.TALL_GRASS, data.BlockID.TALL_GRASS,
data.BlockID.MUSHROOM_1, data.BlockID.MUSHROOM_1,
data.BlockID.MUSHROOM_2,
data.BlockID.FLOWER, data.BlockID.FLOWER,
data.BlockID.ROSE, data.BlockID.ROSE,
data.BlockID.SAPLING, data.BlockID.SAPLING,
@ -40,6 +40,9 @@ custom_blocks = [
{ # "wheat" model { # "wheat" model
data.BlockID.WHEAT, data.BlockID.WHEAT,
}, },
{ # "custom-mushroom" model
data.BlockID.MUSHROOM_2,
},
] ]
non_solid_blocks = set(chain.from_iterable(custom_blocks)) non_solid_blocks = set(chain.from_iterable(custom_blocks))

View File

@ -1,22 +1,22 @@
# Blender 5.0.0 # Blender 5.0.0
# www.blender.org # www.blender.org
o TallGrass o TallGrass
v 0.800000 0.600000 0.800000 v 1.000000 1.000000 1.000000
v 0.800000 -1.000000 0.800000 v 1.000000 -1.000000 1.000000
v -0.800000 -1.000000 0.800000 v -1.000000 -1.000000 1.000000
v -0.800000 0.600000 0.800000 v -1.000000 1.000000 1.000000
v -0.800000 0.600000 -0.800000 v -1.000000 1.000000 -1.000000
v -0.800000 -1.000000 -0.800000 v -1.000000 -1.000000 -1.000000
v 0.800000 -1.000000 -0.800000 v 1.000000 -1.000000 -1.000000
v 0.800000 0.600000 -0.800000 v 1.000000 1.000000 -1.000000
vn 0.7071 -0.0000 0.7071 vn 0.7071 -0.0000 0.7071
vn 0.7071 -0.0000 -0.7071 vn 0.7071 -0.0000 -0.7071
vt 1.000000 1.000000
vt 0.000000 -0.000000 vt 0.000000 -0.000000
vt 1.000000 0.000000
vt 1.000000 1.000000 vt 1.000000 1.000000
vt -0.000000 1.000000 vt -0.000000 1.000000
vt 0.000000 -0.000000
vt 1.000000 0.000000 vt 1.000000 0.000000
vt -0.000000 1.000000
s 0 s 0
f 3/1/1 8/2/1 4/3/1 f 3/1/1 8/2/1 4/3/1
f 5/2/2 2/4/2 6/5/2 f 5/2/2 2/4/2 6/5/2

View File

@ -15,16 +15,16 @@ vn -1.0000 -0.0000 -0.0000
vn -0.0000 -1.0000 -0.0000 vn -0.0000 -1.0000 -0.0000
vn 1.0000 -0.0000 -0.0000 vn 1.0000 -0.0000 -0.0000
vn -0.0000 -0.0000 -1.0000 vn -0.0000 -0.0000 -1.0000
vt 0.531250 0.406250 vt 0.468750 0.593750
vt 0.468750 0.468750 vt 0.531250 0.531250
vt 0.468750 0.406250 vt 0.531250 0.593750
vt 0.437500 0.375000 vt 0.562500 0.625000
vt 0.562500 1.000000 vt 0.437500 0.000000
vt 0.437500 1.000000 vt 0.562500 0.000000
vt 0.562500 0.875000 vt 0.437500 0.125000
vt 0.437500 0.875000 vt 0.562500 0.125000
vt 0.531250 0.468750 vt 0.468750 0.531250
vt 0.562500 0.375000 vt 0.437500 0.625000
s 0 s 0
f 5/1/1 3/2/1 1/3/1 f 5/1/1 3/2/1 1/3/1
f 3/4/2 8/5/2 4/6/2 f 3/4/2 8/5/2 4/6/2

View File

@ -14,7 +14,7 @@ normals = [
(1.0, 0.0, 0.0), (1.0, 0.0, 0.0),
] ]
def build_configuration_index_buffers(f, faces_by_normal, index_buffer): def build_configuration_index_buffers(faces_by_normal, index_buffer):
assert(set(normals) == set(faces_by_normal.keys())) assert(set(normals) == set(faces_by_normal.keys()))
offset = 0 offset = 0
@ -27,7 +27,7 @@ def build_configuration_index_buffers(f, faces_by_normal, index_buffer):
normal = normals[i] normal = normals[i]
indices = faces_by_normal[normal] indices = faces_by_normal[normal]
for index in indices: for index in indices:
f.write(struct.pack("<B", index)) #f.write(struct.pack("<B", index))
index_buffer.append(index) index_buffer.append(index)
offset += 1 offset += 1
@ -47,14 +47,16 @@ def main():
obj_state.append_triangles(cube_state, vertex_buffer, tmp_index_buffer, index_lookup) obj_state.append_triangles(cube_state, vertex_buffer, tmp_index_buffer, index_lookup)
cube_faces_by_normal = obj_state.build_faces_by_normal(vertex_buffer, tmp_index_buffer) cube_faces_by_normal = obj_state.build_faces_by_normal(vertex_buffer, tmp_index_buffer)
build_configuration_index_buffers(f, cube_faces_by_normal, index_buffer) build_configuration_index_buffers(cube_faces_by_normal, index_buffer)
# check mc.py `custom_blocks` for model order
obj_write.write_obj(vertex_buffer, index_buffer, index_lookup, "tallgrass.obj") obj_write.write_obj(vertex_buffer, index_buffer, index_lookup, "tallgrass.obj")
obj_write.write_obj(vertex_buffer, index_buffer, index_lookup, "fence.obj") obj_write.write_obj(vertex_buffer, index_buffer, index_lookup, "fence.obj")
obj_write.write_obj(vertex_buffer, index_buffer, index_lookup, "torch.obj") obj_write.write_obj(vertex_buffer, index_buffer, index_lookup, "torch.obj")
obj_write.write_obj(vertex_buffer, index_buffer, index_lookup, "wheat.obj") obj_write.write_obj(vertex_buffer, index_buffer, index_lookup, "wheat.obj")
obj_write.write_obj(vertex_buffer, index_buffer, index_lookup, "custom-mushroom.obj")
with open("../configuration.idx", "wb") as f: with open("../configuration.idx", "wb") as f:
obj_write.write_indices(f, "<B", index_buffer) obj_write.write_indices(f, "<H", index_buffer)
with open("../per_vertex.vtx", "wb") as f: with open("../per_vertex.vtx", "wb") as f:
obj_write.write_vertex_buffer(f, vertex_buffer) obj_write.write_vertex_buffer(f, vertex_buffer)

View File

@ -1,22 +1,22 @@
# Blender 5.0.0 # Blender 5.0.0
# www.blender.org # www.blender.org
o Cube o Cube
v -0.500000 -1.000000 -1.000000
v -0.500000 1.000000 -1.000000
v 1.000000 -1.000000 0.500000
v 1.000000 1.000000 0.500000
v 0.500000 1.000000 -1.000000
v 0.500000 -1.000000 -1.000000
v 0.500000 1.000000 1.000000
v 0.500000 -1.000000 1.000000
v 1.000000 1.000000 -0.500000
v 1.000000 -1.000000 -0.500000
v -1.000000 1.000000 -0.500000
v -1.000000 -1.000000 -0.500000
v -0.500000 1.000000 1.000000 v -0.500000 1.000000 1.000000
v -0.500000 -1.000000 1.000000 v -0.500000 -1.000000 1.000000
v -1.000000 1.000000 0.500000 v -1.000000 1.000000 0.500000
v -1.000000 -1.000000 0.500000 v -1.000000 -1.000000 0.500000
v 0.500000 -1.000000 1.000000
v 0.500000 1.000000 1.000000
v 0.500000 -1.000000 -1.000000
v 0.500000 1.000000 -1.000000
v -1.000000 -1.000000 -0.500000
v -1.000000 1.000000 -0.500000
v 1.000000 -1.000000 -0.500000
v 1.000000 1.000000 -0.500000
v -0.500000 -1.000000 -1.000000
v -0.500000 1.000000 -1.000000
v 1.000000 -1.000000 0.500000
v 1.000000 1.000000 0.500000
vn -0.0000 -0.0000 1.0000 vn -0.0000 -0.0000 1.0000
vn 1.0000 -0.0000 -0.0000 vn 1.0000 -0.0000 -0.0000
vn -0.0000 -0.0000 -1.0000 vn -0.0000 -0.0000 -1.0000

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

View File

@ -51,7 +51,7 @@ void main()
int terrain_x = terrain_ix % 16; int terrain_x = terrain_ix % 16;
int terrain_y = terrain_ix / 16; int terrain_y = terrain_ix / 16;
ivec2 coord = ivec2(terrain_x, terrain_y) * 16; ivec2 coord = ivec2(terrain_x, terrain_y) * 16;
coord += ivec2(fs_in.Texture.xy * 16.0); coord += ivec2(vec2(fs_in.Texture.x, 1.0 - fs_in.Texture.y) * 16.0);
vec4 texture_color = texelFetch(TerrainSampler, coord, 0); vec4 texture_color = texelFetch(TerrainSampler, coord, 0);
if (texture_color.w != 1.0) { if (texture_color.w != 1.0) {

View File

@ -1,3 +1,4 @@
/* BDZ */
/* generated with rurban/nbperf v3.1-0-g4379d4d -I <stdin> */ /* generated with rurban/nbperf v3.1-0-g4379d4d -I <stdin> */
/* seed[0]: 1469348094, seed[1]: 1956297539 */ /* seed[0]: 1469348094, seed[1]: 1956297539 */
#include <stdint.h> #include <stdint.h>

View File

@ -58,7 +58,7 @@ namespace minecraft {
static unsigned int index_buffer; static unsigned int index_buffer;
// also update index_buffer_custom_offsets in data.inc // also update index_buffer_custom_offsets in data.inc
static const int custom_block_types = 4; static const int custom_block_types = 5;
static const int instance_cfg_length = 64 + custom_block_types; static const int instance_cfg_length = 64 + custom_block_types;
struct instance_cfg { struct instance_cfg {
@ -299,7 +299,7 @@ namespace minecraft {
////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////
for (int configuration = 1; configuration < 64; configuration++) { for (int configuration = 1; configuration < 64; configuration++) {
int element_count = 6 * popcount(configuration); int element_count = 6 * popcount(configuration);
const void * indices = (void *)((ptrdiff_t)index_buffer_configuration_offsets[configuration]); // index into configuration.idx const void * indices = (void *)(2 * (ptrdiff_t)index_buffer_configuration_offsets[configuration]); // index into configuration.idx
int instance_count = instance_cfg[region_index].cfg[configuration].instance_count; int instance_count = instance_cfg[region_index].cfg[configuration].instance_count;
int base_instance = instance_cfg[region_index].cfg[configuration].offset / per_instance_size; // index into region.0.0.instance.vtx int base_instance = instance_cfg[region_index].cfg[configuration].offset / per_instance_size; // index into region.0.0.instance.vtx
@ -307,7 +307,7 @@ namespace minecraft {
if (instance_count == 0) if (instance_count == 0)
continue; continue;
glDrawElementsInstancedBaseInstance(GL_TRIANGLES, element_count, GL_UNSIGNED_BYTE, indices, instance_count, base_instance); glDrawElementsInstancedBaseInstance(GL_TRIANGLES, element_count, GL_UNSIGNED_SHORT, indices, instance_count, base_instance);
} }
////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////
@ -315,12 +315,12 @@ namespace minecraft {
////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////
for (int i = 0; i < custom_block_types; i++) { for (int i = 0; i < custom_block_types; i++) {
int element_count = index_buffer_custom_offsets[i].count; int element_count = index_buffer_custom_offsets[i].count;
const void * indices = (void *)((ptrdiff_t)index_buffer_custom_offsets[i].offset); const void * indices = (void *)(2 * (ptrdiff_t)index_buffer_custom_offsets[i].offset);
int instance_count = instance_cfg[region_index].cfg[64 + i].instance_count; int instance_count = instance_cfg[region_index].cfg[64 + i].instance_count;
int base_instance = instance_cfg[region_index].cfg[64 + i].offset / per_instance_size; // index into region.0.0.instance.vtx int base_instance = instance_cfg[region_index].cfg[64 + i].offset / per_instance_size; // index into region.0.0.instance.vtx
if (instance_count == 0) if (instance_count == 0)
continue; continue;
glDrawElementsInstancedBaseInstance(GL_TRIANGLES, element_count, GL_UNSIGNED_BYTE, indices, instance_count, base_instance); glDrawElementsInstancedBaseInstance(GL_TRIANGLES, element_count, GL_UNSIGNED_SHORT, indices, instance_count, base_instance);
} }
} }
} }