Skip to content

Commit cc84201

Browse files
committed
Load colored 3d model for trees in level renderer
1 parent ad6d8cc commit cc84201

File tree

21 files changed

+316
-195
lines changed

21 files changed

+316
-195
lines changed

assets/levels/map.txt

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,14 +1,14 @@
11
-----------I---===---I----------
2-
| g g |
3-
| t | | t |
2+
| t t |
3+
| e | | e |
44
| | | |
55
| | | |
66
| | | |
77
| | | |
88
| | | |
99
L---===----| L----===---|
10-
| g g g g |
11-
| t t |
1210
| |
13-
| g g |
11+
| e e |
12+
| |
13+
| t t |
1414
L-------------- --------------|

assets/models/gun/gun-grip.png

-61.9 KB
Binary file not shown.

assets/models/gun/gun-metal.png

-13.5 KB
Binary file not shown.

assets/models/gun/gun.obj

Lines changed: 0 additions & 61 deletions
This file was deleted.

assets/models/tree/README.md

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
# Credit
2+
Inspired by [Low poly tree][lowpoly-tree]
3+
4+
[lowpoly-tree]: https://opengameart.org/content/low-poly-tree-1
Lines changed: 4 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,24 +1,22 @@
11
# Blender MTL File: 'None'
22
# Material Count: 2
33

4-
newmtl Grip
4+
newmtl Material.001
55
Ns 225.000000
66
Ka 1.000000 1.000000 1.000000
7-
Kd 0.800000 0.800000 0.800000
7+
Kd 0.134274 0.060378 0.000000
88
Ks 0.500000 0.500000 0.500000
99
Ke 0.000000 0.000000 0.000000
1010
Ni 1.450000
1111
d 1.000000
1212
illum 2
13-
map_Kd gun-grip.png
1413

15-
newmtl Metal
14+
newmtl Material.002
1615
Ns 225.000000
1716
Ka 1.000000 1.000000 1.000000
18-
Kd 0.800000 0.800000 0.800000
17+
Kd 0.080611 0.156410 0.025949
1918
Ks 0.500000 0.500000 0.500000
2019
Ke 0.000000 0.000000 0.000000
2120
Ni 1.450000
2221
d 1.000000
2322
illum 2
24-
map_Kd gun-metal.png

assets/models/tree/tree.obj

