Merge pull request #1 from Caenneth/read-scene-graph-from-file

Read scene graph from file
This commit is contained in:
Caenneth 2024-06-20 12:39:15 +02:00 committed by GitHub
commit 74a5e24c9a
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
39 changed files with 2628 additions and 1508 deletions

13
obj/chair/chair2.mtl Normal file
View File

@ -0,0 +1,13 @@
# Blender MTL File: 'StuhlEingeklappt_mit_Tisch.blend'
# Material Count: 1
newmtl Material.001
Ns 225.000000
Ka 1.000000 1.000000 1.000000
Kd 0.800000 0.800000 0.800000
Ks 0.500000 0.500000 0.500000
Ke 0.000000 0.000000 0.000000
Ni 1.450000
d 1.000000
illum 2
map_Kd C:\\Users\\Finn_\\Desktop\\Wood_Wool_Combined_Vertical_V2.png

206
obj/chair/chair2.obj Normal file
View File

@ -0,0 +1,206 @@
# Blender v2.83.20 OBJ File: 'StuhlEingeklappt_mit_Tisch.blend'
# www.blender.org
mtllib StuhlEingeklappt_mit_Tisch_NewTexture_V2.mtl
o Cube_Cube.003
v -1.230000 0.820000 0.150000
v -1.230000 0.840000 0.150000
v -1.230000 0.820000 -0.850000
v -1.230000 0.840000 -0.850000
v -0.630000 0.820000 0.150000
v -0.630000 0.840000 0.150000
v -0.630000 0.820000 -0.850000
v -0.630000 0.840000 -0.850000
vt 0.000000 0.499848
vt 0.000000 0.999848
vt 1.000000 0.999848
vt 1.000000 0.499848
vt 0.000000 0.499848
vt 0.000000 0.999848
vt 1.000000 0.999848
vt 1.000000 0.499848
vt 0.000000 0.999848
vt 0.000000 0.499848
vt 1.000000 0.499848
vt 1.000000 0.999848
vt 0.000000 0.999848
vt 1.000000 0.999848
vt 0.000000 0.499848
vt 1.000000 0.499848
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
usemtl Material.001
s off
f 1/1/1 2/2/1 4/3/1 3/4/1
f 3/5/2 4/6/2 8/7/2 7/8/2
f 7/8/3 8/7/3 6/9/3 5/10/3
f 5/11/4 6/12/4 2/2/4 1/1/4
f 3/13/5 7/14/5 5/11/5 1/1/5
f 8/7/6 4/6/6 2/15/6 6/16/6
o Lehne_Cube.002
v -0.620000 0.000000 0.000000
v -0.620000 0.840000 0.000000
v -0.620000 0.000000 -0.700000
v -0.620000 0.840000 -0.700000
v -0.600000 0.000000 0.000000
v -0.600000 0.840000 0.000000
v -0.600000 0.000000 -0.700000
v -0.600000 0.840000 -0.700000
vt 0.000000 0.499848
vt 0.000000 0.999848
vt 1.000000 0.999848
vt 1.000000 0.499848
vt 0.000000 0.499848
vt 0.000000 0.999848
vt 1.000000 0.999848
vt 1.000000 0.499848
vt 0.000000 0.999848
vt 0.000000 0.499848
vt 1.000000 0.499848
vt 1.000000 0.999848
vt 0.000000 0.999848
vt 1.000000 0.999848
vt 0.000000 0.499848
vt 1.000000 0.499848
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
usemtl Material.001
s off
f 9/17/7 10/18/7 12/19/7 11/20/7
f 11/21/8 12/22/8 16/23/8 15/24/8
f 15/24/9 16/23/9 14/25/9 13/26/9
f 13/27/10 14/28/10 10/18/10 9/17/10
f 11/29/11 15/30/11 13/27/11 9/17/11
f 16/23/12 12/22/12 10/31/12 14/32/12
o Polster_Lehne_Cube.005
v -0.610000 0.060000 -0.020000
v -0.610000 0.820000 -0.020000
v -0.610000 0.060000 -0.680000
v -0.610000 0.820000 -0.680000
v -0.590000 0.060000 -0.020000
v -0.590000 0.820000 -0.020000
v -0.590000 0.060000 -0.680000
v -0.590000 0.820000 -0.680000
vt 0.346868 -0.002450
vt 0.378099 0.497550
vt 0.614093 0.497550
vt 0.619298 -0.002450
vt 0.486842 -0.002450
vt 0.486842 0.497550
vt 0.513158 0.497550
vt 0.513158 -0.002450
vt 0.621901 -0.002450
vt 0.616696 0.497550
vt 0.380702 0.497550
vt 0.344266 -0.002450
vt 0.513158 -0.002450
vt 0.513158 0.497550
vt 0.486842 0.497550
vt 0.486842 -0.002450
vt 0.486842 0.464655
vt 0.513158 0.464655
vt 0.513158 0.030444
vt 0.486842 0.030444
vt 0.513158 0.464655
vt 0.486842 0.464655
vt 0.486842 0.030444
vt 0.513158 0.030444
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
usemtl Material.001
s off
f 17/33/13 18/34/13 20/35/13 19/36/13
f 19/37/14 20/38/14 24/39/14 23/40/14
f 23/41/15 24/42/15 22/43/15 21/44/15
f 21/45/16 22/46/16 18/47/16 17/48/16
f 19/49/17 23/50/17 21/51/17 17/52/17
f 24/53/18 20/54/18 18/55/18 22/56/18
o Polster_Stuhl_Cube.006
v -0.472810 0.026953 -0.030000
v -0.492128 0.032129 -0.030000
v -0.472810 0.026953 -0.690000
v -0.492128 0.032129 -0.690000
v -0.327871 0.567871 -0.030000
v -0.347190 0.573047 -0.030000
v -0.327871 0.567871 -0.690000
v -0.347190 0.573047 -0.690000
vt 0.000852 0.500577
vt 1.000850 0.499726
vt 0.999148 -0.000273
vt -0.000850 0.000578
vt 0.000852 0.500577
vt 1.000850 0.499726
vt 0.999148 -0.000273
vt -0.000850 0.000578
vt 1.000850 0.499726
vt 0.000852 0.500577
vt -0.000850 0.000578
vt 0.999148 -0.000273
vt 1.000850 0.499726
vt 0.999148 -0.000273
vt 0.000852 0.500577
vt -0.000850 0.000578
vn -0.2588 -0.9659 0.0000
vn 0.0000 0.0000 -1.0000
vn 0.2588 0.9659 0.0000
vn -0.0000 0.0000 1.0000
vn 0.9659 -0.2588 0.0000
vn -0.9659 0.2588 0.0000
usemtl Material.001
s off
f 25/57/19 26/58/19 28/59/19 27/60/19
f 27/61/20 28/62/20 32/63/20 31/64/20
f 31/64/21 32/63/21 30/65/21 29/66/21
f 29/67/22 30/68/22 26/58/22 25/57/22
f 27/69/23 31/70/23 29/67/23 25/57/23
f 32/63/24 28/62/24 26/71/24 30/72/24
o Stuhl_Cube.001
v -0.332013 0.592366 -0.700000
v -0.312695 0.587190 -0.700000
v -0.332013 0.592366 0.000000
v -0.312695 0.587190 0.000000
v -0.487305 0.012810 -0.700000
v -0.467986 0.007634 -0.700000
v -0.487305 0.012810 0.000000
v -0.467986 0.007634 0.000000
vt 1.000000 0.999848
vt 0.000000 0.999848
vt 0.000000 0.499848
vt 1.000000 0.499848
vt 1.000000 0.499848
vt 1.000000 0.999848
vt 0.000000 0.999848
vt 0.000000 0.499848
vt 1.000000 0.999848
vt 1.000000 0.499848
vt 0.000000 0.999848
vt 1.000000 0.999848
vt 1.000000 0.499848
vt 0.000000 0.999848
vt 0.000000 0.499848
vt 0.000000 0.499848
vn -0.9659 0.2588 0.0000
vn 0.0000 0.0000 1.0000
vn -0.2588 -0.9659 0.0000
vn 0.9659 -0.2588 0.0000
vn 0.2588 0.9659 0.0000
vn -0.0000 0.0000 -1.0000
usemtl Material.001
s off
f 33/73/25 37/74/25 39/75/25 35/76/25
f 36/77/26 35/78/26 39/79/26 40/80/26
f 40/80/27 39/79/27 37/81/27 38/82/27
f 38/83/28 34/84/28 36/77/28 40/80/28
f 34/85/29 33/73/29 35/86/29 36/87/29
f 38/88/30 37/74/30 33/73/30 34/85/30

View File

@ -1,6 +1,6 @@
# Blender v2.83.20 OBJ File: 'Chalkboard.blend' # Blender v2.83.20 OBJ File: 'Chalkboard.blend'
# www.blender.org # www.blender.org
mtllib Chalkboard_without_Poles.mtl mtllib Chalkboard.mtl
o Board_Left_Cube.007 o Board_Left_Cube.007
v -0.010000 0.100000 -0.103724 v -0.010000 0.100000 -0.103724
v -0.010000 1.100000 -0.103724 v -0.010000 1.100000 -0.103724

View File

@ -0,0 +1,12 @@
# Blender MTL File: 'Chalkboard.blend'
# Material Count: 1
newmtl Scuffed_Aluminum
Ns 323.999994
Ka 1.000000 1.000000 1.000000
Kd 0.800000 0.800000 0.800000
Ks 0.500000 0.500000 0.500000
Ke 0.000000 0.000000 0.000000
Ni 1.000000
d 1.000000
illum 2

View File

@ -1,6 +1,6 @@
# Blender v2.83.20 OBJ File: 'Chalkboard.blend' # Blender v2.83.20 OBJ File: 'Chalkboard.blend'
# www.blender.org # www.blender.org
mtllib Chalkboard_one_with_Poles.mtl mtllib ChalkboardPoles.mtl
o MetalPole_Left_Cube.002 o MetalPole_Left_Cube.002
v -0.050000 0.000000 -0.058680 v -0.050000 0.000000 -0.058680
v -0.050000 2.500000 -0.058680 v -0.050000 2.500000 -0.058680
@ -79,40 +79,3 @@ f 15/24/9 16/23/9 14/25/9 13/26/9
f 13/27/10 14/28/10 10/18/10 9/17/10 f 13/27/10 14/28/10 10/18/10 9/17/10
f 11/29/11 15/30/11 13/27/11 9/17/11 f 11/29/11 15/30/11 13/27/11 9/17/11
f 16/23/12 12/22/12 10/31/12 14/32/12 f 16/23/12 12/22/12 10/31/12 14/32/12
o Board_Left_Cube.007
v -0.010000 0.100000 -0.103724
v -0.010000 1.100000 -0.103724
v -0.010000 0.100000 -3.103724
v -0.010000 1.100000 -3.103724
v 0.010000 0.100000 -0.103724
v 0.010000 1.100000 -0.103724
v 0.010000 0.100000 -3.103724
v 0.010000 1.100000 -3.103724
vt 0.375000 0.000000
vt 0.625000 0.000000
vt 0.625000 0.250000
vt 0.375000 0.250000
vt 0.625000 0.500000
vt 0.375000 0.500000
vt 0.625000 0.750000
vt 0.375000 0.750000
vt 0.625000 1.000000
vt 0.375000 1.000000
vt 0.125000 0.500000
vt 0.125000 0.750000
vt 0.875000 0.500000
vt 0.875000 0.750000
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
usemtl TestChalk.001
s off
f 17/33/13 18/34/13 20/35/13 19/36/13
f 19/36/14 20/35/14 24/37/14 23/38/14
f 23/38/15 24/37/15 22/39/15 21/40/15
f 21/40/16 22/39/16 18/41/16 17/42/16
f 19/43/17 23/38/17 21/40/17 17/44/17
f 24/37/18 20/45/18 18/46/18 22/39/18

13
obj/laptop/Laptop.mtl Normal file
View File

@ -0,0 +1,13 @@
# Blender MTL File: 'Laptop.blend'
# Material Count: 1
newmtl Material.003
Ns 225.000000
Ka 1.000000 1.000000 1.000000
Kd 0.800000 0.800000 0.800000
Ks 0.500000 0.500000 0.500000
Ke 0.000000 0.000000 0.000000
Ni 1.450000
d 1.000000
illum 2
map_Kd Laptop.png

133
obj/laptop/Laptop.obj Normal file
View File

