Generalize tiles per chunk row
This commit is contained in:
+12
-10
@@ -128,28 +128,30 @@ fn main() {
|
|||||||
flat out uint v_biome;
|
flat out uint v_biome;
|
||||||
|
|
||||||
const uint TILE_SIZE = 4u;
|
const uint TILE_SIZE = 4u;
|
||||||
|
const uint TILES_PER_CHUNK_ROW = 250u;
|
||||||
|
const uint TRIANGLES_PER_CHUNK_ROW = TILES_PER_CHUNK_ROW * 2u + 2u;
|
||||||
|
|
||||||
void main() {
|
void main() {
|
||||||
uint index_mod_502 = index % 502u;
|
uint index_mod_triangles_per_chunk_row = index % TRIANGLES_PER_CHUNK_ROW;
|
||||||
uint index_div_502 = index / 502u;
|
uint index_div_triangles_per_chunk_row = index / TRIANGLES_PER_CHUNK_ROW;
|
||||||
uint index_div_502_mod_2 = index_div_502 % 2u;
|
uint index_div_triangles_per_chunk_row_mod_2 = index_div_triangles_per_chunk_row % 2u;
|
||||||
uint index_mod_502_div_2 = index_mod_502 / 2u;
|
uint index_mod_triangles_per_chunk_row_div_2 = index_mod_triangles_per_chunk_row / 2u;
|
||||||
|
|
||||||
uint x = index_div_502_mod_2 == 0u ? index_mod_502_div_2 : 250u - index_mod_502_div_2;
|
uint x = index_div_triangles_per_chunk_row_mod_2 == 0u ? index_mod_triangles_per_chunk_row_div_2 : TILES_PER_CHUNK_ROW - index_mod_triangles_per_chunk_row_div_2;
|
||||||
uint z = index_div_502 + index % 2u;
|
uint z = index_div_triangles_per_chunk_row + index % 2u;
|
||||||
|
|
||||||
switch (index % 4u) {
|
switch (index % 4u) {
|
||||||
case 0u:
|
case 0u:
|
||||||
v_tex_coords = vec2(index_div_502_mod_2, 0);
|
v_tex_coords = vec2(index_div_triangles_per_chunk_row_mod_2, 0);
|
||||||
break;
|
break;
|
||||||
case 1u:
|
case 1u:
|
||||||
v_tex_coords = vec2(index_div_502_mod_2, 1);
|
v_tex_coords = vec2(index_div_triangles_per_chunk_row_mod_2, 1);
|
||||||
break;
|
break;
|
||||||
case 2u:
|
case 2u:
|
||||||
v_tex_coords = vec2(1u - index_div_502_mod_2, 0);
|
v_tex_coords = vec2(1u - index_div_triangles_per_chunk_row_mod_2, 0);
|
||||||
break;
|
break;
|
||||||
default: // case 3u
|
default: // case 3u
|
||||||
v_tex_coords = vec2(1u - index_div_502_mod_2, 1);
|
v_tex_coords = vec2(1u - index_div_triangles_per_chunk_row_mod_2, 1);
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
v_biome = biome;
|
v_biome = biome;
|
||||||
|
|||||||
@@ -13,6 +13,8 @@ pub struct CameraState {
|
|||||||
rotate_right: bool,
|
rotate_right: bool,
|
||||||
}
|
}
|
||||||
|
|
||||||
|
const SPEED: f32 = 1.0; //1.0;
|
||||||
|
|
||||||
impl CameraState {
|
impl CameraState {
|
||||||
pub fn new() -> CameraState {
|
pub fn new() -> CameraState {
|
||||||
CameraState {
|
CameraState {
|
||||||
@@ -118,8 +120,6 @@ impl CameraState {
|
|||||||
s.0 * f.1 - s.1 * f.0,
|
s.0 * f.1 - s.1 * f.0,
|
||||||
);
|
);
|
||||||
|
|
||||||
const SPEED: f32 = 100.0; //1.0;
|
|
||||||
|
|
||||||
if self.moving_up {
|
if self.moving_up {
|
||||||
self.position.0 += u.0 * SPEED;
|
self.position.0 += u.0 * SPEED;
|
||||||
self.position.1 += u.1 * SPEED;
|
self.position.1 += u.1 * SPEED;
|
||||||
|
|||||||
Reference in New Issue
Block a user