Skip to content

Commit 37763be

Browse files
committed
add tall grass
1 parent fb75979 commit 37763be

File tree

2 files changed

+165
-0
lines changed

2 files changed

+165
-0
lines changed

src/client/scripts/World/AnimatedTextureAtlas.js

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -120,6 +120,7 @@ class AnimatedTextureAtlas {
120120
map: null,
121121
vertexColors: true,
122122
transparent: true,
123+
alphaTest: 0.1,
123124
});
124125
this.atlasCreator = new TextureAtlasCreator({
125126
textureX: this.game.al.get("blocksAtlasFull"),

src/client/scripts/World/ChunkMesher.js

Lines changed: 164 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -152,6 +152,153 @@ const CustomRender = {
152152
}
153153
}
154154
},
155+
grass: function (
156+
t_positions,
157+
t_normals,
158+
t_uvs,
159+
t_colors,
160+
positions,
161+
normals,
162+
uvs,
163+
colors,
164+
pos
165+
) {
166+
const uv = this.getUV("grass");
167+
console.log(uv);
168+
// prettier-ignore
169+
const faceVertex = {
170+
pos: [
171+
-0.4 + pos[0], -0.5 + pos[1], 0.4 + pos[2],
172+
0.4 + pos[0], -0.5 + pos[1], -0.4 + pos[2],
173+
-0.4 + pos[0], 0.4 + pos[1], 0.4 + pos[2],
174+
-0.4 + pos[0], 0.4 + pos[1], 0.4 + pos[2],
175+
0.4 + pos[0], -0.5 + pos[1], -0.4 + pos[2],
176+
0.4 + pos[0], 0.4 + pos[1], -0.4 + pos[2],
177+
178+
-0.4 + pos[0], -0.5 + pos[1], -0.4 + pos[2],
179+
0.4 + pos[0], -0.5 + pos[1], 0.4 + pos[2],
180+
-0.4 + pos[0], 0.4 + pos[1], -0.4 + pos[2],
181+
-0.4 + pos[0], 0.4 + pos[1], -0.4 + pos[2],
182+
0.4 + pos[0], -0.5 + pos[1], 0.4 + pos[2],
183+
0.4 + pos[0], 0.4 + pos[1], 0.4 + pos[2],
184+
185+
0.4 + pos[0], -0.5 + pos[1], -0.4 + pos[2],
186+
-0.4 + pos[0], -0.5 + pos[1], 0.4 + pos[2],
187+
-0.4 + pos[0], 0.4 + pos[1], 0.4 + pos[2],
188+
189+
0.4 + pos[0], -0.5 + pos[1], -0.4 + pos[2],
190+
-0.4 + pos[0], 0.4 + pos[1], 0.4 + pos[2],
191+
0.4 + pos[0], 0.4 + pos[1], -0.4 + pos[2],
192+
193+
0.4 + pos[0], -0.5 + pos[1], 0.4 + pos[2],
194+
-0.4 + pos[0], -0.5 + pos[1], -0.4 + pos[2],
195+
-0.4 + pos[0], 0.4 + pos[1], -0.4 + pos[2],
196+
197+
0.4 + pos[0], -0.5 + pos[1], 0.4 + pos[2],
198+
-0.4 + pos[0], 0.4 + pos[1], -0.4 + pos[2],
199+
0.4 + pos[0], 0.4 + pos[1], 0.4 + pos[2],
200+
],
201+
norm: [
202+
0, 0, 1,
203+
0, 0, 1,
204+
0, 0, 1,
205+
0, 0, 1,
206+
0, 0, 1,
207+
0, 0, 1,
208+
0, 0, 1,
209+
0, 0, 1,
210+
0, 0, 1,
211+
0, 0, 1,
212+
0, 0, 1,
213+
0, 0, 1,
214+
215+
0, 0, 1,
216+
0, 0, 1,
217+
0, 0, 1,
218+
0, 0, 1,
219+
0, 0, 1,
220+
0, 0, 1,
221+
0, 0, 1,
222+
0, 0, 1,
223+
0, 0, 1,
224+
0, 0, 1,
225+
0, 0, 1,
226+
0, 0, 1,
227+
],
228+
uv: [
229+
...uv[0],
230+
...uv[2],
231+
...uv[1],
232+
233+
...uv[1],
234+
...uv[2],
235+
...uv[3],
236+
237+
...uv[0],
238+
...uv[2],
239+
...uv[1],
240+
241+
...uv[1],
242+
...uv[2],
243+
...uv[3],
244+
245+
...uv[2],
246+
...uv[0],
247+
...uv[1],
248+
249+
...uv[2],
250+
...uv[1],
251+
...uv[3],
252+
253+
...uv[2],
254+
...uv[0],
255+
...uv[1],
256+
257+
...uv[2],
258+
...uv[1],
259+
...uv[3],
260+
],
261+
color: [
262+
0.1, 1, 0.1,
263+
0.1, 1, 0.1,
264+
0.1, 1, 0.1,
265+
0.1, 1, 0.1,
266+
0.1, 1, 0.1,
267+
0.1, 1, 0.1,
268+
0.1, 1, 0.1,
269+
0.1, 1, 0.1,
270+
0.1, 1, 0.1,
271+
0.1, 1, 0.1,
272+
0.1, 1, 0.1,
273+
0.1, 1, 0.1,
274+
0.1, 1, 0.1,
275+
0.1, 1, 0.1,
276+
0.1, 1, 0.1,
277+
0.1, 1, 0.1,
278+
0.1, 1, 0.1,
279+
0.1, 1, 0.1,
280+
0.1, 1, 0.1,
281+
0.1, 1, 0.1,
282+
0.1, 1, 0.1,
283+
0.1, 1, 0.1,
284+
0.1, 1, 0.1,
285+
0.1, 1, 0.1,
286+
]
287+
}
288+
289+
this.push(
290+
t_positions,
291+
t_normals,
292+
t_uvs,
293+
t_colors,
294+
positions,
295+
normals,
296+
uvs,
297+
colors,
298+
faceVertex,
299+
true
300+
);
301+
},
155302
};
156303

157304
class ChunkMesher {
@@ -177,6 +324,23 @@ class ChunkMesher {
177324
}
178325
}
179326

327+
getUV(name) {
328+
let { x: toxX, y: toxY } = this.blocksMapping[name];
329+
console.log(toxX);
330+
toxX -= 1;
331+
toxY -= 1;
332+
const x1 = this.q * toxX;
333+
const y1 = 1 - this.q * toxY - this.q;
334+
const x2 = this.q * toxX + this.q;
335+
const y2 = 1 - this.q * toxY;
336+
return [
337+
[x1, y1],
338+
[x1, y2],
339+
[x2, y1],
340+
[x2, y2],
341+
];
342+
}
343+
180344
getUvForFace(block, type) {
181345
var xd, toxX, toxY;
182346
if (

0 commit comments

Comments
 (0)