add directional light, disable ambient light
This commit is contained in:
parent
ec1f7cf96c
commit
f337a6024c
44
src/world.rs
44
src/world.rs
|
@ -3,6 +3,8 @@ use bevy::prelude::*;
|
||||||
use bevy::core_pipeline::Skybox;
|
use bevy::core_pipeline::Skybox;
|
||||||
use bevy::asset::LoadState;
|
use bevy::asset::LoadState;
|
||||||
use bevy::render::render_resource::{TextureViewDescriptor, TextureViewDimension};
|
use bevy::render::render_resource::{TextureViewDescriptor, TextureViewDimension};
|
||||||
|
use bevy::pbr::CascadeShadowConfigBuilder;
|
||||||
|
use std::f32::consts::PI;
|
||||||
|
|
||||||
#[derive(Resource)]
|
#[derive(Resource)]
|
||||||
pub struct Cubemap {
|
pub struct Cubemap {
|
||||||
|
@ -16,6 +18,7 @@ pub fn setup(
|
||||||
mut commands: Commands,
|
mut commands: Commands,
|
||||||
mut meshes: ResMut<Assets<Mesh>>,
|
mut meshes: ResMut<Assets<Mesh>>,
|
||||||
mut materials: ResMut<Assets<StandardMaterial>>,
|
mut materials: ResMut<Assets<StandardMaterial>>,
|
||||||
|
mut ambient_light: ResMut<AmbientLight>,
|
||||||
asset_server: Res<AssetServer>,
|
asset_server: Res<AssetServer>,
|
||||||
) {
|
) {
|
||||||
// Add skybox
|
// Add skybox
|
||||||
|
@ -37,10 +40,10 @@ pub fn setup(
|
||||||
});
|
});
|
||||||
|
|
||||||
// Add spheres
|
// Add spheres
|
||||||
let sphere_radius = 0.25;
|
let sphere_radius = 1.0;
|
||||||
let sphere_handle = meshes.add(Sphere::new(sphere_radius));
|
let sphere_handle = meshes.add(Sphere::new(sphere_radius));
|
||||||
let white_handle = materials.add(StandardMaterial {
|
let white_handle = materials.add(StandardMaterial {
|
||||||
base_color: Color::WHITE,
|
base_color: Color::GRAY,
|
||||||
perceptual_roughness: 1.0,
|
perceptual_roughness: 1.0,
|
||||||
..default()
|
..default()
|
||||||
});
|
});
|
||||||
|
@ -54,6 +57,43 @@ pub fn setup(
|
||||||
),
|
),
|
||||||
..default()
|
..default()
|
||||||
});
|
});
|
||||||
|
|
||||||
|
// Space is DARK
|
||||||
|
ambient_light.brightness = 0.0;
|
||||||
|
|
||||||
|
// Add Light
|
||||||
|
commands.spawn(PointLightBundle {
|
||||||
|
transform: Transform::from_xyz(5.0, 5.0, 0.0),
|
||||||
|
point_light: PointLight {
|
||||||
|
intensity: 0.0,
|
||||||
|
range: 500.0,
|
||||||
|
color: Color::WHITE,
|
||||||
|
shadows_enabled: true,
|
||||||
|
..default()
|
||||||
|
},
|
||||||
|
..default()
|
||||||
|
});
|
||||||
|
|
||||||
|
commands.spawn(DirectionalLightBundle {
|
||||||
|
directional_light: DirectionalLight {
|
||||||
|
illuminance: light_consts::lux::OVERCAST_DAY,
|
||||||
|
shadows_enabled: true,
|
||||||
|
..default()
|
||||||
|
},
|
||||||
|
transform: Transform::from_rotation(Quat::from_euler(
|
||||||
|
EulerRot::ZYX,
|
||||||
|
0.0,
|
||||||
|
PI / 2.,
|
||||||
|
-PI / 4.,
|
||||||
|
)),
|
||||||
|
cascade_shadow_config: CascadeShadowConfigBuilder {
|
||||||
|
first_cascade_far_bound: 7.0,
|
||||||
|
maximum_distance: 25.0,
|
||||||
|
..default()
|
||||||
|
}
|
||||||
|
.into(),
|
||||||
|
..default()
|
||||||
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
pub fn load_cubemap_asset(
|
pub fn load_cubemap_asset(
|
||||||
|
|
Loading…
Reference in a new issue