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 {
use super::*;
use crate::colormap::{HIGHLAND_COLOR, LOWLAND_COLOR, SNOW_COLOR, WATER_COLOR};
use crate::scene::{Hydrology, Scene};
fn fixture_scene() -> Scene {
Scene::default()
}
fn dry_scene() -> Scene {
Scene {
hydrology: Hydrology {
lake_radius: 0.0,
river_width: 0.0,
..Hydrology::default()
},
..Scene::default()
}
}
#[test]
fn render_matches_grid_dimensions() {
let grid = HeightGrid::plane(8, 5).unwrap();
@@ -484,17 +496,17 @@ mod tests {
#[test]
fn render_center_of_hill_is_snow() {
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);
}
#[test]
fn render_top_down_applies_vertical_exaggeration() {
let grid = HeightGrid::new(1, 1, vec![3.0]).unwrap();
let low_scene = fixture_scene();
let low_scene = dry_scene();
let high_scene = Scene {
vertical_exaggeration: 2.0,
..fixture_scene()
..dry_scene()
};
let low_img = render_top_down(&grid, &low_scene);