summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorHampusM <hampus@hampusmat.com>2026-08-21 22:43:57 +0200
committerHampusM <hampus@hampusmat.com>2026-08-21 22:43:57 +0200
commit7679dd68398cc70162e96777a40db86a1c37eef8 (patch)
treeb3a37137522f1d3a106911cd5aeeab0c937739ce /src
parent908ef391e407b59a0526ca1b2aa149eb6e4c498c (diff)
feat: replace sub cube with directional light & floor cube
Diffstat (limited to 'src')
-rw-r--r--src/main.rs42
1 files changed, 27 insertions, 15 deletions
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,
@@ -157,6 +157,23 @@ fn init(mut assets: Single<Assets>, 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",
(
Camera::default(),
@@ -168,22 +185,18 @@ fn init(mut assets: Single<Assets>, 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<Assets>, mut actions: Actions) -> Result<(), EngineEr
.material_name("surface")
.build()
})),
- MaterialFlags::builder().use_ambient_color(true).build(),
pair!(ChildOf, { scene_ent_id }),
),
);