@ -0,0 +1,133 @@
# Blender v2.83.20 OBJ File: 'Laptop.blend'
# www.blender.org
mtllib Laptop.mtl
o Keyboard_Cube
v -0.020000 0.006000 -0.580000
v -0.020000 0.004000 -0.580000
v -0.020000 0.006000 -0.020000
v -0.020000 0.004000 -0.020000
v -0.340000 0.006000 -0.580000
v -0.340000 0.004000 -0.580000
v -0.340000 0.006000 -0.020000
v -0.340000 0.004000 -0.020000
vt 0.524942 0.271024
vt 0.524932 0.472719
vt 0.000019 0.472628
vt 0.000015 0.271007
vt 0.000015 0.271007
vt 0.524942 0.271024
vt 0.524919 0.472719
vt 0.000019 0.472628
vt 0.524919 0.271024
vt 0.000015 0.271007
vt 0.524916 0.472719
vt 0.524942 0.271024
vt 0.000015 0.271007
vt 0.524888 0.472719
vt 0.000019 0.472628
vt 0.000019 0.472628
vn 0.0000 1.0000 0.0000
vn 0.0000 0.0000 1.0000
vn -1.0000 0.0000 0.0000
vn 0.0000 -1.0000 0.0000
vn 1.0000 0.0000 0.0000
vn 0.0000 0.0000 -1.0000
usemtl Material.003
s off
f 1/1/1 5/2/1 7/3/1 3/4/1
f 4/5/2 3/6/2 7/7/2 8/8/2
f 8/8/3 7/7/3 5/9/3 6/10/3
f 6/11/4 2/12/4 4/5/4 8/8/4
f 2/13/5 1/1/5 3/14/5 4/15/5
f 6/16/6 5/2/6 1/1/6 2/13/6
o UpperPart_Cube.001
v -0.453690 0.354643 -0.600000
v -0.360515 0.006910 -0.600000
v -0.453690 0.354643 0.000000
v -0.360515 0.006910 0.000000
v -0.459485 0.353090 -0.600000
v -0.366310 0.005357 -0.600000
v -0.459485 0.353090 0.000000
v -0.366310 0.005357 0.000000
vt 0.865626 0.425370
vt 0.543626 0.425370
vt 0.543626 0.103370
vt 0.865626 0.103370
vt 0.865626 0.103370
vt 0.865626 0.425370
vt 0.543626 0.425370
vt 0.543626 0.103370
vt 0.865626 0.425370
vt 0.865626 0.103370
vt 0.543626 0.425370
vt 0.865626 0.425370
vt 0.865626 0.103370
vt 0.543626 0.425370
vt 0.543626 0.103370
vt 0.543626 0.103370
vn -0.2588 0.9659 0.0000
vn 0.0000 0.0000 1.0000
vn -0.9659 -0.2588 0.0000
vn 0.2588 -0.9659 0.0000
vn 0.9659 0.2588 0.0000
vn 0.0000 0.0000 -1.0000
usemtl Material.003
s off
f 9/17/7 13/18/7 15/19/7 11/20/7
f 12/21/8 11/22/8 15/23/8 16/24/8
f 16/24/9 15/23/9 13/25/9 14/26/9
f 14/27/10 10/28/10 12/21/10 16/24/10
f 10/29/11 9/17/11 11/30/11 12/31/11
f 14/32/12 13/18/12 9/17/12 10/29/12
o LowerPart_Cube.002
v -0.000000 0.003000 -0.600000
v -0.000000 -0.003000 -0.600000
v -0.000000 0.003000 0.000000
v -0.000000 -0.003000 0.000000
v -0.360000 0.003000 -0.600000
v -0.360000 -0.003000 -0.600000
v -0.360000 0.003000 0.000000
v -0.360000 -0.003000 0.000000
vt 0.598155 0.240733
vt 0.401845 0.240733
vt 0.401845 0.044423
vt 0.598155 0.044423
vt 0.598155 0.044423
vt 0.598155 0.240733
vt 0.401845 0.240733
vt 0.401845 0.044423
vt 0.598155 0.240733
vt 0.598155 0.044423
vt 0.401845 0.240733
vt 0.598155 0.240733
vt 0.598155 0.044423
vt 0.401845 0.240733
vt 0.401845 0.044423
vt 0.401845 0.044423
vn 0.0000 1.0000 0.0000
vn 0.0000 0.0000 1.0000
vn -1.0000 0.0000 0.0000
vn 0.0000 -1.0000 0.0000
vn 1.0000 0.0000 0.0000
vn 0.0000 0.0000 -1.0000
usemtl Material.003
s off
f 17/33/13 21/34/13 23/35/13 19/36/13
f 20/37/14 19/38/14 23/39/14 24/40/14
f 24/40/15 23/39/15 21/41/15 22/42/15
f 22/43/16 18/44/16 20/37/16 24/40/16
f 18/45/17 17/33/17 19/46/17 20/47/17
f 22/48/18 21/34/18 17/33/18 18/45/18
o Monitor_Plane
v -0.363589 0.025452 -0.020000
v -0.446411 0.334548 -0.020000
v -0.363589 0.025452 -0.580000
v -0.446411 0.334548 -0.580000
vt 0.000000 1.000401
vt 0.001260 0.474360
vt 0.934892 0.474117
vt 0.935285 1.000000
vn -0.9659 -0.2588 0.0000
usemtl Material.003
s off
f 25/49/19 26/50/19 28/51/19 27/52/19

View File

@ -1,34 +0,0 @@
# Blender MTL File: 'Chalkboard.blend'
# Material Count: 3
newmtl Scuffed_Aluminum
Ns 323.999994
Ka 1.000000 1.000000 1.000000
Kd 0.800000 0.800000 0.800000
Ks 0.500000 0.500000 0.500000
Ke 0.000000 0.000000 0.000000
Ni 1.000000
d 1.000000
illum 2
newmtl TestChalk
Ns 225.000000
Ka 1.000000 1.000000 1.000000
Kd 0.800000 0.800000 0.800000
Ks 0.500000 0.500000 0.500000
Ke 0.000000 0.000000 0.000000
Ni 1.450000
d 1.000000
illum 2
map_Kd assets\\materials\\Chalkboard.jpg
newmtl TestChalk.001
Ns 225.000000
Ka 1.000000 1.000000 1.000000
Kd 0.800000 0.800000 0.800000
Ks 0.500000 0.500000 0.500000
Ke 0.000000 0.000000 0.000000
Ni 1.450000
d 1.000000
illum 2
map_Kd assets\\materials\\Chalkboard.jpg

View File

@ -1,233 +0,0 @@
# Blender v2.83.20 OBJ File: 'Chalkboard.blend'
# www.blender.org
mtllib Chalkboard.mtl
o MetalPole_Left_Cube.002
v -0.050000 0.000000 -0.058680
v -0.050000 2.500000 -0.058680
v -0.050000 0.000000 -0.098680
v -0.050000 2.500000 -0.098680
v 0.050000 0.000000 -0.058680
v 0.050000 2.500000 -0.058680
v 0.050000 0.000000 -0.098680
v 0.050000 2.500000 -0.098680
vt 0.060000 0.060000
vt 0.060000 0.940000
vt 0.940000 0.940000
vt 0.940000 0.060000
vt 0.060000 0.060000
vt 0.060000 0.940000
vt 0.940000 0.940000
vt 0.940000 0.060000
vt 0.060000 0.940000
vt 0.060000 0.060000
vt 0.940000 0.060000
vt 0.940000 0.940000
vt 0.060000 0.940000
vt 0.940000 0.940000
vt 0.060000 0.060000
vt 0.940000 0.060000
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
usemtl Scuffed_Aluminum
s off
f 1/1/1 2/2/1 4/3/1 3/4/1
f 3/5/2 4/6/2 8/7/2 7/8/2
f 7/8/3 8/7/3 6/9/3 5/10/3
f 5/11/4 6/12/4 2/2/4 1/1/4
f 3/13/5 7/14/5 5/11/5 1/1/5
f 8/7/6 4/6/6 2/15/6 6/16/6
o MetalPole_MiddleLeft_Cube.003
v -0.050000 0.000000 -3.099831
v -0.050000 2.500000 -3.099831
v -0.050000 0.000000 -3.139831
v -0.050000 2.500000 -3.139831
v 0.050000 0.000000 -3.099831
v 0.050000 2.500000 -3.099831
v 0.050000 0.000000 -3.139831
v 0.050000 2.500000 -3.139831
vt 0.060000 0.060000
vt 0.060000 0.940000
vt 0.940000 0.940000
vt 0.940000 0.060000
vt 0.060000 0.060000
vt 0.060000 0.940000
vt 0.940000 0.940000
vt 0.940000 0.060000
vt 0.060000 0.940000
vt 0.060000 0.060000
vt 0.940000 0.060000
vt 0.940000 0.940000
vt 0.060000 0.940000
vt 0.940000 0.940000
vt 0.060000 0.060000
vt 0.940000 0.060000
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
usemtl Scuffed_Aluminum
s off
f 9/17/7 10/18/7 12/19/7 11/20/7
f 11/21/8 12/22/8 16/23/8 15/24/8
f 15/24/9 16/23/9 14/25/9 13/26/9
f 13/27/10 14/28/10 10/18/10 9/17/10
f 11/29/11 15/30/11 13/27/11 9/17/11
f 16/23/12 12/22/12 10/31/12 14/32/12
o MetalPole_MiddleRight_Cube.004
v -0.050000 0.000000 -3.140063
v -0.050000 2.500000 -3.140063
v -0.050000 0.000000 -3.180063
v -0.050000 2.500000 -3.180063
v 0.050000 0.000000 -3.140063
v 0.050000 2.500000 -3.140063
v 0.050000 0.000000 -3.180063
v 0.050000 2.500000 -3.180063
vt 0.060000 0.060000
vt 0.060000 0.940000
vt 0.940000 0.940000
vt 0.940000 0.060000
vt 0.060000 0.060000
vt 0.060000 0.940000
vt 0.940000 0.940000
vt 0.940000 0.060000
vt 0.060000 0.940000
vt 0.060000 0.060000
vt 0.940000 0.060000
vt 0.940000 0.940000
vt 0.060000 0.940000
vt 0.940000 0.940000
vt 0.060000 0.060000
vt 0.940000 0.060000
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
usemtl Scuffed_Aluminum
s off
f 17/33/13 18/34/13 20/35/13 19/36/13
f 19/37/14 20/38/14 24/39/14 23/40/14
f 23/40/15 24/39/15 22/41/15 21/42/15
f 21/43/16 22/44/16 18/34/16 17/33/16
f 19/45/17 23/46/17 21/43/17 17/33/17
f 24/39/18 20/38/18 18/47/18 22/48/18
o Board_Right_Cube.005
v -0.010000 0.100000 -3.177046
v -0.010000 1.100000 -3.177046
v -0.010000 0.100000 -6.177046
v -0.010000 1.100000 -6.177046
v 0.010000 0.100000 -3.177046
v 0.010000 1.100000 -3.177046
v 0.010000 0.100000 -6.177046
v 0.010000 1.100000 -6.177046
vt 0.375000 0.000000
vt 0.625000 0.000000
vt 0.625000 0.250000
vt 0.375000 0.250000
vt 0.625000 0.500000
vt 0.375000 0.500000
vt 0.625000 0.750000
vt 0.375000 0.750000
vt 0.625000 1.000000
vt 0.375000 1.000000
vt 0.125000 0.500000
vt 0.125000 0.750000
vt 0.875000 0.500000
vt 0.875000 0.750000
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
usemtl TestChalk
s off
f 25/49/19 26/50/19 28/51/19 27/52/19
f 27/52/20 28/51/20 32/53/20 31/54/20
f 31/54/21 32/53/21 30/55/21 29/56/21
f 29/56/22 30/55/22 26/57/22 25/58/22
f 27/59/23 31/54/23 29/56/23 25/60/23
f 32/53/24 28/61/24 26/62/24 30/55/24
o MetalPole_Right_Cube.006
v -0.050000 0.000000 -6.175361
v -0.050000 2.500000 -6.175361
v -0.050000 0.000000 -6.215361
v -0.050000 2.500000 -6.215361
v 0.050000 0.000000 -6.175361
v 0.050000 2.500000 -6.175361
v 0.050000 0.000000 -6.215361
v 0.050000 2.500000 -6.215361
vt 0.060000 0.060000
vt 0.060000 0.940000
vt 0.940000 0.940000
vt 0.940000 0.060000
vt 0.060000 0.060000
vt 0.060000 0.940000
vt 0.940000 0.940000
vt 0.940000 0.060000
vt 0.060000 0.940000
vt 0.060000 0.060000
vt 0.940000 0.060000
vt 0.940000 0.940000
vt 0.060000 0.940000
vt 0.940000 0.940000
vt 0.060000 0.060000
vt 0.940000 0.060000
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
usemtl Scuffed_Aluminum
s off
f 33/63/25 34/64/25 36/65/25 35/66/25
f 35/67/26 36/68/26 40/69/26 39/70/26
f 39/70/27 40/69/27 38/71/27 37/72/27
f 37/73/28 38/74/28 34/64/28 33/63/28
f 35/75/29 39/76/29 37/73/29 33/63/29
f 40/69/30 36/68/30 34/77/30 38/78/30
o Board_Left_Cube.007
v -0.010000 0.100000 -0.103724
v -0.010000 1.100000 -0.103724
v -0.010000 0.100000 -3.103724
v -0.010000 1.100000 -3.103724
v 0.010000 0.100000 -0.103724
v 0.010000 1.100000 -0.103724
v 0.010000 0.100000 -3.103724
v 0.010000 1.100000 -3.103724
vt 0.375000 0.000000
vt 0.625000 0.000000
vt 0.625000 0.250000
vt 0.375000 0.250000
vt 0.625000 0.500000
vt 0.375000 0.500000
vt 0.625000 0.750000
vt 0.375000 0.750000
vt 0.625000 1.000000
vt 0.375000 1.000000
vt 0.125000 0.500000
vt 0.125000 0.750000
vt 0.875000 0.500000
vt 0.875000 0.750000
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
usemtl TestChalk.001
s off
f 41/79/31 42/80/31 44/81/31 43/82/31
f 43/82/32 44/81/32 48/83/32 47/84/32
f 47/84/33 48/83/33 46/85/33 45/86/33
f 45/86/34 46/85/34 42/87/34 41/88/34
f 43/89/35 47/84/35 45/86/35 41/90/35
f 48/83/36 44/91/36 42/92/36 46/85/36