Lines changed: 156 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,156 @@
1+
# Blender v2.83.2 OBJ File: ''
2+
# www.blender.org
3+
mtllib tree.mtl
4+
o Cylinder
5+
v 0.000000 0.000000 -0.350000
6+
v -0.000000 0.650000 -0.175000
7+
v 0.247487 0.000000 -0.247487
8+
v 0.123744 0.650000 -0.123744
9+
v 0.350000 0.000000 0.000000
10+
v 0.175000 0.650000 0.000000
11+
v 0.247487 0.000000 0.247487
12+
v 0.123744 0.650000 0.123744
13+
v -0.000000 0.000000 0.350000
14+
v -0.000000 0.650000 0.175000
15+
v -0.247487 0.000000 0.247487
16+
v -0.123744 0.650000 0.123744
17+
v -0.350000 0.000000 -0.000000
18+
v -0.175000 0.650000 -0.000000
19+
v -0.247487 0.000000 -0.247487
20+
v -0.123744 0.650000 -0.123744
21+
v 0.185616 1.500000 -0.185616
22+
v -0.000000 1.500000 -0.262500
23+
v 0.262500 1.500000 0.000000
24+
v 0.185616 1.500000 0.185616
25+
v -0.000000 1.500000 0.262500
26+
v -0.185616 1.500000 0.185616
27+
v -0.262500 1.500000 -0.000000
28+
v -0.185616 1.500000 -0.185615
29+
vt 1.000000 0.500000
30+
vt 1.000000 1.000000
31+
vt 0.875000 1.000000
32+
vt 0.875000 0.500000
33+
vt 0.750000 1.000000
34+
vt 0.750000 0.500000
35+
vt 0.625000 1.000000
36+
vt 0.625000 0.500000
37+
vt 0.500000 1.000000
38+
vt 0.500000 0.500000
39+
vt 0.375000 1.000000
40+
vt 0.375000 0.500000
41+
vt 0.250000 1.000000
42+
vt 0.250000 0.500000
43+
vt 0.375000 1.000000
44+
vt 0.250000 1.000000
45+
vt 0.125000 1.000000
46+
vt 0.125000 0.500000
47+
vt 0.000000 1.000000
48+
vt 0.000000 0.500000
49+
vt 0.750000 0.490000
50+
vt 0.919706 0.419706
51+
vt 0.990000 0.250000
52+
vt 0.919706 0.080294
53+
vt 0.750000 0.010000
54+
vt 0.580294 0.080294
55+
vt 0.510000 0.250000
56+
vt 0.580294 0.419706
57+
vt 0.419706 0.419706
58+
vt 0.250000 0.490000
59+
vt 0.080294 0.419706
60+
vt 0.010000 0.250000
61+
vt 0.080294 0.080294
62+
vt 0.250000 0.010000
63+
vt 0.419706 0.080294
64+
vt 0.490000 0.250000
65+
vt 0.625000 1.000000
66+
vt 0.500000 1.000000
67+
vt 0.125000 1.000000
68+
vt 0.875000 1.000000
69+
vt 0.750000 1.000000
70+
vt 0.000000 1.000000
71+
vt 1.000000 1.000000
72+
vn 0.3714 0.2414 -0.8966
73+
vn 0.8966 0.2414 -0.3714
74+
vn 0.8966 0.2414 0.3714
75+
vn 0.3714 0.2414 0.8966
76+
vn -0.3714 0.2414 0.8966
77+
vn -0.8966 0.2414 0.3714
78+
vn -0.9197 -0.0947 0.3810
79+
vn -0.8966 0.2414 -0.3714
80+
vn -0.3714 0.2414 -0.8966
81+
vn 0.0000 -1.0000 0.0000
82+
vn 0.0000 1.0000 0.0000
83+
vn 0.3810 -0.0947 0.9197
84+
vn -0.9197 -0.0947 -0.3810
85+
vn 0.9197 -0.0947 -0.3810
86+
vn -0.3810 -0.0947 0.9197
87+
vn -0.3810 -0.0947 -0.9197
88+
vn 0.3810 -0.0947 -0.9197
89+
vn 0.9197 -0.0947 0.3810
90+
usemtl Material.001
91+
s off
92+
f 1/1/1 2/2/1 4/3/1 3/4/1
93+
f 3/4/2 4/3/2 6/5/2 5/6/2
94+
f 5/6/3 6/5/3 8/7/3 7/8/3
95+
f 7/8/4 8/7/4 10/9/4 9/10/4
96+
f 9/10/5 10/9/5 12/11/5 11/12/5
97+
f 11/12/6 12/11/6 14/13/6 13/14/6
98+
f 14/13/7 12/11/7 22/15/7 23/16/7
99+
f 13/14/8 14/13/8 16/17/8 15/18/8
100+
f 15/18/9 16/17/9 2/19/9 1/20/9
101+
f 1/21/10 3/22/10 5/23/10 7/24/10 9/25/10 11/26/10 13/27/10 15/28/10
102+
f 17/29/11 18/30/11 24/31/11 23/32/11 22/33/11 21/34/11 20/35/11 19/36/11
103+
f 10/9/12 8/7/12 20/37/12 21/38/12
104+
f 16/17/13 14/13/13 23/16/13 24/39/13
105+
f 6/5/14 4/3/14 17/40/14 19/41/14
106+
f 12/11/15 10/9/15 21/38/15 22/15/15
107+
f 2/19/16 16/17/16 24/39/16 18/42/16
108+
f 4/3/17 2/2/17 18/43/17 17/40/17
109+
f 8/7/18 6/5/18 19/41/18 20/37/18
110+
o Cone
111+
v 0.000000 1.000000 -1.000000
112+
v 0.707107 1.000000 -0.707107
113+
v 1.000000 1.000000 0.000000
114+
v 0.707107 1.000000 0.707107
115+
v -0.000000 1.000000 1.000000
116+
v -0.707107 1.000000 0.707107
117+
v -1.000000 1.000000 -0.000000
118+
v -0.707107 1.000000 -0.707107
119+
v 0.000000 3.000000 0.000000
120+
vt 0.250000 0.490000
121+
vt 0.250000 0.250000
122+
vt 0.419706 0.419706
123+
vt 0.490000 0.250000
124+
vt 0.419706 0.080294
125+
vt 0.250000 0.010000
126+
vt 0.080294 0.080294
127+
vt 0.010000 0.250000
128+
vt 0.080294 0.419706
129+
vt 0.750000 0.490000
130+
vt 0.919706 0.419706
131+
vt 0.990000 0.250000
132+
vt 0.919706 0.080294
133+
vt 0.750000 0.010000
134+
vt 0.580294 0.080294
135+
vt 0.510000 0.250000
136+
vt 0.580294 0.419706
137+
vn 0.3474 0.4194 -0.8387
138+
vn 0.8387 0.4194 -0.3474
139+
vn 0.8387 0.4194 0.3474
140+
vn 0.3474 0.4194 0.8387
141+
vn -0.3474 0.4194 0.8387
142+
vn -0.8387 0.4194 0.3474
143+
vn -0.8387 0.4194 -0.3474
144+
vn -0.3474 0.4194 -0.8387
145+
vn 0.0000 -1.0000 0.0000
146+
usemtl Material.002
147+
s off
148+
f 25/44/19 33/45/19 26/46/19
149+
f 26/46/20 33/45/20 27/47/20
150+
f 27/47/21 33/45/21 28/48/21
151+
f 28/48/22 33/45/22 29/49/22
152+
f 29/49/23 33/45/23 30/50/23
153+
f 30/50/24 33/45/24 31/51/24
154+
f 31/51/25 33/45/25 32/52/25
155+
f 32/52/26 33/45/26 25/44/26
156+
f 25/53/27 26/54/27 27/55/27 28/56/27 29/57/27 30/58/27 31/59/27 32/60/27

