summaryrefslogtreecommitdiff
path: root/engine/src/lighting.rs
diff options
context:
space:
mode:
Diffstat (limited to 'engine/src/lighting.rs')
-rw-r--r--engine/src/lighting.rs21
1 files changed, 21 insertions, 0 deletions
diff --git a/engine/src/lighting.rs b/engine/src/lighting.rs
index ffa2645..398161f 100644
--- a/engine/src/lighting.rs
+++ b/engine/src/lighting.rs
@@ -1,6 +1,7 @@
use ecs::{Component, Sole};
use crate::color::Color;
+use crate::data_types::vector::Vec3;
use crate::util::builder;
builder! {
@@ -65,6 +66,26 @@ impl Default for AttenuationParams
}
builder! {
+#[builder(name = DirectionalLightBuilder, derives = (Debug, Default, Clone))]
+#[derive(Debug, Default, Clone, Component)]
+#[non_exhaustive]
+pub struct DirectionalLight
+{
+ pub diffuse: Color<f32>,
+ pub specular: Color<f32>,
+ pub direction: Vec3<f32>,
+}
+}
+
+impl DirectionalLight
+{
+ pub fn builder() -> DirectionalLightBuilder
+ {
+ DirectionalLightBuilder::default()
+ }
+}
+
+builder! {
/// Global light properties.
#[builder(name = GlobalLightBuilder, derives = (Debug, Clone, Default))]
#[derive(Debug, Clone, Default, Sole)]