View File

@ -1,23 +0,0 @@
# Blender MTL File: 'Chalkboard.blend'
# Material Count: 2
newmtl Scuffed_Aluminum
Ns 323.999994
Ka 1.000000 1.000000 1.000000
Kd 0.800000 0.800000 0.800000
Ks 0.500000 0.500000 0.500000
Ke 0.000000 0.000000 0.000000
Ni 1.000000
d 1.000000
illum 2
newmtl TestChalk.001
Ns 225.000000
Ka 1.000000 1.000000 1.000000
Kd 0.800000 0.800000 0.800000
Ks 0.500000 0.500000 0.500000
Ke 0.000000 0.000000 0.000000
Ni 1.450000
d 1.000000
illum 2
map_Kd assets\\materials\\Chalkboard.jpg

View File

@ -1,35 +0,0 @@
# Blender MTL File: 'StuhlAusgeklappt_mit_Tisch.blend'
# Material Count: 3
newmtl Maple_wood_texture
Ns 225.000000
Ka 1.000000 1.000000 1.000000
Kd 0.800000 0.800000 0.800000
Ks 0.500000 0.500000 0.500000
Ke 0.000000 0.000000 0.000000
Ni 1.450000
d 1.000000
illum 2
map_Bump -bm 0.100000 D:\\JOB\\PROJECT\\Material\\Maple wood texture\\Normal.png
map_Kd D:\\JOB\\PROJECT\\Material\\Maple wood texture\\Diffuse.png
map_Ns D:\\JOB\\PROJECT\\Material\\Maple wood texture\\Roughness.png
newmtl Wool.001
Ns 225.000000
Ka 1.000000 1.000000 1.000000
Kd 0.800000 0.800000 0.800000
Ks 0.500000 0.500000 0.500000
Ke 0.000000 0.000000 0.000000
Ni 1.450000
d 1.000000
illum 2
newmtl Wool.002
Ns 225.000000
Ka 1.000000 1.000000 1.000000
Kd 0.800000 0.800000 0.800000
Ks 0.500000 0.500000 0.500000
Ke 0.000000 0.000000 0.000000
Ni 1.450000
d 1.000000
illum 2

View File

@ -1,155 +0,0 @@
# Blender v2.83.20 OBJ File: 'StuhlAusgeklappt_mit_Tisch.blend'
# www.blender.org
mtllib StuhlAusgeklappt.mtl
o Stuhl_Cube
v 0.000000 0.020000 -0.700000
v 0.000000 0.000000 -0.700000
v 0.000000 0.020000 0.000000
v 0.000000 0.000000 0.000000
v -0.600000 0.020000 -0.700000
v -0.600000 0.000000 -0.700000
v -0.600000 0.020000 0.000000
v -0.600000 0.000000 0.000000
vt 0.625000 0.500000
vt 0.875000 0.500000
vt 0.875000 0.750000
vt 0.625000 0.750000
vt 0.375000 0.750000
vt 0.625000 1.000000
vt 0.375000 1.000000
vt 0.375000 0.000000
vt 0.625000 0.000000
vt 0.625000 0.250000
vt 0.375000 0.250000
vt 0.125000 0.500000
vt 0.375000 0.500000
vt 0.125000 0.750000
vn 0.0000 1.0000 0.0000
vn 0.0000 0.0000 1.0000
vn -1.0000 0.0000 0.0000
vn 0.0000 -1.0000 0.0000
vn 1.0000 0.0000 0.0000
vn 0.0000 0.0000 -1.0000
usemtl Maple_wood_texture
s off
f 1/1/1 5/2/1 7/3/1 3/4/1
f 4/5/2 3/4/2 7/6/2 8/7/2
f 8/8/3 7/9/3 5/10/3 6/11/3
f 6/12/4 2/13/4 4/5/4 8/14/4
f 2/13/5 1/1/5 3/4/5 4/5/5
f 6/11/6 5/10/6 1/1/6 2/13/6
o Lehne_Cube.002
v -0.620000 0.000000 0.000000
v -0.620000 0.840000 0.000000
v -0.620000 0.000000 -0.700000
v -0.620000 0.840000 -0.700000
v -0.600000 0.000000 0.000000
v -0.600000 0.840000 0.000000
v -0.600000 0.000000 -0.700000
v -0.600000 0.840000 -0.700000
vt 0.375000 0.000000
vt 0.625000 0.000000
vt 0.625000 0.250000
vt 0.375000 0.250000
vt 0.625000 0.500000
vt 0.375000 0.500000
vt 0.625000 0.750000
vt 0.375000 0.750000
vt 0.625000 1.000000
vt 0.375000 1.000000
vt 0.125000 0.500000
vt 0.125000 0.750000
vt 0.875000 0.500000
vt 0.875000 0.750000
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
usemtl Maple_wood_texture
s off
f 9/15/7 10/16/7 12/17/7 11/18/7
f 11/18/8 12/17/8 16/19/8 15/20/8
f 15/20/9 16/19/9 14/21/9 13/22/9
f 13/22/10 14/21/10 10/23/10 9/24/10
f 11/25/11 15/20/11 13/22/11 9/26/11
f 16/19/12 12/27/12 10/28/12 14/21/12
o Polster_Lehne_Cube.005
v -0.610000 0.060000 -0.020000
v -0.610000 0.820000 -0.020000
v -0.610000 0.060000 -0.680000
v -0.610000 0.820000 -0.680000
v -0.590000 0.060000 -0.020000
v -0.590000 0.820000 -0.020000
v -0.590000 0.060000 -0.680000
v -0.590000 0.820000 -0.680000
vt -0.700000 -0.700000
vt -0.700000 1.700000
vt 1.700000 1.700000
vt 1.700000 -0.700000
vt -0.700000 -0.700000
vt -0.700000 1.700000
vt 1.700000 1.700000
vt 1.700000 -0.700000
vt -0.700000 1.700000
vt -0.700000 -0.700000
vt 1.700000 -0.700000
vt 1.700000 1.700000
vt -0.700000 1.700000
vt 1.700000 1.700000
vt -0.700000 -0.700000
vt 1.700000 -0.700000
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
usemtl Wool.001
s off
f 17/29/13 18/30/13 20/31/13 19/32/13
f 19/33/14 20/34/14 24/35/14 23/36/14
f 23/36/15 24/35/15 22/37/15 21/38/15
f 21/39/16 22/40/16 18/30/16 17/29/16
f 19/41/17 23/42/17 21/39/17 17/29/17
f 24/35/18 20/34/18 18/43/18 22/44/18
o Polster_Stuhl_Cube.006
v -0.580000 0.010000 -0.020000
v -0.580000 0.030000 -0.020000
v -0.580000 0.010000 -0.680000
v -0.580000 0.030000 -0.680000
v -0.020000 0.010000 -0.020000
v -0.020000 0.030000 -0.020000
v -0.020000 0.010000 -0.680000
v -0.020000 0.030000 -0.680000
vt -0.533333 -0.533333
vt -0.533333 1.533333
vt 1.533333 1.533333
vt 1.533333 -0.533333
vt -0.533333 -0.533333
vt -0.533333 1.533333
vt 1.533333 1.533333
vt 1.533333 -0.533333
vt -0.533333 1.533333
vt -0.533333 -0.533333
vt 1.533333 -0.533333
vt 1.533333 1.533333
vt -0.533333 1.533333
vt 1.533333 1.533333
vt -0.533333 -0.533333
vt 1.533333 -0.533333
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
usemtl Wool.002
s off
f 25/45/19 26/46/19 28/47/19 27/48/19
f 27/49/20 28/50/20 32/51/20 31/52/20
f 31/52/21 32/51/21 30/53/21 29/54/21
f 29/55/22 30/56/22 26/46/22 25/45/22
f 27/57/23 31/58/23 29/55/23 25/45/23
f 32/51/24 28/50/24 26/59/24 30/60/24

View File

@ -1,35 +0,0 @@
# Blender MTL File: 'StuhlAusgeklappt_mit_Tisch.blend'
# Material Count: 3
newmtl Maple_wood_texture
Ns 225.000000
Ka 1.000000 1.000000 1.000000
Kd 0.800000 0.800000 0.800000
Ks 0.500000 0.500000 0.500000
Ke 0.000000 0.000000 0.000000
Ni 1.450000
d 1.000000
illum 2
map_Bump -bm 0.100000 D:\\JOB\\PROJECT\\Material\\Maple wood texture\\Normal.png
map_Kd D:\\JOB\\PROJECT\\Material\\Maple wood texture\\Diffuse.png
map_Ns D:\\JOB\\PROJECT\\Material\\Maple wood texture\\Roughness.png
newmtl Wool.001
Ns 225.000000
Ka 1.000000 1.000000 1.000000
Kd 0.800000 0.800000 0.800000
Ks 0.500000 0.500000 0.500000
Ke 0.000000 0.000000 0.000000
Ni 1.450000
d 1.000000
illum 2
newmtl Wool.002
Ns 225.000000
Ka 1.000000 1.000000 1.000000
Kd 0.800000 0.800000 0.800000
Ks 0.500000 0.500000 0.500000
Ke 0.000000 0.000000 0.000000
Ni 1.450000
d 1.000000
illum 2

View File

