getting somewhere

This commit is contained in:
griffi-gh 2023-01-18 03:58:48 +01:00
parent 37ab56115f
commit 4bd7371f84
2 changed files with 8 additions and 4 deletions

View file

@ -3,6 +3,9 @@ name = "kubi"
version = "0.1.0"
edition = "2021"
[profile.dev.package.noise]
opt-level = 3
[dependencies]
glium = "0.32"
image = { version = "0.24", default_features = false, features = ["png"] }

View file

@ -9,7 +9,8 @@ const HEIGHTMAP_SCALE: f64 = 0.004;
const MOUNTAINESS_SCALE: f64 = 0.0001;
const MNT_RAMP_1: f64 = 0.5;
const MNT_RAMP_2: f64 = 0.6;
const TERRAIN_HEIGHT_MIN: f64 = 64.;
const MTN_VAL_SCALE: f64 = 1.233;
const TERRAIN_HEIGHT_MIN: f64 = 60.;
const TERRAIN_HEIGHT_MAX: f64 = 80.;
pub fn generate_chunk(position: IVec2, seed: u32) -> ChunkData {
@ -29,19 +30,19 @@ pub fn generate_chunk(position: IVec2, seed: u32) -> ChunkData {
let point = world_xz.as_dvec2() + DVec2::from_array([x as f64, z as f64]);
let heightmap = (terrain_base_fbm.get((point * HEIGHTMAP_SCALE).to_array()) + 1.) / 2.;
let mountainess = (mountainess_base_fbm.get((point * MOUNTAINESS_SCALE).to_array()) + 1.) / 2.;
let mountainess = MTN_VAL_SCALE * ((mountainess_base_fbm.get((point * MOUNTAINESS_SCALE).to_array()) + 1.) / 2.);
//generate basic terrain
let terain_height =
(
TERRAIN_HEIGHT_MIN +
(heightmap * TERRAIN_HEIGHT_MAX * (1. + if mountainess < MNT_RAMP_1 {
(heightmap * TERRAIN_HEIGHT_MAX * (0.1 + 1.5 * if mountainess < MNT_RAMP_1 {
0.
} else {
if mountainess > MNT_RAMP_2 {
1.
} else {
mountainess - MNT_RAMP_1
(mountainess - MNT_RAMP_1) / (MNT_RAMP_2 - MNT_RAMP_1) * 1.
}
}))
).floor() as usize;