summaryrefslogtreecommitdiff
path: root/engine/src/renderer/opengl.rs
diff options
context:
space:
mode:
Diffstat (limited to 'engine/src/renderer/opengl.rs')
-rw-r--r--engine/src/renderer/opengl.rs29
1 files changed, 14 insertions, 15 deletions
diff --git a/engine/src/renderer/opengl.rs b/engine/src/renderer/opengl.rs
index 00ce2f8..858a899 100644
--- a/engine/src/renderer/opengl.rs
+++ b/engine/src/renderer/opengl.rs
@@ -65,7 +65,7 @@ use crate::projection::{ClipVolume, Projection};
use crate::renderer::opengl::vertex::{AttributeComponentType, Vertex};
use crate::renderer::RENDER_PHASE;
use crate::texture::{Id as TextureId, Texture};
-use crate::transform::{Position, Scale};
+use crate::transform::{Scale, WorldPosition};
use crate::util::{defer, Defer, RefOrValue};
use crate::vector::{Vec2, Vec3};
use crate::window::Window;
@@ -76,7 +76,7 @@ type RenderableEntity<'a> = (
&'a Mesh,
&'a Material,
Option<&'a MaterialFlags>,
- Option<&'a Position>,
+ Option<&'a WorldPosition>,
Option<&'a Scale>,
Option<&'a DrawFlags>,
Option<&'a GlObjects>,
@@ -137,16 +137,16 @@ fn initialize(window: Single<Window>)
#[allow(clippy::too_many_arguments)]
fn render(
query: Query<RenderableEntity<'_>, (Without<NoDraw>,)>,
- point_light_query: Query<(&PointLight, &Position)>,
+ point_light_query: Query<(&PointLight, &WorldPosition)>,
directional_lights: Query<(&DirectionalLight,)>,
- camera_query: Query<(&Camera, &Position, &ActiveCamera)>,
+ camera_query: Query<(&Camera, &WorldPosition, &ActiveCamera)>,
window: Single<Window>,
global_light: Single<GlobalLight>,
mut gl_objects: Local<GlobalGlObjects>,
mut actions: Actions,
)
{
- let Some((camera, camera_pos, _)) = camera_query.iter().next() else {
+ let Some((camera, camera_world_pos, _)) = camera_query.iter().next() else {
tracing::warn!("No current camera. Nothing will be rendered");
return;
};
@@ -190,7 +190,7 @@ fn render(
},
shader_program,
&camera,
- &camera_pos,
+ &camera_world_pos,
window.size().expect("Failed to get window size"),
);
@@ -205,7 +205,7 @@ fn render(
.map(|(dir_light,)| &**dir_light)
.collect::<Vec<_>>()
.as_slice(),
- &camera_pos,
+ &camera_world_pos,
);
for (index, texture) in material.textures.iter().enumerate() {
@@ -442,14 +442,14 @@ fn apply_transformation_matrices(
transformation: Transformation,
gl_shader_program: &mut GlShaderProgram,
camera: &Camera,
- camera_pos: &Position,
+ camera_world_pos: &WorldPosition,
window_size: Dimens<u32>,
)
{
gl_shader_program
.set_uniform(c"model", &create_transformation_matrix(transformation));
- let view_matrix = create_view_matrix(camera, &camera_pos.position);
+ let view_matrix = create_view_matrix(camera, &camera_world_pos.position);
gl_shader_program.set_uniform(c"view", &view_matrix);
@@ -459,9 +459,8 @@ fn apply_transformation_matrices(
window_size.width as f32 / window_size.height as f32,
ClipVolume::NegOneToOne,
),
- Projection::Orthographic(orthographic_proj) => {
- orthographic_proj.to_matrix_rh(&camera_pos.position, ClipVolume::NegOneToOne)
- }
+ Projection::Orthographic(orthographic_proj) => orthographic_proj
+ .to_matrix_rh(&camera_world_pos.position, ClipVolume::NegOneToOne),
};
gl_shader_program.set_uniform(c"projection", &proj_matrix);
@@ -476,13 +475,13 @@ fn apply_light<'point_light>(
impl Iterator<
Item = (
ComponentHandle<'point_light, PointLight>,
- ComponentHandle<'point_light, Position>,
+ ComponentHandle<'point_light, WorldPosition>,
),
>,
usize,
),
directional_lights: &[&DirectionalLight],
- camera_pos: &Position,
+ camera_world_pos: &WorldPosition,
)
{
debug_assert!(
@@ -588,7 +587,7 @@ fn apply_light<'point_light>(
gl_shader_program.set_uniform(c"material.shininess", &material.shininess);
- gl_shader_program.set_uniform(c"view_pos", &camera_pos.position);
+ gl_shader_program.set_uniform(c"view_pos", &camera_world_pos.position);
}
fn set_light_attenuation_uniforms(