@ -1,192 +0,0 @@
# Blender v2.83.20 OBJ File: 'StuhlAusgeklappt_mit_Tisch.blend'
# www.blender.org
mtllib StuhlAusgeklappt_mit_Tisch.mtl
o Stuhl_Cube
v 0.000000 0.020000 -0.700000
v 0.000000 0.000000 -0.700000
v 0.000000 0.020000 0.000000
v 0.000000 0.000000 0.000000
v -0.600000 0.020000 -0.700000
v -0.600000 0.000000 -0.700000
v -0.600000 0.020000 0.000000
v -0.600000 0.000000 0.000000
vt 0.625000 0.500000
vt 0.875000 0.500000
vt 0.875000 0.750000
vt 0.625000 0.750000
vt 0.375000 0.750000
vt 0.625000 1.000000
vt 0.375000 1.000000
vt 0.375000 0.000000
vt 0.625000 0.000000
vt 0.625000 0.250000
vt 0.375000 0.250000
vt 0.125000 0.500000
vt 0.375000 0.500000
vt 0.125000 0.750000
vn 0.0000 1.0000 0.0000
vn 0.0000 0.0000 1.0000
vn -1.0000 0.0000 0.0000
vn 0.0000 -1.0000 0.0000
vn 1.0000 0.0000 0.0000
vn 0.0000 0.0000 -1.0000
usemtl Maple_wood_texture
s off
f 1/1/1 5/2/1 7/3/1 3/4/1
f 4/5/2 3/4/2 7/6/2 8/7/2
f 8/8/3 7/9/3 5/10/3 6/11/3
f 6/12/4 2/13/4 4/5/4 8/14/4
f 2/13/5 1/1/5 3/4/5 4/5/5
f 6/11/6 5/10/6 1/1/6 2/13/6
o Lehne_Cube.002
v -0.620000 0.000000 0.000000
v -0.620000 0.840000 0.000000
v -0.620000 0.000000 -0.700000
v -0.620000 0.840000 -0.700000
v -0.600000 0.000000 0.000000
v -0.600000 0.840000 0.000000
v -0.600000 0.000000 -0.700000
v -0.600000 0.840000 -0.700000
vt 0.375000 0.000000
vt 0.625000 0.000000
vt 0.625000 0.250000
vt 0.375000 0.250000
vt 0.625000 0.500000
vt 0.375000 0.500000
vt 0.625000 0.750000
vt 0.375000 0.750000
vt 0.625000 1.000000
vt 0.375000 1.000000
vt 0.125000 0.500000
vt 0.125000 0.750000
vt 0.875000 0.500000
vt 0.875000 0.750000
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
usemtl Maple_wood_texture
s off
f 9/15/7 10/16/7 12/17/7 11/18/7
f 11/18/8 12/17/8 16/19/8 15/20/8
f 15/20/9 16/19/9 14/21/9 13/22/9
f 13/22/10 14/21/10 10/23/10 9/24/10
f 11/25/11 15/20/11 13/22/11 9/26/11
f 16/19/12 12/27/12 10/28/12 14/21/12
o Cube_Cube.003
v -1.230000 0.820000 0.150000
v -1.230000 0.840000 0.150000
v -1.230000 0.820000 -0.850000
v -1.230000 0.840000 -0.850000
v -0.630000 0.820000 0.150000
v -0.630000 0.840000 0.150000
v -0.630000 0.820000 -0.850000
v -0.630000 0.840000 -0.850000
vt 0.375000 0.000000
vt 0.625000 0.000000
vt 0.625000 0.250000
vt 0.375000 0.250000
vt 0.625000 0.500000
vt 0.375000 0.500000
vt 0.625000 0.750000
vt 0.375000 0.750000
vt 0.625000 1.000000
vt 0.375000 1.000000
vt 0.125000 0.500000
vt 0.125000 0.750000
vt 0.875000 0.500000
vt 0.875000 0.750000
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
usemtl Maple_wood_texture
s off
f 17/29/13 18/30/13 20/31/13 19/32/13
f 19/32/14 20/31/14 24/33/14 23/34/14
f 23/34/15 24/33/15 22/35/15 21/36/15
f 21/36/16 22/35/16 18/37/16 17/38/16
f 19/39/17 23/34/17 21/36/17 17/40/17
f 24/33/18 20/41/18 18/42/18 22/35/18
o Polster_Lehne_Cube.005
v -0.610000 0.060000 -0.020000
v -0.610000 0.820000 -0.020000
v -0.610000 0.060000 -0.680000
v -0.610000 0.820000 -0.680000
v -0.590000 0.060000 -0.020000
v -0.590000 0.820000 -0.020000
v -0.590000 0.060000 -0.680000
v -0.590000 0.820000 -0.680000
vt -0.700000 -0.700000
vt -0.700000 1.700000
vt 1.700000 1.700000
vt 1.700000 -0.700000
vt -0.700000 -0.700000
vt -0.700000 1.700000
vt 1.700000 1.700000
vt 1.700000 -0.700000
vt -0.700000 1.700000
vt -0.700000 -0.700000
vt 1.700000 -0.700000
vt 1.700000 1.700000
vt -0.700000 1.700000
vt 1.700000 1.700000
vt -0.700000 -0.700000
vt 1.700000 -0.700000
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
usemtl Wool.001
s off
f 25/43/19 26/44/19 28/45/19 27/46/19
f 27/47/20 28/48/20 32/49/20 31/50/20
f 31/50/21 32/49/21 30/51/21 29/52/21
f 29/53/22 30/54/22 26/44/22 25/43/22
f 27/55/23 31/56/23 29/53/23 25/43/23
f 32/49/24 28/48/24 26/57/24 30/58/24
o Polster_Stuhl_Cube.006
v -0.580000 0.010000 -0.020000
v -0.580000 0.030000 -0.020000
v -0.580000 0.010000 -0.680000
v -0.580000 0.030000 -0.680000
v -0.020000 0.010000 -0.020000
v -0.020000 0.030000 -0.020000
v -0.020000 0.010000 -0.680000
v -0.020000 0.030000 -0.680000
vt -0.533333 -0.533333
vt -0.533333 1.533333
vt 1.533333 1.533333
vt 1.533333 -0.533333
vt -0.533333 -0.533333
vt -0.533333 1.533333
vt 1.533333 1.533333
vt 1.533333 -0.533333
vt -0.533333 1.533333
vt -0.533333 -0.533333
vt 1.533333 -0.533333
vt 1.533333 1.533333
vt -0.533333 1.533333
vt 1.533333 1.533333
vt -0.533333 -0.533333
vt 1.533333 -0.533333
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
usemtl Wool.002
s off
f 33/59/25 34/60/25 36/61/25 35/62/25
f 35/63/26 36/64/26 40/65/26 39/66/26
f 39/66/27 40/65/27 38/67/27 37/68/27
f 37/69/28 38/70/28 34/60/28 33/59/28
f 35/71/29 39/72/29 37/69/29 33/59/29
f 40/65/30 36/64/30 34/73/30 38/74/30

View File

@ -1,25 +0,0 @@
# Blender MTL File: 'StuhlEingeklappt.blend'
# Material Count: 2
newmtl Maple_wood_texture
Ns 225.000000
Ka 1.000000 1.000000 1.000000
Kd 0.800000 0.800000 0.800000
Ks 0.500000 0.500000 0.500000
Ke 0.000000 0.000000 0.000000
Ni 1.450000
d 1.000000
illum 2
map_Bump -bm 0.100000 D:\\JOB\\PROJECT\\Material\\Maple wood texture\\Normal.png
map_Kd D:\\JOB\\PROJECT\\Material\\Maple wood texture\\Diffuse.png
map_Ns D:\\JOB\\PROJECT\\Material\\Maple wood texture\\Roughness.png
newmtl Wool
Ns 225.000000
Ka 1.000000 1.000000 1.000000
Kd 0.800000 0.800000 0.800000
Ks 0.500000 0.500000 0.500000
Ke 0.000000 0.000000 0.000000
Ni 1.450000
d 1.000000
illum 2

View File

@ -1,159 +0,0 @@
# Blender v2.83.20 OBJ File: 'StuhlEingeklappt.blend'
# www.blender.org
mtllib StuhlEingeklappt.mtl
o Stuhl_Cube
v -0.474313 0.599066 -0.700000
v -0.505714 -0.000112 -0.700000
v -0.474313 0.599066 0.000000
v -0.505714 -0.000112 0.000000
v -0.494285 0.600112 -0.700000
v -0.525687 0.000935 -0.700000
v -0.494285 0.600112 0.000000
v -0.525687 0.000935 0.000000
vt 0.720000 0.720000
vt 0.280000 0.720000
vt 0.280000 0.280000
vt 0.720000 0.280000
vt 0.720000 0.280000
vt 0.720000 0.720000
vt 0.280000 0.720000
vt 0.280000 0.280000
vt 0.720000 0.720000
vt 0.720000 0.280000
vt 0.280000 0.720000
vt 0.720000 0.720000
vt 0.720000 0.280000
vt 0.280000 0.720000
vt 0.280000 0.280000
vt 0.280000 0.280000
vn 0.0523 0.9986 0.0000
vn 0.0000 0.0000 1.0000
vn -0.9986 0.0523 0.0000
vn -0.0523 -0.9986 0.0000
vn 0.9986 -0.0523 0.0000
vn 0.0000 0.0000 -1.0000
usemtl Maple_wood_texture
s off
f 1/1/1 5/2/1 7/3/1 3/4/1
f 4/5/2 3/6/2 7/7/2 8/8/2
f 8/8/3 7/7/3 5/9/3 6/10/3
f 6/11/4 2/12/4 4/5/4 8/8/4
f 2/13/5 1/1/5 3/14/5 4/15/5
f 6/16/6 5/2/6 1/1/6 2/13/6
o Polster_Stuhl_Cube.001
v -0.534640 0.020907 -0.020000
v -0.505332 0.580140 -0.020000
v -0.534640 0.020907 -0.680000
v -0.505332 0.580140 -0.680000
v -0.514668 0.019860 -0.020000
v -0.485360 0.579093 -0.020000
v -0.514668 0.019860 -0.680000
v -0.485360 0.579093 -0.680000
vt -0.533333 -0.533333
vt -0.533333 1.533333
vt 1.533333 1.533333
vt 1.533333 -0.533333
vt -0.533333 -0.533333
vt -0.533333 1.533333
vt 1.533333 1.533333
vt 1.533333 -0.533333
vt -0.533333 1.533333
vt -0.533333 -0.533333
vt 1.533333 -0.533333
vt 1.533333 1.533333
vt -0.533333 1.533333
vt 1.533333 1.533333
vt -0.533333 -0.533333
vt 1.533333 -0.533333
vn -0.9986 0.0523 0.0000
vn 0.0000 0.0000 -1.0000
vn 0.9986 -0.0523 0.0000
vn 0.0000 0.0000 1.0000
vn -0.0523 -0.9986 0.0000
vn 0.0523 0.9986 0.0000
usemtl Wool
s off
f 9/17/7 10/18/7 12/19/7 11/20/7
f 11/21/8 12/22/8 16/23/8 15/24/8
f 15/24/9 16/23/9 14/25/9 13/26/9
f 13/27/10 14/28/10 10/18/10 9/17/10
f 11/29/11 15/30/11 13/27/11 9/17/11
f 16/23/12 12/22/12 10/31/12 14/32/12
o Lehne_Cube.002
v -0.620000 0.000000 0.000000
v -0.620000 0.840000 0.000000
v -0.620000 0.000000 -0.700000
v -0.620000 0.840000 -0.700000
v -0.600000 0.000000 0.000000
v -0.600000 0.840000 0.000000
v -0.600000 0.000000 -0.700000
v -0.600000 0.840000 -0.700000
vt 0.240000 0.240000
vt 0.240000 0.760000
vt 0.760000 0.760000
vt 0.760000 0.240000
vt 0.240000 0.240000
vt 0.240000 0.760000
vt 0.760000 0.760000
vt 0.760000 0.240000
vt 0.240000 0.760000
vt 0.240000 0.240000
vt 0.760000 0.240000
vt 0.760000 0.760000
vt 0.240000 0.760000
vt 0.760000 0.760000
vt 0.240000 0.240000
vt 0.760000 0.240000
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
usemtl Maple_wood_texture
s off
f 17/33/13 18/34/13 20/35/13 19/36/13
f 19/37/14 20/38/14 24/39/14 23/40/14
f 23/40/15 24/39/15 22/41/15 21/42/15
f 21/43/16 22/44/16 18/34/16 17/33/16
f 19/45/17 23/46/17 21/43/17 17/33/17
f 24/39/18 20/38/18 18/47/18 22/48/18
o Polster_Lehne_Cube.004
v -0.610000 0.060000 -0.020000
v -0.610000 0.820000 -0.020000
v -0.610000 0.060000 -0.680000
v -0.610000 0.820000 -0.680000
v -0.590000 0.060000 -0.020000
v -0.590000 0.820000 -0.020000
v -0.590000 0.060000 -0.680000
v -0.590000 0.820000 -0.680000
vt -0.700000 -0.700000
vt -0.700000 1.700000
vt 1.700000 1.700000
vt 1.700000 -0.700000
vt -0.700000 -0.700000
vt -0.700000 1.700000
vt 1.700000 1.700000
vt 1.700000 -0.700000
vt -0.700000 1.700000
vt -0.700000 -0.700000
vt 1.700000 -0.700000
vt 1.700000 1.700000
vt -0.700000 1.700000
vt 1.700000 1.700000
vt -0.700000 -0.700000
vt 1.700000 -0.700000
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
usemtl Wool
s off
f 25/49/19 26/50/19 28/51/19 27/52/19
f 27/53/20 28/54/20 32/55/20 31/56/20
f 31/56/21 32/55/21 30/57/21 29/58/21
f 29/59/22 30/60/22 26/50/22 25/49/22
f 27/61/23 31/62/23 29/59/23 25/49/23
f 32/55/24 28/54/24 26/63/24 30/64/24

