From 5a878019dcb88f4b763474239590d109e0c6cb3d Mon Sep 17 00:00:00 2001 From: Rob Parrett Date: Tue, 17 Dec 2024 12:29:43 -0700 Subject: [PATCH] Remove redundant time property --- src/render/chunk.rs | 8 +------- src/render/extract.rs | 4 +--- src/render/mod.rs | 4 ---- src/render/prepare.rs | 8 ++------ src/render/shaders/common.wgsl | 2 -- src/render/shaders/tilemap_vertex.wgsl | 4 ++-- 6 files changed, 6 insertions(+), 24 deletions(-) diff --git a/src/render/chunk.rs b/src/render/chunk.rs index da9da83e..b3170819 100644 --- a/src/render/chunk.rs +++ b/src/render/chunk.rs @@ -6,7 +6,7 @@ use bevy::render::{mesh::BaseMeshPipelineKey, primitives::Aabb}; use bevy::{math::Mat4, render::mesh::PrimitiveTopology}; use bevy::{ math::{UVec2, UVec3, UVec4, Vec2, Vec3Swizzles, Vec4, Vec4Swizzles}, - prelude::{Component, Entity, GlobalTransform, Mesh, Vec3}, + prelude::{Component, Entity, GlobalTransform, Mesh}, render::{ mesh::{Indices, RenderMesh, RenderMeshBufferInfo, VertexAttributeValues}, render_resource::{BufferInitDescriptor, BufferUsages, ShaderType}, @@ -480,8 +480,6 @@ pub struct TilemapUniformData { pub spacing: Vec2, pub chunk_pos: Vec2, pub map_size: Vec2, - pub time: f32, - pub pad: Vec3, } impl From<&RenderChunk2d> for TilemapUniformData { @@ -497,8 +495,6 @@ impl From<&RenderChunk2d> for TilemapUniformData { spacing: chunk.spacing, chunk_pos: chunk_ix * chunk_size, map_size: map_size * tile_size, - time: 0.0, - pad: Vec3::ZERO, } } } @@ -516,8 +512,6 @@ impl From<&mut RenderChunk2d> for TilemapUniformData { spacing: chunk.spacing, chunk_pos: chunk_pos * chunk_size, map_size: map_size * tile_size, - time: 0.0, - pad: Vec3::ZERO, } } } diff --git a/src/render/extract.rs b/src/render/extract.rs index d63671e4..8a77be31 100644 --- a/src/render/extract.rs +++ b/src/render/extract.rs @@ -7,7 +7,7 @@ use bevy::{prelude::*, render::Extract, utils::HashMap}; use crate::prelude::TilemapGridSize; use crate::prelude::TilemapRenderSettings; -use crate::render::{DefaultSampler, SecondsSinceStartup}; +use crate::render::DefaultSampler; use crate::tiles::AnimatedTile; use crate::tiles::TilePosOld; use crate::{ @@ -229,7 +229,6 @@ pub fn extract( >, camera_query: Extract>>, images: Extract>>, - time: Extract>, ) { let mut extracted_tiles = Vec::new(); let mut extracted_tilemaps = HashMap::default(); @@ -367,7 +366,6 @@ pub fn extract( commands.insert_batch(extracted_tiles); commands.insert_batch(extracted_tilemaps); commands.insert_batch(extracted_tilemap_textures); - commands.insert_resource(SecondsSinceStartup(time.elapsed_secs_f64() as f32)); } pub fn remove_changed(mut commands: Commands, query: Query>) { diff --git a/src/render/mod.rs b/src/render/mod.rs index 07d01d5a..a739f9da 100644 --- a/src/render/mod.rs +++ b/src/render/mod.rs @@ -95,9 +95,6 @@ impl RenderChunkSize { pub struct TilemapRenderingPlugin; -#[derive(Resource, Default, Deref, DerefMut)] -pub struct SecondsSinceStartup(pub f32); - pub const COLUMN_EVEN_HEX: Handle = Handle::weak_from_u128(7704924705970804993); pub const COLUMN_HEX: Handle = Handle::weak_from_u128(11710877199891728627); pub const COLUMN_ODD_HEX: Handle = Handle::weak_from_u128(6706359414982022142); @@ -251,7 +248,6 @@ impl Plugin for TilemapRenderingPlugin { render_app .insert_resource(DefaultSampler(sampler)) .insert_resource(RenderChunk2dStorage::default()) - .insert_resource(SecondsSinceStartup(0.0)) .add_systems( ExtractSchedule, (extract::extract, extract_resource::), diff --git a/src/render/prepare.rs b/src/render/prepare.rs index f2fc5bb2..0bdf6bd0 100644 --- a/src/render/prepare.rs +++ b/src/render/prepare.rs @@ -6,9 +6,7 @@ use crate::map::{ }; use crate::prelude::TilemapRenderSettings; use crate::render::extract::ExtractedFrustum; -use crate::{ - prelude::TilemapGridSize, render::RenderChunkSize, render::SecondsSinceStartup, FrustumCulling, -}; +use crate::{prelude::TilemapGridSize, render::RenderChunkSize, FrustumCulling}; use bevy::log::trace; use bevy::prelude::{InheritedVisibility, Resource, With}; use bevy::render::mesh::MeshVertexBufferLayouts; @@ -69,7 +67,6 @@ pub(crate) fn prepare( extracted_frustum_query: Query<&ExtractedFrustum>, render_device: Res, render_queue: Res, - seconds_since_startup: Res, mut mesh_vertex_buffer_layouts: ResMut, ) { for tile in extracted_tiles.iter() { @@ -197,8 +194,7 @@ pub(crate) fn prepare( chunk.prepare(&render_device, &mut mesh_vertex_buffer_layouts); - let mut chunk_uniform: TilemapUniformData = chunk.into(); - chunk_uniform.time = **seconds_since_startup; + let chunk_uniform: TilemapUniformData = chunk.into(); commands.spawn(( chunk.texture.clone_weak(), diff --git a/src/render/shaders/common.wgsl b/src/render/shaders/common.wgsl index e9a17971..a4c7e7bf 100644 --- a/src/render/shaders/common.wgsl +++ b/src/render/shaders/common.wgsl @@ -15,8 +15,6 @@ struct TilemapData { spacing: vec2, chunk_pos: vec2, map_size: vec2, - time: f32, - _padding: vec3, // hack for webgl2 16 byte alignment }; @group(1) @binding(1) var tilemap_data: TilemapData; diff --git a/src/render/shaders/tilemap_vertex.wgsl b/src/render/shaders/tilemap_vertex.wgsl index 3771fc88..60b88bd3 100644 --- a/src/render/shaders/tilemap_vertex.wgsl +++ b/src/render/shaders/tilemap_vertex.wgsl @@ -1,6 +1,6 @@ #import bevy_ecs_tilemap::common::{VertexInput, tilemap_data} #import bevy_ecs_tilemap::mesh_output::MeshOutput -#import bevy_sprite::mesh2d_view_bindings::view +#import bevy_sprite::mesh2d_view_bindings::{view, globals} #import bevy_ecs_tilemap::vertex_output::MeshVertexOutput #ifdef SQUARE @@ -49,7 +49,7 @@ fn vertex(vertex_input: VertexInput) -> MeshVertexOutput { let frames: f32 = f32(vertex_input.uv.w - vertex_input.uv.z); - var current_animation_frame = fract(tilemap_data.time * animation_speed) * frames; + var current_animation_frame = fract(globals.time * animation_speed) * frames; current_animation_frame = clamp(f32(vertex_input.uv.z) + current_animation_frame, f32(vertex_input.uv.z), f32(vertex_input.uv.w));