include/entities/gun.hpp renamed to include/entities/model.hpp

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -3,17 +3,17 @@
33

44
#include "render/model_renderer.hpp"
55

6-
/* Encapsulates 3D model for gun & stick it at bottom of screen */
7-
class Gun {
6+
/* Encapsulates 3D model with its renderer for gun */
7+
class Model {
88
private:
99
// program declared first (i.e. init first) as it's needed by renderer
1010
// https://stackoverflow.com/a/41886567/2228912
1111
Program m_program;
12-
Model m_model;
12+
AssimpUtil::Model m_model;
1313
ModelRenderer m_renderer;
1414

1515
public:
16-
Gun(Assimp::Importer& importer);
16+
Model(Assimp::Importer& importer, const std::string& path, const Program& program);
1717
void draw(const Uniforms& uniforms={});
1818
void set_transform(const Transformation& t);
1919
void free();

include/entities/player.hpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,7 @@ struct Player {
2828
Program m_program;
2929

3030
/* delegate drawing to model renderer */
31-
Model m_model;
31+
AssimpUtil::Model m_model;
3232
ModelRenderer m_renderer;
3333
};
3434

include/levels/tilemap.hpp

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -17,10 +17,10 @@ struct Tilemap {
1717
SPACE = ' ',
1818

1919
// interactive characters
20-
TARGET = 't',
20+
ENEMMY = 'e',
2121

2222
// props
23-
GRASS = 'g',
23+
TREE = 't',
2424

2525
// compounds wall composed of two perpendicular walls
2626
WALL_L = 'L',

0 commit comments

Comments
 (0)