View File

@ -1,38 +0,0 @@
# Blender MTL File: 'StuhlEingeklappt.blend'
# Material Count: 3
newmtl Maple_wood_texture
Ns 225.000000
Ka 1.000000 1.000000 1.000000
Kd 0.800000 0.800000 0.800000
Ks 0.500000 0.500000 0.500000
Ke 0.000000 0.000000 0.000000
Ni 1.450000
d 1.000000
illum 2
map_Bump -bm 0.100000 D:\\JOB\\PROJECT\\Material\\Maple wood texture\\Normal.png
map_Kd D:\\JOB\\PROJECT\\Material\\Maple wood texture\\Diffuse.png
map_Ns D:\\JOB\\PROJECT\\Material\\Maple wood texture\\Roughness.png
newmtl Maple_wood_texture.001
Ns 225.000000
Ka 1.000000 1.000000 1.000000
Kd 0.800000 0.800000 0.800000
Ks 0.500000 0.500000 0.500000
Ke 0.000000 0.000000 0.000000
Ni 1.450000
d 1.000000
illum 2
map_Bump -bm 0.100000 D:\\JOB\\PROJECT\\Material\\Maple wood texture\\Normal.png
map_Kd D:\\JOB\\PROJECT\\Material\\Maple wood texture\\Diffuse.png
map_Ns D:\\JOB\\PROJECT\\Material\\Maple wood texture\\Roughness.png
newmtl Wool
Ns 225.000000
Ka 1.000000 1.000000 1.000000
Kd 0.800000 0.800000 0.800000
Ks 0.500000 0.500000 0.500000
Ke 0.000000 0.000000 0.000000
Ni 1.450000
d 1.000000
illum 2

View File

@ -1,196 +0,0 @@
# Blender v2.83.20 OBJ File: 'StuhlEingeklappt.blend'
# www.blender.org
mtllib StuhlEingeklappt_mit_Tisch.mtl
o Stuhl_Cube
v -0.474313 0.599066 -0.700000
v -0.505714 -0.000112 -0.700000
v -0.474313 0.599066 0.000000
v -0.505714 -0.000112 0.000000
v -0.494285 0.600112 -0.700000
v -0.525687 0.000935 -0.700000
v -0.494285 0.600112 0.000000
v -0.525687 0.000935 0.000000
vt 0.720000 0.720000
vt 0.280000 0.720000
vt 0.280000 0.280000
vt 0.720000 0.280000
vt 0.720000 0.280000
vt 0.720000 0.720000
vt 0.280000 0.720000
vt 0.280000 0.280000
vt 0.720000 0.720000
vt 0.720000 0.280000
vt 0.280000 0.720000
vt 0.720000 0.720000
vt 0.720000 0.280000
vt 0.280000 0.720000
vt 0.280000 0.280000
vt 0.280000 0.280000
vn 0.0523 0.9986 0.0000
vn 0.0000 0.0000 1.0000
vn -0.9986 0.0523 0.0000
vn -0.0523 -0.9986 0.0000
vn 0.9986 -0.0523 0.0000
vn 0.0000 0.0000 -1.0000
usemtl Maple_wood_texture
s off
f 1/1/1 5/2/1 7/3/1 3/4/1
f 4/5/2 3/6/2 7/7/2 8/8/2
f 8/8/3 7/7/3 5/9/3 6/10/3
f 6/11/4 2/12/4 4/5/4 8/8/4
f 2/13/5 1/1/5 3/14/5 4/15/5
f 6/16/6 5/2/6 1/1/6 2/13/6
o Polster_Stuhl_Cube.001
v -0.534640 0.020907 -0.020000
v -0.505332 0.580140 -0.020000
v -0.534640 0.020907 -0.680000
v -0.505332 0.580140 -0.680000
v -0.514668 0.019860 -0.020000
v -0.485360 0.579093 -0.020000
v -0.514668 0.019860 -0.680000
v -0.485360 0.579093 -0.680000
vt -0.533333 -0.533333
vt -0.533333 1.533333
vt 1.533333 1.533333
vt 1.533333 -0.533333
vt -0.533333 -0.533333
vt -0.533333 1.533333
vt 1.533333 1.533333
vt 1.533333 -0.533333
vt -0.533333 1.533333
vt -0.533333 -0.533333
vt 1.533333 -0.533333
vt 1.533333 1.533333
vt -0.533333 1.533333
vt 1.533333 1.533333
vt -0.533333 -0.533333
vt 1.533333 -0.533333
vn -0.9986 0.0523 0.0000
vn 0.0000 0.0000 -1.0000
vn 0.9986 -0.0523 0.0000
vn 0.0000 0.0000 1.0000
vn -0.0523 -0.9986 0.0000
vn 0.0523 0.9986 0.0000
usemtl Wool
s off
f 9/17/7 10/18/7 12/19/7 11/20/7
f 11/21/8 12/22/8 16/23/8 15/24/8
f 15/24/9 16/23/9 14/25/9 13/26/9
f 13/27/10 14/28/10 10/18/10 9/17/10
f 11/29/11 15/30/11 13/27/11 9/17/11
f 16/23/12 12/22/12 10/31/12 14/32/12
o Lehne_Cube.002
v -0.620000 0.000000 0.000000
v -0.620000 0.840000 0.000000
v -0.620000 0.000000 -0.700000
v -0.620000 0.840000 -0.700000
v -0.600000 0.000000 0.000000
v -0.600000 0.840000 0.000000
v -0.600000 0.000000 -0.700000
v -0.600000 0.840000 -0.700000
vt 0.240000 0.240000
vt 0.240000 0.760000
vt 0.760000 0.760000
vt 0.760000 0.240000
vt 0.240000 0.240000
vt 0.240000 0.760000
vt 0.760000 0.760000
vt 0.760000 0.240000
vt 0.240000 0.760000
vt 0.240000 0.240000
vt 0.760000 0.240000
vt 0.760000 0.760000
vt 0.240000 0.760000
vt 0.760000 0.760000
vt 0.240000 0.240000
vt 0.760000 0.240000
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
usemtl Maple_wood_texture
s off
f 17/33/13 18/34/13 20/35/13 19/36/13
f 19/37/14 20/38/14 24/39/14 23/40/14
f 23/40/15 24/39/15 22/41/15 21/42/15
f 21/43/16 22/44/16 18/34/16 17/33/16
f 19/45/17 23/46/17 21/43/17 17/33/17
f 24/39/18 20/38/18 18/47/18 22/48/18
o Polster_Lehne_Cube.004
v -0.610000 0.060000 -0.020000
v -0.610000 0.820000 -0.020000
v -0.610000 0.060000 -0.680000
v -0.610000 0.820000 -0.680000
v -0.590000 0.060000 -0.020000
v -0.590000 0.820000 -0.020000
v -0.590000 0.060000 -0.680000
v -0.590000 0.820000 -0.680000
vt -0.700000 -0.700000
vt -0.700000 1.700000
vt 1.700000 1.700000
vt 1.700000 -0.700000
vt -0.700000 -0.700000
vt -0.700000 1.700000
vt 1.700000 1.700000
vt 1.700000 -0.700000
vt -0.700000 1.700000
vt -0.700000 -0.700000
vt 1.700000 -0.700000
vt 1.700000 1.700000
vt -0.700000 1.700000
vt 1.700000 1.700000
vt -0.700000 -0.700000
vt 1.700000 -0.700000
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
usemtl Wool
s off
f 25/49/19 26/50/19 28/51/19 27/52/19
f 27/53/20 28/54/20 32/55/20 31/56/20
f 31/56/21 32/55/21 30/57/21 29/58/21
f 29/59/22 30/60/22 26/50/22 25/49/22
f 27/61/23 31/62/23 29/59/23 25/49/23
f 32/55/24 28/54/24 26/63/24 30/64/24
o Cube_Cube.003
v -1.230000 0.820000 0.150000
v -1.230000 0.840000 0.150000
v -1.230000 0.820000 -0.850000
v -1.230000 0.840000 -0.850000
v -0.630000 0.820000 0.150000
v -0.630000 0.840000 0.150000
v -0.630000 0.820000 -0.850000
v -0.630000 0.840000 -0.850000
vt 0.375000 0.000000
vt 0.625000 0.000000
vt 0.625000 0.250000
vt 0.375000 0.250000
vt 0.625000 0.500000
vt 0.375000 0.500000
vt 0.625000 0.750000
vt 0.375000 0.750000
vt 0.625000 1.000000
vt 0.375000 1.000000
vt 0.125000 0.500000
vt 0.125000 0.750000
vt 0.875000 0.500000
vt 0.875000 0.750000
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
usemtl Maple_wood_texture.001
s off
f 33/65/25 34/66/25 36/67/25 35/68/25
f 35/68/26 36/67/26 40/69/26 39/70/26
f 39/70/27 40/69/27 38/71/27 37/72/27
f 37/72/28 38/71/28 34/73/28 33/74/28
f 35/75/29 39/70/29 37/72/29 33/76/29
f 40/69/30 36/77/30 34/78/30 38/71/30

View File

@ -1,52 +0,0 @@
# Blender MTL File: 'Window.blend'
# Material Count: 5
newmtl Architectural_glass
Ns 225.000000
Ka 1.000000 1.000000 1.000000
Kd 0.800000 0.800000 0.800000
Ks 0.500000 0.500000 0.500000
Ke 0.000000 0.000000 0.000000
Ni 1.000000
d 1.000000
illum 2
newmtl Material.001
Ns 225.000000
Ka 1.000000 1.000000 1.000000
Kd 0.000000 0.000000 0.000000
Ks 0.500000 0.500000 0.500000
Ke 0.000000 0.000000 0.000000
Ni 1.450000
d 1.000000
illum 2
newmtl Material.002
Ns 225.000000
Ka 1.000000 1.000000 1.000000
Kd 0.000000 0.000000 0.000000
Ks 0.500000 0.500000 0.500000
Ke 0.000000 0.000000 0.000000
Ni 1.450000
d 1.000000
illum 2
newmtl Material.003
Ns 225.000000
Ka 1.000000 1.000000 1.000000
Kd 0.000000 0.000000 0.000000
Ks 0.500000 0.500000 0.500000
Ke 0.000000 0.000000 0.000000
Ni 1.450000
d 1.000000
illum 2
newmtl Material.004
Ns 225.000000
Ka 1.000000 1.000000 1.000000
Kd 0.000000 0.000000 0.000000
Ks 0.500000 0.500000 0.500000
Ke 0.000000 0.000000 0.000000
Ni 1.450000
d 1.000000
illum 2

View File

