Generalize tiles per chunk row

This commit is contained in:
2022-10-23 03:40:14 +02:00
parent 0694b1ef92
commit 9f64ebc0f9
2 changed files with 14 additions and 12 deletions
+12 -10
View File
@@ -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;
+2 -2
View File
@@ -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;