summaryrefslogtreecommitdiff
path: root/engine/src/rendering/shader/default.rs
diff options
context:
space:
mode:
Diffstat (limited to 'engine/src/rendering/shader/default.rs')
-rw-r--r--engine/src/rendering/shader/default.rs44
1 files changed, 33 insertions, 11 deletions
diff --git a/engine/src/rendering/shader/default.rs b/engine/src/rendering/shader/default.rs
index 32cdc47..737916f 100644
--- a/engine/src/rendering/shader/default.rs
+++ b/engine/src/rendering/shader/default.rs
@@ -6,16 +6,21 @@ use crate::camera::{Active as ActiveCamera, Camera};
use crate::data_types::dimens::Dimens;
use crate::draw_flags::NoDraw;
use crate::ecs::actions::Actions;
-use crate::ecs::query::term::{Traverse, TraverseUp, With, Without};
use crate::ecs::pair::ChildOf;
+use crate::ecs::query::term::{Traverse, TraverseUp, With, Without};
use crate::ecs::sole::Single;
use crate::ecs::Query;
-use crate::lighting::{DirectionalLight, Environmental as EnvironmentalLighting, PointLight};
+use crate::lighting::{
+ DirectionalLight,
+ Environmental as EnvironmentalLighting,
+ PointLight,
+};
use crate::material::{Flags as MaterialFlags, Material};
use crate::matrix::Matrix;
use crate::model::{MaterialSearchResult, Model};
use crate::projection::{ClipVolume as ProjectionClipVolume, Projection};
use crate::rendering::shader::cursor::{
+ BindingTextureKind as ShaderBindingTextureKind,
BindingValue as ShaderBindingValue,
Cursor as ShaderCursor,
};
@@ -64,17 +69,17 @@ pub fn enqueue_set_shader_bindings(
&Camera,
&WorldPosition,
&ActiveCamera,
- Traverse<(With<Scene>, With<ActiveScene>), TraverseUp, ChildOf>
+ Traverse<(With<Scene>, With<ActiveScene>), TraverseUp, ChildOf>,
)>,
window_query: Query<(&Window, &SurfaceSpec, With<RenderingTargetWindow>)>,
point_light_query: Query<(
&PointLight,
&WorldPosition,
- Traverse<(With<Scene>, With<ActiveScene>), TraverseUp, ChildOf>
+ Traverse<(With<Scene>, With<ActiveScene>), TraverseUp, ChildOf>,
)>,
directional_light_query: Query<(
&DirectionalLight,
- Traverse<(With<Scene>, With<ActiveScene>), TraverseUp, ChildOf>
+ Traverse<(With<Scene>, With<ActiveScene>), TraverseUp, ChildOf>,
)>,
assets: Single<Assets>,
shader_context: Single<ShaderContext>,
@@ -95,7 +100,15 @@ pub fn enqueue_set_shader_bindings(
for (
entity_id,
- (model, environmental_lighting, material_flags, world_pos, scale, shader, mut pending_shader_bindings),
+ (
+ model,
+ environmental_lighting,
+ material_flags,
+ world_pos,
+ scale,
+ shader,
+ mut pending_shader_bindings,
+ ),
) in renderable_query.iter_with_euids()
{
let shader_asset = match &shader {
@@ -173,7 +186,7 @@ pub fn enqueue_set_shader_bindings(
let env_lighting = match &environmental_lighting {
Some(env_lighting) => &env_lighting,
- None => &EnvironmentalLighting::default()
+ None => &EnvironmentalLighting::default(),
};
let model_3d_shader_cursor = shader_cursor.field("Uniforms").field("model_3d");
@@ -189,9 +202,7 @@ pub fn enqueue_set_shader_bindings(
model_3d_shader_cursor
.field("model_inverted")
.binding(inverted_model_matrix.into())?,
- model_3d_shader_cursor
- .field("view")
- .binding(view.into())?,
+ model_3d_shader_cursor.field("view").binding(view.into())?,
lighting_shader_cursor
.field("view_pos")
.binding(camera_world_pos.position.into())?,
@@ -319,6 +330,7 @@ pub fn enqueue_set_shader_bindings(
})
.id()
.into(),
+ ShaderBindingTextureKind::Texture2D,
))?,
);
@@ -339,6 +351,7 @@ pub fn enqueue_set_shader_bindings(
})
.id()
.into(),
+ ShaderBindingTextureKind::Texture2D,
))?,
);
@@ -359,6 +372,7 @@ pub fn enqueue_set_shader_bindings(
})
.id()
.into(),
+ ShaderBindingTextureKind::Texture2D,
))?,
);
@@ -413,7 +427,15 @@ fn create_projection_matrix(
type RenderableEntity<'a> = (
&'a Model,
- Traverse<(Option<&'a EnvironmentalLighting>, With<Scene>, With<ActiveScene>), TraverseUp, ChildOf>,
+ Traverse<
+ (
+ Option<&'a EnvironmentalLighting>,
+ With<Scene>,
+ With<ActiveScene>,
+ ),
+ TraverseUp,
+ ChildOf,
+ >,
Option<&'a MaterialFlags>,
Option<&'a WorldPosition>,
Option<&'a Scale>,