@ -1,190 +0,0 @@
# Blender v2.83.20 OBJ File: 'Window.blend'
# www.blender.org
mtllib Window.mtl
o Window_Cube
v 0.010000 3.000000 -2.000000
v 0.010000 0.000000 -2.000000
v 0.010000 3.000000 0.000000
v 0.010000 0.000000 0.000000
v -0.010000 3.000000 -2.000000
v -0.010000 0.000000 -2.000000
v -0.010000 3.000000 0.000000
v -0.010000 0.000000 0.000000
vt 1.336667 1.336667
vt -0.336667 1.336667
vt -0.336667 -0.336667
vt 1.336667 -0.336667
vt 1.336667 -0.336667
vt 1.336667 1.336667
vt -0.336667 1.336667
vt -0.336667 -0.336667
vt 1.336667 1.336667
vt 1.336667 -0.336667
vt -0.336667 1.336667
vt 1.336667 1.336667
vt 1.336667 -0.336667
vt -0.336667 1.336667
vt -0.336667 -0.336667
vt -0.336667 -0.336667
vn 0.0000 1.0000 0.0000
vn 0.0000 0.0000 1.0000
vn -1.0000 0.0000 0.0000
vn 0.0000 -1.0000 0.0000
vn 1.0000 0.0000 0.0000
vn 0.0000 0.0000 -1.0000
usemtl Architectural_glass
s off
f 1/1/1 5/2/1 7/3/1 3/4/1
f 4/5/2 3/6/2 7/7/2 8/8/2
f 8/8/3 7/7/3 5/9/3 6/10/3
f 6/11/4 2/12/4 4/5/4 8/8/4
f 2/13/5 1/1/5 3/14/5 4/15/5
f 6/16/6 5/2/6 1/1/6 2/13/6
o Border_RIGHT_Cube.001
v -0.010000 -0.010000 0.010000
v -0.010000 3.010000 0.010000
v -0.010000 -0.010000 -0.010000
v -0.010000 3.010000 -0.010000
v 0.010000 -0.010000 0.010000
v 0.010000 3.010000 0.010000
v 0.010000 -0.010000 -0.010000
v 0.010000 3.010000 -0.010000
vt 0.375000 0.000000
vt 0.625000 0.000000
vt 0.625000 0.250000
vt 0.375000 0.250000
vt 0.625000 0.500000
vt 0.375000 0.500000
vt 0.625000 0.750000
vt 0.375000 0.750000
vt 0.625000 1.000000
vt 0.375000 1.000000
vt 0.125000 0.500000
vt 0.125000 0.750000
vt 0.875000 0.500000
vt 0.875000 0.750000
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
usemtl Material.001
s off
f 9/17/7 10/18/7 12/19/7 11/20/7
f 11/20/8 12/19/8 16/21/8 15/22/8
f 15/22/9 16/21/9 14/23/9 13/24/9
f 13/24/10 14/23/10 10/25/10 9/26/10
f 11/27/11 15/22/11 13/24/11 9/28/11
f 16/21/12 12/29/12 10/30/12 14/23/12
o Border_BOTTOM_Cube.002
v -0.010000 -0.010000 0.000000
v -0.010000 0.010000 0.000000
v -0.010000 -0.010000 -2.000000
v -0.010000 0.010000 -2.000000
v 0.010000 -0.010000 0.000000
v 0.010000 0.010000 0.000000
v 0.010000 -0.010000 -2.000000
v 0.010000 0.010000 -2.000000
vt 0.375000 0.000000
vt 0.625000 0.000000
vt 0.625000 0.250000
vt 0.375000 0.250000
vt 0.625000 0.500000
vt 0.375000 0.500000
vt 0.625000 0.750000
vt 0.375000 0.750000
vt 0.625000 1.000000
vt 0.375000 1.000000
vt 0.125000 0.500000
vt 0.125000 0.750000
vt 0.875000 0.500000
vt 0.875000 0.750000
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
usemtl Material.002
s off
f 17/31/13 18/32/13 20/33/13 19/34/13
f 19/34/14 20/33/14 24/35/14 23/36/14
f 23/36/15 24/35/15 22/37/15 21/38/15
f 21/38/16 22/37/16 18/39/16 17/40/16
f 19/41/17 23/36/17 21/38/17 17/42/17
f 24/35/18 20/43/18 18/44/18 22/37/18
o Border_TOP_Cube.003
v -0.010000 2.990000 0.000000
v -0.010000 3.010000 0.000000
v -0.010000 2.990000 -2.000000
v -0.010000 3.010000 -2.000000
v 0.010000 2.990000 0.000000
v 0.010000 3.010000 0.000000
v 0.010000 2.990000 -2.000000
v 0.010000 3.010000 -2.000000
vt 0.375000 0.000000
vt 0.625000 0.000000
vt 0.625000 0.250000
vt 0.375000 0.250000
vt 0.625000 0.500000
vt 0.375000 0.500000
vt 0.625000 0.750000
vt 0.375000 0.750000
vt 0.625000 1.000000
vt 0.375000 1.000000
vt 0.125000 0.500000
vt 0.125000 0.750000
vt 0.875000 0.500000
vt 0.875000 0.750000
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
usemtl Material.003
s off
f 25/45/19 26/46/19 28/47/19 27/48/19
f 27/48/20 28/47/20 32/49/20 31/50/20
f 31/50/21 32/49/21 30/51/21 29/52/21
f 29/52/22 30/51/22 26/53/22 25/54/22
f 27/55/23 31/50/23 29/52/23 25/56/23
f 32/49/24 28/57/24 26/58/24 30/51/24
o Border_LEFT_Cube.004
v -0.010000 -0.010000 -1.990000
v -0.010000 3.010000 -1.990000
v -0.010000 -0.010000 -2.010000
v -0.010000 3.010000 -2.010000
v 0.010000 -0.010000 -1.990000
v 0.010000 3.010000 -1.990000
v 0.010000 -0.010000 -2.010000
v 0.010000 3.010000 -2.010000
vt 0.375000 0.000000
vt 0.625000 0.000000
vt 0.625000 0.250000
vt 0.375000 0.250000
vt 0.625000 0.500000
vt 0.375000 0.500000
vt 0.625000 0.750000
vt 0.375000 0.750000
vt 0.625000 1.000000
vt 0.375000 1.000000
vt 0.125000 0.500000
vt 0.125000 0.750000
vt 0.875000 0.500000
vt 0.875000 0.750000
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
usemtl Material.004
s off
f 33/59/25 34/60/25 36/61/25 35/62/25
f 35/62/26 36/61/26 40/63/26 39/64/26
f 39/64/27 40/63/27 38/65/27 37/66/27
f 37/66/28 38/65/28 34/67/28 33/68/28
f 35/69/29 39/64/29 37/66/29 33/70/29
f 40/63/30 36/71/30 34/72/30 38/65/30

13
obj/table/Table.mtl Normal file
View File

@ -0,0 +1,13 @@
# Blender MTL File: 'Schreibtisch.blend'
# Material Count: 1
newmtl Material
Ns 225.000000
Ka 1.000000 1.000000 1.000000
Kd 0.800000 0.800000 0.800000
Ks 0.500000 0.500000 0.500000
Ke 0.000000 0.000000 0.000000
Ni 1.450000
d 1.000000
illum 2
map_Kd C:\\Users\\Finn_\\Desktop\\Wood_Wool_Combined_Vertical_V2.png

159
obj/table/Table.obj Normal file
View File

@ -0,0 +1,159 @@
# Blender v2.83.20 OBJ File: 'Schreibtisch.blend'
# www.blender.org
mtllib Table.mtl
o Cube.002_Cube.004
v -1.000000 0.710000 -0.000000
v -1.000000 0.750000 -0.000000
v -1.000000 0.710000 -2.000000
v -1.000000 0.750000 -2.000000
v -0.000000 0.710000 -0.000000
v -0.000000 0.750000 -0.000000
v -0.000000 0.710000 -2.000000
v -0.000000 0.750000 -2.000000
vt 0.000000 0.499848
vt 0.000000 0.999848
vt 1.000000 0.999848
vt 1.000000 0.499848
vt 0.000000 0.499848
vt 0.000000 0.999848
vt 1.000000 0.999848
vt 1.000000 0.499848
vt 0.000000 0.999848
vt 0.000000 0.499848
vt 1.000000 0.499848
vt 1.000000 0.999848
vt 0.000000 0.999848
vt 1.000000 0.999848
vt 0.000000 0.499848
vt 1.000000 0.499848
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
usemtl Material
s off
f 1/1/1 2/2/1 4/3/1 3/4/1
f 3/5/2 4/6/2 8/7/2 7/8/2
f 7/8/3 8/7/3 6/9/3 5/10/3
f 5/11/4 6/12/4 2/2/4 1/1/4
f 3/13/5 7/14/5 5/11/5 1/1/5
f 8/7/6 4/6/6 2/15/6 6/16/6
o Cube_Cube.007
v -1.000000 0.000000 -1.400000
v -1.000000 0.710000 -1.400000
v -1.000000 0.000000 -2.000000
v -1.000000 0.710000 -2.000000
v 0.000000 0.000000 -1.400000
v 0.000000 0.710000 -1.400000
v 0.000000 0.000000 -2.000000
v 0.000000 0.710000 -2.000000
vt 0.000000 0.499385
vt 0.000000 0.999385
vt 1.000000 0.999385
vt 1.000000 0.499385
vt 0.000000 0.499385
vt 0.000000 0.999385
vt 1.000000 0.999385
vt 1.000000 0.499385
vt 0.000000 0.999385
vt 0.000000 0.499385
vt 1.000000 0.499385
vt 1.000000 0.999385
vt 0.000000 0.999385
vt 1.000000 0.999385
vt 0.000000 0.499385
vt 1.000000 0.499385
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
usemtl Material
s off
f 9/17/7 10/18/7 12/19/7 11/20/7
f 11/21/8 12/22/8 16/23/8 15/24/8
f 15/24/9 16/23/9 14/25/9 13/26/9
f 13/27/10 14/28/10 10/18/10 9/17/10
f 11/29/11 15/30/11 13/27/11 9/17/11
f 16/23/12 12/22/12 10/31/12 14/32/12
o Cube.001_Cube.008
v -0.040000 0.000000 -0.600000
v -0.040000 0.710000 -0.600000
v -0.040000 0.000000 -1.400000
v -0.040000 0.710000 -1.400000
v 0.000000 0.000000 -0.600000
v 0.000000 0.710000 -0.600000
v 0.000000 0.000000 -1.400000
v 0.000000 0.710000 -1.400000
vt 0.000000 0.499770
vt 0.000000 0.999770
vt 1.000000 0.999770
vt 1.000000 0.499770
vt 0.000000 0.499770
vt 0.000000 0.999770
vt 1.000000 0.999770
vt 1.000000 0.499770
vt 0.000000 0.999770
vt 0.000000 0.499770
vt 1.000000 0.499770
vt 1.000000 0.999770
vt 0.000000 0.999770
vt 1.000000 0.999770
vt 0.000000 0.499770
vt 1.000000 0.499770
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
usemtl Material
s off
f 17/33/13 18/34/13 20/35/13 19/36/13
f 19/37/14 20/38/14 24/39/14 23/40/14
f 23/40/15 24/39/15 22/41/15 21/42/15
f 21/43/16 22/44/16 18/34/16 17/33/16
f 19/45/17 23/46/17 21/43/17 17/33/17
f 24/39/18 20/38/18 18/47/18 22/48/18
o Cube.003_Cube.009
v -1.000000 0.000000 0.000000
v -1.000000 0.710000 0.000000
v -1.000000 0.000000 -0.600000
v -1.000000 0.710000 -0.600000
v 0.000000 0.000000 0.000000
v 0.000000 0.710000 0.000000
v 0.000000 0.000000 -0.600000
v 0.000000 0.710000 -0.600000
vt 0.000000 0.499770
vt 0.000000 0.999770
vt 1.000000 0.999770
vt 1.000000 0.499770
vt 0.000000 0.499770
vt 0.000000 0.999770
vt 1.000000 0.999770
vt 1.000000 0.499770
vt 0.000000 0.999770
vt 0.000000 0.499770
vt 1.000000 0.499770
vt 1.000000 0.999770
vt 0.000000 0.999770
vt 1.000000 0.999770
vt 0.000000 0.499770
vt 1.000000 0.499770
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
usemtl Material
s off
f 25/49/19 26/50/19 28/51/19 27/52/19
f 27/53/20 28/54/20 32/55/20 31/56/20
f 31/56/21 32/55/21 30/57/21 29/58/21
f 29/59/22 30/60/22 26/50/22 25/49/22
f 27/61/23 31/62/23 29/59/23 25/49/23
f 32/55/24 28/54/24 26/63/24 30/64/24

84
scene-graph-example.scg Normal file
View File

@ -0,0 +1,84 @@
# Kommentar
# Definition eines Modells
# Model hat eindeutige numerische ID
# Durch diese ID kann ein Objekt dieses Modell verwenden
model 0
# Angabe der OBJ Datei
file ../obj/cube.obj
# Angabe der Textur Datei
texture ../texture/crate.png
# Definition eines Modells oder Objekts endet automatisch
# bei beginn einer neuen Definition
model 1
file ../obj/earth.obj
texture ../texture/pb.png
# Definition eines Objekts
# jedes Objekt braucht eindeutige numerische ID
obj 0
# Angabe welches Modell das Objekt nutzt
# Kann im Fall von Gruppenobjekten weggelassen werden
use 0
# lesbarer Name des Objekts
# eigentlich nur für debugging, muss wahrscheinlich
# garnicht implementiert werden
name myCrate1
# Position des Objekts
# relativ zur Position des Parent Elements
translate 0.0 0.0 2.0
# Skalierung des Objekts
# relativ zur Skalierung des Parent Elements
scale 1.0 1.0 1.0
# rotationen
rotateX 0.0
rotateY 1.5
rotateZ 0.0
obj 1
use 0
name myCrate2
translate 0.0 3.0 0.0
scale 0.5 0.5 0.5
# Definition des Parent Objekts
parent 0
obj 2
use 1
name Sonne
#texture ../texture/pb.png
translate 0.0 0.0 0.0
scale 2.0 2.0 2.0
obj 3
use 1
name Erde
#texture ../texture/earth/day.png
translate 4.0 0.0 0.0
scale 1.0 1.0 1.0
parent 2
obj 4
use 1
name Mond
#texture ../texture/checkerboard.png
translate 2.0 0.0 0.0
scale 0.5 0.5 0.5
parent 3

