Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
7 changes: 1 addition & 6 deletions src/net/handler.rs
Original file line number Diff line number Diff line change
Expand Up @@ -135,12 +135,7 @@ pub fn handle_game_packet(
let _ = event_tx.try_send(NetworkEvent::BlockChangedAck { seq: p.seq });
}
ClientboundGamePacket::SetTime(p) => {
let day_time = p
.clock_updates
.values()
.next()
.map(|c| c.total_ticks)
.unwrap_or(0);
let day_time = p.clock_updates.values().next().map(|c| c.total_ticks);
let _ = event_tx.try_send(NetworkEvent::TimeUpdate {
game_time: p.game_time,
day_time,
Expand Down
2 changes: 1 addition & 1 deletion src/net/mod.rs
Original file line number Diff line number Diff line change
Expand Up @@ -69,7 +69,7 @@ pub enum NetworkEvent {
},
TimeUpdate {
game_time: u64,
day_time: u64,
day_time: Option<u64>,
},
GameModeChanged {
game_mode: u8,
Expand Down
17 changes: 13 additions & 4 deletions src/renderer/camera.rs
Original file line number Diff line number Diff line change
Expand Up @@ -68,10 +68,6 @@ impl Camera {
}
}

pub fn aspect_ratio(&self) -> f32 {
self.aspect_ratio
}

pub fn set_aspect_ratio(&mut self, aspect: f32) {
self.aspect_ratio = aspect;
}
Expand Down Expand Up @@ -146,6 +142,19 @@ impl Camera {
self.view_projection_with_fov(self.fov_radians(1.0))
}

pub fn sky_view_projection(&self) -> Mat4 {
let forward = self.forward_vec();
let look_dir = if self.mode == CameraMode::ThirdPersonFront {
-forward
} else {
forward
};
let view = Mat4::look_to_rh(Vec3::ZERO, look_dir, UP);
let mut proj = Mat4::perspective_rh(self.fov_radians(1.0), self.aspect_ratio, NEAR, FAR);
proj.y_axis.y *= -1.0;
proj * view
}

pub fn view_projection_with_fov(&self, fov: f32) -> Mat4 {
let forward = self.forward_vec();
let offset = self.third_person_offset();
Expand Down
11 changes: 5 additions & 6 deletions src/renderer/mod.rs
Original file line number Diff line number Diff line change
Expand Up @@ -717,10 +717,11 @@ impl Renderer {
entities: &[EntityRenderInfo],
item_entities: &[pipelines::item_entity::ItemRenderInfo],
) -> Result<(), RendererError> {
let sky_col = sky.sky_color();
self.render_frame(
window,
hide_cursor,
[0.0, 0.0, 0.0, 1.0],
[sky_col[0], sky_col[1], sky_col[2], 1.0],
RenderMode::World {
overlay,
swing_progress,
Expand Down Expand Up @@ -921,11 +922,9 @@ impl Renderer {
};
let acquire_ms = t_acquire.elapsed().as_secs_f32() * 1000.0;

if matches!(mode, RenderMode::World { .. }) {
let uniform = CameraUniform::new(
&self.camera,
[clear_color[0], clear_color[1], clear_color[2]],
);
if let RenderMode::World { ref sky, .. } = mode {
let fog = sky.fog_color();
let uniform = CameraUniform::new(&self.camera, fog);
self.chunk_pipeline.update_camera(frame, &uniform);
self.block_overlay_pipeline.update_camera(frame, &uniform);
self.entity_renderer.update_camera(frame, &uniform);
Expand Down
Loading
Loading