feat: wire vertical exaggeration through the shell #13

Merged
moldybits merged 25 commits from feat/terrain-gen-abstraction into main 2026-05-20 23:00:29 -04:00
Showing only changes of commit 986236e2d9 - Show all commits
+15 -3
View File
@@ -420,11 +420,23 @@ pub fn render_perspective_to_path(
mod tests { mod tests {
use super::*; use super::*;
use crate::colormap::{HIGHLAND_COLOR, LOWLAND_COLOR, SNOW_COLOR, WATER_COLOR}; use crate::colormap::{HIGHLAND_COLOR, LOWLAND_COLOR, SNOW_COLOR, WATER_COLOR};
use crate::scene::{Hydrology, Scene};
fn fixture_scene() -> Scene { fn fixture_scene() -> Scene {
Scene::default() Scene::default()
} }
fn dry_scene() -> Scene {
Scene {
hydrology: Hydrology {
lake_radius: 0.0,
river_width: 0.0,
..Hydrology::default()
},
..Scene::default()
}
}
#[test] #[test]
fn render_matches_grid_dimensions() { fn render_matches_grid_dimensions() {
let grid = HeightGrid::plane(8, 5).unwrap(); let grid = HeightGrid::plane(8, 5).unwrap();
@@ -484,17 +496,17 @@ mod tests {
#[test] #[test]
fn render_center_of_hill_is_snow() { fn render_center_of_hill_is_snow() {
let grid = HeightGrid::radial_hill(5, 5, 10.0).unwrap(); let grid = HeightGrid::radial_hill(5, 5, 10.0).unwrap();
let img = render_top_down(&grid, &fixture_scene()); let img = render_top_down(&grid, &dry_scene());
assert_eq!(img.get_pixel(2, 2).0, SNOW_COLOR); assert_eq!(img.get_pixel(2, 2).0, SNOW_COLOR);
} }
#[test] #[test]
fn render_top_down_applies_vertical_exaggeration() { fn render_top_down_applies_vertical_exaggeration() {
let grid = HeightGrid::new(1, 1, vec![3.0]).unwrap(); let grid = HeightGrid::new(1, 1, vec![3.0]).unwrap();
let low_scene = fixture_scene(); let low_scene = dry_scene();
let high_scene = Scene { let high_scene = Scene {
vertical_exaggeration: 2.0, vertical_exaggeration: 2.0,
..fixture_scene() ..dry_scene()
}; };
let low_img = render_top_down(&grid, &low_scene); let low_img = render_top_down(&grid, &low_scene);