1623
scene-graph.scg Normal file

File diff suppressed because it is too large Load Diff

View File

@ -12,9 +12,6 @@
#include "wavefrontobj.h" #include "wavefrontobj.h"
#include "sceneGraph.h" #include "sceneGraph.h"
#define STB_IMAGE_IMPLEMENTATION
#include "../lib/stb_image.h"
#include <stdlib.h> #include <stdlib.h>
#include <math.h> #include <math.h>
#include <string.h> #include <string.h>
@ -32,17 +29,6 @@ GLuint program;
int flipFlag = 1; int flipFlag = 1;
GLuint textures[NUM_TEXTURES];
char* textureFiles[NUM_TEXTURES] = {
"../texture/earth/day.png",
"../texture/earth/night.png",
"../texture/earth/clouds.png",
"../texture/earth/ocean_mask.png",
"../texture/earth/normal.png"
};
ObjectData* objectData;
bool exitRequested = false; bool exitRequested = false;
GLFWwindow* window; GLFWwindow* window;
@ -65,15 +51,6 @@ mat4 viewingTransformation;
// Define a global scene graph root node // Define a global scene graph root node
SceneNode* rootNode; SceneNode* rootNode;
int numModels = 0;
char* models[] = {
"../obj/Xblock.obj",
"../obj/Yblock.obj",
"../obj/Yblock_rotated.obj",
"../obj/Zblock.obj",
};
/** /**
* Input handler for camera movement. * Input handler for camera movement.
* */ * */
@ -126,38 +103,9 @@ void keyboardHandler(GLFWwindow* window, int key, int scancode, int action, int
} }
} }
/**
* Loads textures.
*/
void loadTexture(char* textureFile, GLuint* texture) {
int width, height, nrChannels;
unsigned char* image = stbi_load(textureFile, &width, &height, &nrChannels, 0);
// default: 3 channels, RGB
GLenum channelFormats[] = {
0,
GL_RED,
GL_RG,
GL_RGB,
GL_RGBA
};
GLenum format = channelFormats[nrChannels];
glGenTextures(1, texture);
glBindTexture(GL_TEXTURE_2D, *texture);
printf("%s - %d\n", textureFile, nrChannels);
glTexImage2D(GL_TEXTURE_2D, 0, GL_RGB, width, height, 0, format, GL_UNSIGNED_BYTE, image);
// load texture using previously determined format ----- ^^^^^^
glGenerateMipmap(GL_TEXTURE_2D);
glBindTexture(GL_TEXTURE_2D, 0);
stbi_image_free(image);
}
void renderNode(SceneNode* node) { void renderNode(SceneNode* node) {
if (!node->model) return;
mat4 modelView; mat4 modelView;
identity(&modelView); identity(&modelView);
multiply(&modelView, &node->worldTransformation, &modelView); multiply(&modelView, &node->worldTransformation, &modelView);
@ -182,14 +130,14 @@ void renderNode(SceneNode* node) {
textureLocation = glGetUniformLocation(program, "textureSampler"); textureLocation = glGetUniformLocation(program, "textureSampler");
glUniform1i(textureLocation, 0); glUniform1i(textureLocation, 0);
glActiveTexture(GL_TEXTURE0); glActiveTexture(GL_TEXTURE0);
glBindTexture(GL_TEXTURE_2D, textures[DAY]); glBindTexture(GL_TEXTURE_2D, node->model->texture);
textureLocation = glGetUniformLocation(program, "normalMap"); // textureLocation = glGetUniformLocation(program, "normalMap");
glUniform1i(textureLocation, 4); // glUniform1i(textureLocation, 4);
glActiveTexture(GL_TEXTURE4); // glActiveTexture(GL_TEXTURE4);
glBindTexture(GL_TEXTURE_2D, textures[NORMAL]); // glBindTexture(GL_TEXTURE_2D, textures[NORMAL]);
draw_object(node->objectData); draw_object(node->model->objectData);
} }
void init(void) { void init(void) {
@ -259,31 +207,12 @@ void init(void) {
exit(1); exit(1);
} }
// --------------- READ MODEL FILES
//objectData = readObjFiles(&models, numModels);
char* c = "../obj/new/Window.obj";
objectData = readSingleObjFile(&c);
stbi_set_flip_vertically_on_load(flipFlag); stbi_set_flip_vertically_on_load(flipFlag);
// -------------- READ TEXTURE FILES // --------------- READ SCENE GRAPH
for (int i = 0; i < NUM_TEXTURES; i++) {
loadTexture(textureFiles[i], &textures[i]);
}
setNodeRenderFunction(&renderNode); setNodeRenderFunction(&renderNode);
// Create the root scene node // read scene graph
rootNode = createSceneNode(); rootNode = loadSceneGraphFromFile("../scene-graph.scg");
// Create a child node (e.g., for the model)
SceneNode* modelNode = createSceneNode();
modelNode->objectData = objectData;
addChild(rootNode, modelNode);
// Set transformations for the modelNode (example)
rotateY(&modelNode->transformation, &modelNode->transformation, pi / 4);
// ENABLE BACKFACE CULLING // ENABLE BACKFACE CULLING
glFrontFace(GL_CCW); glFrontFace(GL_CCW);
@ -312,12 +241,14 @@ void draw(void) {
timeSinceUpdate += deltaTime; timeSinceUpdate += deltaTime;
glfwSetTime(0.0f); glfwSetTime(0.0f);
if (timeSinceUpdate >= timeBetweenUpdates) { if (timeSinceUpdate >= timeBetweenUpdates) {
updateStats(); updateStats();
timeSinceUpdate = 0.0f; timeSinceUpdate = 0.0f;
framesSinceUpdate = 0; framesSinceUpdate = 0;
} }
// camera movement // camera movement
handleInputs(deltaTime); handleInputs(deltaTime);
@ -330,6 +261,10 @@ void draw(void) {
if (step > 1.0f) step -= 1.0f; if (step > 1.0f) step -= 1.0f;
if (step < 0.0f) step += 1.0f; if (step < 0.0f) step += 1.0f;
//SceneNode* box3 = findNodeByName("box3", rootNode);
//rotateY(&box3->transformation, &box3->transformation, 0.001);
//updateSceneNode(rootNode, NULL);
// step multiplied by pi * 2 for use in rotation and trig functions // step multiplied by pi * 2 for use in rotation and trig functions
GLfloat stepi = step * pi * 2; GLfloat stepi = step * pi * 2;
@ -361,17 +296,10 @@ void draw(void) {
glUniform4f(glGetUniformLocation(program, "lightColor"), 1.0f, 1.0f, 1.0f, 1.0f); glUniform4f(glGetUniformLocation(program, "lightColor"), 1.0f, 1.0f, 1.0f, 1.0f);
glUniform4f(glGetUniformLocation(program, "ambientLight"), 0.05f, 0.05f, 0.05f, 1.0f); glUniform4f(glGetUniformLocation(program, "ambientLight"), 0.05f, 0.05f, 0.05f, 1.0f);
// BIND TEXTURES vec4 lightPosition = {cos(stepi) * 5.0f, 5.0f, sin(stepi) * 5.0f, 1.0f};
GLuint textureLocation; multiplyAny((GLfloat*)&lightPosition, (GLfloat*)&viewingTransformation, (GLfloat*)&lightPosition, 4, 4, 1);
textureLocation = glGetUniformLocation(program, "textureSampler");
glUniform1i(textureLocation, 0);
glActiveTexture(GL_TEXTURE0);
glBindTexture(GL_TEXTURE_2D, textures[DAY]);
textureLocation = glGetUniformLocation(program, "normalMap"); glUniform3f(glGetUniformLocation(program, "lightPosition"), lightPosition.x, lightPosition.y, lightPosition.z);
glUniform1i(textureLocation, 4);
glActiveTexture(GL_TEXTURE4);
glBindTexture(GL_TEXTURE_2D, textures[NORMAL]);
renderSceneNode(rootNode); renderSceneNode(rootNode);

View File

@ -94,7 +94,7 @@ ObjectData* readObjFiles(char** path, int numModels, int* count) {
* Takes a single object and reads it a certain number of times. * Takes a single object and reads it a certain number of times.
* Returns an array of objects. * Returns an array of objects.
*/ */
ObjectData* readSingleObjFile(char** path) { ObjectData* readSingleObjFile(char* path) {
ObjectData* objectData = (ObjectData*) malloc(sizeof(ObjectData)); ObjectData* objectData = (ObjectData*) malloc(sizeof(ObjectData));
if (!objectData) { if (!objectData) {
@ -103,7 +103,7 @@ ObjectData* readSingleObjFile(char** path) {
return NULL; return NULL;
} }
objectData->object = readObjFile(*path); objectData->object = readObjFile(path);
load_object(objectData); load_object(objectData);
return objectData; return objectData;

View File

@ -11,7 +11,7 @@ typedef struct {
extern void load_object(ObjectData* objectData); extern void load_object(ObjectData* objectData);
extern ObjectData* readObjFiles(char** path, int numModels, int* count); extern ObjectData* readObjFiles(char** path, int numModels, int* count);
extern ObjectData* readSingleObjFile(char** path); extern ObjectData* readSingleObjFile(char* path);
extern void draw_object(ObjectData* objectData); extern void draw_object(ObjectData* objectData);
#endif #endif

View File

@ -3,6 +3,32 @@
#include "sceneGraph.h" #include "sceneGraph.h"
#include "objectHandler.h" #include "objectHandler.h"
#include <stdlib.h> #include <stdlib.h>
#include <math.h>
#include <stdio.h>
#include <GL/glew.h>
#include <stdbool.h>
#define STB_IMAGE_IMPLEMENTATION
#include "../lib/stb_image.h"
#define SCG_LINE_BUFFER_SIZE 1024
#define SCG_KEYWORD_BUFFER_SIZE 32
#define KEYWORD_DEFINE_MODEL "model"
#define KEYWORD_DEFINE_NODE "obj"
#define KEYWORD_DEFINE_OBJ_FILE "file"
#define KEYWORD_DEFINE_TEXTURE_FILE "texture"
#define KEYWORD_USE_MODEL "use"
#define KEYWORD_DEFINE_PARENT "parent"
#define KEYWORD_DEFINE_NAME "name"
#define KEYWORD_SCALE "scale"
#define KEYWORD_TRANSLATE "translate"
#define KEYWORD_ROTATE_X "rotateX"
#define KEYWORD_ROTATE_Y "rotateY"
#define KEYWORD_ROTATE_Z "rotateZ"
void (*renderFunction)(SceneNode*); void (*renderFunction)(SceneNode*);
@ -10,13 +36,15 @@ void setNodeRenderFunction(void (*newRenderFunction)(SceneNode*)) {
renderFunction = newRenderFunction; renderFunction = newRenderFunction;
} }
SceneNode* createSceneNode() { SceneNode* createSceneNode(int id) {
SceneNode* node = (SceneNode*)malloc(sizeof(SceneNode)); SceneNode* node = (SceneNode*)malloc(sizeof(SceneNode));
identity(&node->transformation); identity(&node->transformation);
identity(&node->worldTransformation); identity(&node->worldTransformation);
node->id = id;
node->children = NULL; node->children = NULL;
node->numChildren = 0; node->numChildren = 0;
node->objectData = NULL; node->model = NULL;
node->name = NULL;
return node; return node;
} }
@ -27,14 +55,16 @@ void addChild(SceneNode* parent, SceneNode* child) {
} }
void updateSceneNode(SceneNode* node, mat4* parentTransformation) { void updateSceneNode(SceneNode* node, mat4* parentTransformation) {
if (parentTransformation) {
multiply(&node->worldTransformation, parentTransformation, &node->transformation); multiply(&node->worldTransformation, parentTransformation, &node->transformation);
}
for (int i = 0; i < node->numChildren; i++) { for (int i = 0; i < node->numChildren; i++) {
updateSceneNode(node->children[i], &node->worldTransformation); updateSceneNode(node->children[i], &node->worldTransformation);
} }
} }
void renderSceneNode(SceneNode* node) { void renderSceneNode(SceneNode* node) {
if (node->objectData) { if (node->model) {
renderFunction(node); renderFunction(node);
} }
for (int i = 0; i < node->numChildren; i++) { for (int i = 0; i < node->numChildren; i++) {
@ -49,3 +79,265 @@ void freeSceneNode(SceneNode* node) {
free(node->children); free(node->children);
free(node); free(node);
} }
void loadTexture(char* textureFile, GLuint* texture) {
int width, height, nrChannels;
unsigned char* image = stbi_load(textureFile, &width, &height, &nrChannels, 0);
// default: 3 channels, RGB
GLenum channelFormats[] = {
0,
GL_RED,
GL_RG,
GL_RGB,
GL_RGBA
};
GLenum format = channelFormats[nrChannels];
glGenTextures(1, texture);
glBindTexture(GL_TEXTURE_2D, *texture);
printf("%s - %d\n", textureFile, nrChannels);
glTexImage2D(GL_TEXTURE_2D, 0, GL_RGB, width, height, 0, format, GL_UNSIGNED_BYTE, image);
// load texture using previously determined format ----- ^^^^^^
glGenerateMipmap(GL_TEXTURE_2D);
glBindTexture(GL_TEXTURE_2D, 0);
stbi_image_free(image);
}
SceneNode* findNode(int id, SceneNode* root) {
if (root->id == id) return root;
for (int i = 0; i < root->numChildren; i++) {
SceneNode* node = findNode(id, root->children[i]);
if (node) return node;
}
return NULL;
}
SceneNode* findNodeByName(char* name, SceneNode* root) {
if (root->name && strcmp(root->name, name) == 0) return root;
for (int i = 0; i < root->numChildren; i++) {
SceneNode* node = findNodeByName(name, root->children[i]);
if (node) return node;
}
return NULL;
}
void printSceneGraph(SceneNode* node, int level) {
for (int i = 0; i < level; i++) {
printf(" - ");
}
if (node->name) {
printf("%s\n", node->name);
} else {
printf("%d\n", node->id);
}
for (int i = 0; i < node->numChildren; i++) {
printSceneGraph(node->children[i], level + 1);
}
}
SceneNode* loadSceneGraphFromFile(char* path) {
FILE* fp = fopen(path, "r");
if (fp == NULL) {
fprintf(stderr, "File could not be opened: %s\n", path);
}
char buf[SCG_LINE_BUFFER_SIZE];
char keyword[SCG_KEYWORD_BUFFER_SIZE];
// generate keyword buffer format string using SCG_KEYWORD_BUFFER_SIZE
// when SCK_KEYWORD_BUFFER_SIZE is 32 keywordBufferFormat will contain "%32s"
// avoid buffer overflow while reading buffer while also allowing for dynamic buffer scaling
// there is probably a better solution for this but I couldn't find one :(
char* keywordBufferFormat = (char*)malloc(sizeof(char) * (4 + (int)log10((double)SCG_KEYWORD_BUFFER_SIZE)));
sprintf(keywordBufferFormat, "%%%ds", SCG_KEYWORD_BUFFER_SIZE);
SceneNode* root = createSceneNode(-1);
root->name = "ROOT";
int maxModelId = 0;
int maxObjId = 0;
while (fgets(buf, SCG_LINE_BUFFER_SIZE, fp)) {
if (buf[0] == '#') continue;
sscanf(buf, keywordBufferFormat, keyword);
// printf("%s\n", keyword);
if (strcmp(keyword, KEYWORD_DEFINE_MODEL) == 0) {
int modelId = 0;
sscanf(buf, KEYWORD_DEFINE_MODEL " %d", &modelId);
if (modelId > maxModelId) {
maxModelId = modelId;
}
}
}
Model* models = (Model*)malloc(sizeof(Model) * (maxModelId + 1));
int currentModel = 0;
SceneNode* currentNode = NULL;
bool currentNodeHasParent = false;
char filepathBuffer[1024];
rewind(fp);
int currentLine = 0;
while (fgets(buf, SCG_LINE_BUFFER_SIZE, fp)) {
currentLine++;
if (buf[0] == '#') continue;
if (buf[0] == '\r' || buf[0] == '\n' || buf[0] == '\0') continue;
sscanf(buf, keywordBufferFormat, keyword);
if (strcmp(keyword, KEYWORD_DEFINE_MODEL) == 0) {
sscanf(buf, KEYWORD_DEFINE_MODEL " %d", &currentModel);
continue;
}
if (strcmp(keyword, KEYWORD_DEFINE_OBJ_FILE) == 0) {
sscanf(buf, KEYWORD_DEFINE_OBJ_FILE " %s", filepathBuffer);
models[currentModel].objectData = readSingleObjFile(filepathBuffer);
continue;
}
if (strcmp(keyword, KEYWORD_DEFINE_TEXTURE_FILE) == 0) {
sscanf(buf, KEYWORD_DEFINE_TEXTURE_FILE " %s", filepathBuffer);
loadTexture(filepathBuffer, &models[currentModel].texture);
continue;
}
if (strcmp(keyword, KEYWORD_DEFINE_NODE) == 0) {
if (currentNode && !currentNodeHasParent) {
addChild(root, currentNode);
}
currentNode = NULL;
currentNodeHasParent = false;
int nodeId = 0;
sscanf(buf, KEYWORD_DEFINE_NODE " %d", &nodeId);
if (findNode(nodeId, root)) {
fprintf(stderr, "redeclaration of objet with id %d - line %d\n", nodeId, currentLine);
return NULL;
}
currentNode = createSceneNode(nodeId);
continue;
}
if (strcmp(keyword, KEYWORD_DEFINE_NAME) == 0) {
if (!currentNode) {
fprintf(stderr, "no node selected, can't assign name - line %d\n", currentLine);
return NULL;
}
sscanf(buf, KEYWORD_DEFINE_NAME " %s", filepathBuffer);
char* name = (char*)malloc(strlen(filepathBuffer) * sizeof(char) + 1);
strcpy(name, filepathBuffer);
currentNode->name = name;
continue;
}
if (strcmp(keyword, KEYWORD_DEFINE_PARENT) == 0) {
if (!currentNode) {
fprintf(stderr, "no node selected, can't assign parent - line %d\n", currentLine);
return NULL;
}
if (currentNodeHasParent) {
fprintf(stderr, "selected node already has parent - line %d\n", currentLine);
return NULL;
}
int parentId = 0;
sscanf(buf, KEYWORD_DEFINE_PARENT " %d", &parentId);
SceneNode* parent = findNode(parentId, root);
if (!parent) {
fprintf(stderr, "parent node with id %d not found - line %d\n", parentId, currentLine);
return NULL;
}
addChild(parent, currentNode);
currentNodeHasParent = true;
continue;
}
if (strcmp(keyword, KEYWORD_USE_MODEL) == 0) {
if (!currentNode) {
fprintf(stderr, "no node selected to assign model to - line %d\n", currentLine);
return NULL;
}
int usedModel = 0;
sscanf(buf, KEYWORD_USE_MODEL " %d", &usedModel);
if (usedModel > maxModelId || usedModel < 0) {
fprintf(stderr, "model with id %d not found - line %d\n", usedModel, currentLine);
return NULL;
}
currentNode->model = &models[usedModel];
}
if (strcmp(keyword, KEYWORD_TRANSLATE) == 0) {
if (!currentNode) {
fprintf(stderr, "no node selected to assign position to - line %d\n", currentLine);
return NULL;
}
vec3 translation;
sscanf(buf, KEYWORD_TRANSLATE " %f %f %f", &translation.x, &translation.y, &translation.z);
translate(&currentNode->transformation, &currentNode->transformation, &translation);
}
if (strcmp(keyword, KEYWORD_SCALE) == 0) {
if (!currentNode) {
fprintf(stderr, "no node selected to assign scale to - line %d\n", currentLine);
return NULL;
}
vec3 translation;
sscanf(buf, KEYWORD_SCALE " %f %f %f", &translation.x, &translation.y, &translation.z);
scale(&currentNode->transformation, &currentNode->transformation, &translation);
}
if (strcmp(keyword, KEYWORD_ROTATE_X) == 0) {
if (!currentNode) {
fprintf(stderr, "no node selected to assign rotationX to - line %d\n", currentLine);
return NULL;
}
GLfloat angle;
sscanf(buf, KEYWORD_ROTATE_X " %f", &angle);
rotateX(&currentNode->transformation, &currentNode->transformation, angle);
}
if (strcmp(keyword, KEYWORD_ROTATE_Y) == 0) {
if (!currentNode) {
fprintf(stderr, "no node selected to assign rotationY to - line %d\n", currentLine);
return NULL;
}
GLfloat angle;
sscanf(buf, KEYWORD_ROTATE_Y " %f", &angle);
rotateY(&currentNode->transformation, &currentNode->transformation, angle);
}
if (strcmp(keyword, KEYWORD_ROTATE_Z) == 0) {
if (!currentNode) {
fprintf(stderr, "no node selected to assign rotationZ to - line %d\n", currentLine);
return NULL;
}
GLfloat angle;
sscanf(buf, KEYWORD_ROTATE_Z " %f", &angle);
rotateZ(&currentNode->transformation, &currentNode->transformation, angle);
}
}
if (currentNode && !currentNodeHasParent) {
addChild(root, currentNode);
}
updateSceneNode(root, NULL);
printSceneGraph(root, 0);
return root;
}

View File

@ -11,20 +11,30 @@
typedef struct SceneNode SceneNode; typedef struct SceneNode SceneNode;
typedef struct {
ObjectData* objectData;
GLuint texture;
} Model;
struct SceneNode { struct SceneNode {
int id;
mat4 transformation; // Local transformation matrix mat4 transformation; // Local transformation matrix
mat4 worldTransformation; // World transformation matrix mat4 worldTransformation; // World transformation matrix
SceneNode** children; // Array of pointers to child nodes SceneNode** children; // Array of pointers to child nodes
int numChildren; // Number of child nodes int numChildren; // Number of child nodes
ObjectData* objectData; Model* model;
char* name;
}; };
void setNodeRenderFunction(void (*newRenderFunction)(SceneNode*)); extern SceneNode* findNode(int id, SceneNode* root);
extern SceneNode* findNodeByName(char* name, SceneNode* root);
extern void setNodeRenderFunction(void (*newRenderFunction)(SceneNode*));
extern SceneNode* createSceneNode(); extern SceneNode* createSceneNode();
extern void addChild(SceneNode* parent, SceneNode* child); extern void addChild(SceneNode* parent, SceneNode* child);
extern void updateSceneNode(SceneNode* node, mat4* parentTransformation); extern void updateSceneNode(SceneNode* node, mat4* parentTransformation);
extern void renderSceneNode(SceneNode* node); extern void renderSceneNode(SceneNode* node);
extern void freeSceneNode(SceneNode* node); extern void freeSceneNode(SceneNode* node);
extern void printSceneGraph(SceneNode* root, int level);
extern SceneNode* loadSceneGraphFromFile(char* path);
#endif #endif

38
test-scene-graph.scg Normal file
View File

@ -0,0 +1,38 @@
model 0
file ../obj/cube.obj
texture ../texture/crate/texture.jpg
obj 0
use 0
scale 1.0 0.3 1.0
name box1
obj 1
parent 0
translate 2.0 0.0 0.0
obj 2
use 0
parent 1
scale 0.7 1.5 0.7
name box2
obj 3
parent 2
translate 2.0 0.0 0.0
obj 4
use 0
parent 3
scale 0.7 1.5 0.7
name box3
obj 5
parent 4
translate 2.0 0.0 0.0
obj 6
use 0
parent 5
scale 0.7 1.5 0.7
name box4

View File

Before

Width:  |  Height:  |  Size: 32 MiB

After

Width:  |  Height:  |  Size: 32 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 12 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.5 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 11 KiB

BIN
texture/laptop/Laptop.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 16 MiB

BIN
texture/table/Table.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.1 MiB