From 7679dd68398cc70162e96777a40db86a1c37eef8 Mon Sep 17 00:00:00 2001 From: HampusM Date: Fri, 21 Aug 2026 22:43:57 +0200 Subject: feat: replace sub cube with directional light & floor cube --- src/main.rs | 42 +++++++++++++++++++++++++++--------------- 1 file changed, 27 insertions(+), 15 deletions(-) (limited to 'src') diff --git a/src/main.rs b/src/main.rs index 09c3126..d890ce9 100644 --- a/src/main.rs +++ b/src/main.rs @@ -27,8 +27,8 @@ use engine::ecs::{pair, Query}; use engine::image::{Format as ImageFormat, Image}; use engine::input::keyboard::Keyboard; use engine::input::Extension as InputExtension; -use engine::lighting::{AttenuationParams, PointLight}; -use engine::material::{Flags as MaterialFlags, Material}; +use engine::lighting::DirectionalLight; +use engine::material::Material; use engine::mesh::Mesh; use engine::model::{Materials as ModelMaterials, Model, Spec as ModelSpec}; use engine::rendering::{ @@ -45,7 +45,7 @@ use engine::ui::dear_imgui::{ Extension as DearImguiExtension, TargetWindow as DearImguiTargetWindow, }; -use engine::vector::Vec3; +use engine::vector::{Angles, Vec3}; use engine::windowing::window::{ CreationAttributes as WindowCreationAttributes, CursorGrabMode as WindowCursorGrabMode, @@ -156,6 +156,23 @@ fn init(mut assets: Single, mut actions: Actions) -> Result<(), EngineEr ), ); + actions.spawn_named( + "Sunlight", + ( + DirectionalLight::builder() + .direction( + Vec3::FRONT + + Vec3::direction_from_deg_angles(Angles { + yaw: 40.0, + pitch: -45.0, + roll: 0.0, + }), + ) + .build(), + pair!(ChildOf, { scene_ent_id }), + ), + ); + actions.spawn_named( "Main camera", ( @@ -168,22 +185,18 @@ fn init(mut assets: Single, mut actions: Actions) -> Result<(), EngineEr ); actions.spawn_named( - "Sun cube", + "Floor", ( - PointLight::builder() - .diffuse(YELLOW) - .attenuation_params(AttenuationParams { - linear: 0.045, - quadratic: 0.0075, - ..Default::default() - }) - .build(), - Transform::default().position(Vec3 { x: -6.0, y: 3.0, z: 3.0 }), + Transform::default().position(Vec3 { x: 1.6, y: -3.0, z: 0.0 }), Model::new(assets.store_with_name_with("light_cube", |assets| { ModelSpec::builder() .mesh(assets.store_with_name( "light_cube_mesh", - Mesh::cube(Dimens3::from(2.0)), + Mesh::cube(Dimens3 { + width: 20.0, + height: 0.5, + depth: 20.0, + }), )) .materials(ModelMaterials::direct([( "surface", @@ -195,7 +208,6 @@ fn init(mut assets: Single, mut actions: Actions) -> Result<(), EngineEr .material_name("surface") .build() })), - MaterialFlags::builder().use_ambient_color(true).build(), pair!(ChildOf, { scene_ent_id }), ), ); -- cgit v1.2.3-18-g5258