Skip to content

Commit

Permalink
migrated up to e8b3892 (august 26th)
Browse files Browse the repository at this point in the history
  • Loading branch information
EliottGaboreau committed Nov 10, 2023
1 parent ac22adb commit 131e7d3
Show file tree
Hide file tree
Showing 4 changed files with 104 additions and 101 deletions.
184 changes: 93 additions & 91 deletions Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@ atlas = []
render = []

[dependencies]
bevy = { version = "0.11", default-features = false, features = [
bevy = { git = "https://github.com/bevyengine/bevy.git", rev = "e8b38925174cea58c08877a7b410443dafe918ce", default-features = false, features = [
"bevy_core_pipeline",
"bevy_render",
"bevy_asset",
Expand All @@ -34,7 +34,8 @@ serde_json = { version = "1.0" }
tiled = { version = "0.11.0", default-features = false }

[dev-dependencies.bevy]
version = "0.11"
git = "https://github.com/bevyengine/bevy.git"
rev = "e8b38925174cea58c08877a7b410443dafe918ce"
default-features = false
features = [
"bevy_core_pipeline",
Expand All @@ -46,11 +47,12 @@ features = [
"bevy_text",
"bevy_sprite",
"filesystem_watcher",
"webgl2"
"webgl2",
]

[target.'cfg(unix)'.dev-dependencies.bevy]
version = "0.11"
git = "https://github.com/bevyengine/bevy.git"
rev = "e8b38925174cea58c08877a7b410443dafe918ce"
default-features = false
features = [
"bevy_core_pipeline",
Expand All @@ -66,118 +68,118 @@ features = [


[[example]]
name="3d_iso"
path="examples/3d_iso.rs"
required-features=["render"]
name = "3d_iso"
path = "examples/3d_iso.rs"
required-features = ["render"]
[[example]]
name="accessing_tiles"
path="examples/accessing_tiles.rs"
required-features=["render"]
name = "accessing_tiles"
path = "examples/accessing_tiles.rs"
required-features = ["render"]
[[example]]
name="animation"
path="examples/animation.rs"
required-features=["render"]
name = "animation"
path = "examples/animation.rs"
required-features = ["render"]
[[example]]
name="basic"
path="examples/basic.rs"
required-features=["render"]
name = "basic"
path = "examples/basic.rs"
required-features = ["render"]
[[example]]
name="bench"
path="examples/bench.rs"
required-features=["render"]
name = "bench"
path = "examples/bench.rs"
required-features = ["render"]
[[example]]
name="chunking"
path="examples/chunking.rs"
required-features=["render"]
name = "chunking"
path = "examples/chunking.rs"
required-features = ["render"]
[[example]]
name="colors"
path="examples/colors.rs"
required-features=["render"]
name = "colors"
path = "examples/colors.rs"
required-features = ["render"]
[[example]]
name="custom_shader"
path="examples/custom_shader.rs"
required-features=["render"]
name = "custom_shader"
path = "examples/custom_shader.rs"
required-features = ["render"]
[[example]]
name="frustum_cull_test"
path="examples/frustum_cull_test.rs"
required-features=["render"]
name = "frustum_cull_test"
path = "examples/frustum_cull_test.rs"
required-features = ["render"]
[[example]]
name="game_of_life"
path="examples/game_of_life.rs"
required-features=["render"]
name = "game_of_life"
path = "examples/game_of_life.rs"
required-features = ["render"]
[[example]]
name="hex_neighbors_radius_chunks"
path="examples/hex_neighbors_radius_chunks.rs"
required-features=["render"]
name = "hex_neighbors_radius_chunks"
path = "examples/hex_neighbors_radius_chunks.rs"
required-features = ["render"]
[[example]]
name="hex_neighbors"
path="examples/hex_neighbors.rs"
required-features=["render"]
name = "hex_neighbors"
path = "examples/hex_neighbors.rs"
required-features = ["render"]
[[example]]
name="hexagon_column"
path="examples/hexagon_column.rs"
required-features=["render"]
name = "hexagon_column"
path = "examples/hexagon_column.rs"
required-features = ["render"]
[[example]]
name="hexagon_generation"
path="examples/hexagon_generation.rs"
required-features=["render"]
name = "hexagon_generation"
path = "examples/hexagon_generation.rs"
required-features = ["render"]
[[example]]
name="hexagon_row"
path="examples/hexagon_row.rs"
required-features=["render"]
name = "hexagon_row"
path = "examples/hexagon_row.rs"
required-features = ["render"]
[[example]]
name="iso_diamond"
path="examples/iso_diamond.rs"
required-features=["render"]
name = "iso_diamond"
path = "examples/iso_diamond.rs"
required-features = ["render"]
[[example]]
name="iso_staggered"
path="examples/iso_staggered.rs"
required-features=["render"]
name = "iso_staggered"
path = "examples/iso_staggered.rs"
required-features = ["render"]
[[example]]
name="layers"
path="examples/layers.rs"
required-features=["render"]
name = "layers"
path = "examples/layers.rs"
required-features = ["render"]
[[example]]
name="ldtk"
path="examples/ldtk.rs"
required-features=["render"]
name = "ldtk"
path = "examples/ldtk.rs"
required-features = ["render"]
[[example]]
name="mouse_to_tile"
path="examples/mouse_to_tile.rs"
required-features=["render"]
name = "mouse_to_tile"
path = "examples/mouse_to_tile.rs"
required-features = ["render"]
[[example]]
name="move_tile"
path="examples/move_tile.rs"
required-features=["render"]
name = "move_tile"
path = "examples/move_tile.rs"
required-features = ["render"]
[[example]]
name="random_map"
path="examples/random_map.rs"
required-features=["render"]
name = "random_map"
path = "examples/random_map.rs"
required-features = ["render"]
[[example]]
name="remove_tiles"
path="examples/remove_tiles.rs"
required-features=["render"]
name = "remove_tiles"
path = "examples/remove_tiles.rs"
required-features = ["render"]
[[example]]
name="spacing"
path="examples/spacing.rs"
required-features=["render"]
name = "spacing"
path = "examples/spacing.rs"
required-features = ["render"]
[[example]]
name="texture_container"
path="examples/texture_container.rs"
required-features=["render"]
name = "texture_container"
path = "examples/texture_container.rs"
required-features = ["render"]
[[example]]
name="texture_vec"
path="examples/texture_vec.rs"
required-features=["render"]
name = "texture_vec"
path = "examples/texture_vec.rs"
required-features = ["render"]
[[example]]
name="tiled_rotated"
path="examples/tiled_rotated.rs"
required-features=["render"]
name = "tiled_rotated"
path = "examples/tiled_rotated.rs"
required-features = ["render"]
[[example]]
name="tiled"
path="examples/tiled.rs"
required-features=["render"]
name = "tiled"
path = "examples/tiled.rs"
required-features = ["render"]
[[example]]
name="visibility"
path="examples/visibility.rs"
required-features=["render"]
name = "visibility"
path = "examples/visibility.rs"
required-features = ["render"]
16 changes: 8 additions & 8 deletions src/render/chunk.rs
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
use std::hash::{Hash, Hasher};

use bevy::math::Mat4;
use bevy::math::Affine3A;
use bevy::prelude::{Resource, Transform};
use bevy::render::primitives::Aabb;
use bevy::{
Expand Down Expand Up @@ -198,7 +198,7 @@ pub struct RenderChunk2d {
/// The product of the local and global transforms.
transform: Transform,
/// The matrix computed from this chunk's `transform`.
transform_matrix: Mat4,
affine: Affine3A,
pub spacing: Vec2,
pub tiles: Vec<Option<PackedTileData>>,
pub texture: TilemapTexture,
Expand Down Expand Up @@ -230,9 +230,9 @@ impl RenderChunk2d {
) -> Self {
let position = chunk_index_to_world_space(index.xy(), size_in_tiles, &grid_size, &map_type);
let local_transform = Transform::from_translation(position.extend(0.0));
let affine = global_transform.affine();
let global_transform: Transform = global_transform.into();
let transform = local_transform * global_transform;
let transform_matrix = transform.compute_matrix();
let aabb = chunk_aabb(size_in_tiles, &grid_size, &tile_size, &map_type);
Self {
dirty_mesh: true,
Expand All @@ -249,7 +249,7 @@ impl RenderChunk2d {
local_transform,
global_transform,
transform,
transform_matrix,
affine,
mesh: Mesh::new(bevy::render::render_resource::PrimitiveTopology::TriangleList),
spacing,
texture_size,
Expand Down Expand Up @@ -287,12 +287,12 @@ impl RenderChunk2d {
self.transform
}

pub fn get_transform_matrix(&self) -> Mat4 {
self.transform_matrix
pub fn get_affine(&self) -> Affine3A {
self.affine
}

pub fn intersects_frustum(&self, frustum: &ExtractedFrustum) -> bool {
frustum.intersects_obb(&self.aabb, &self.transform_matrix)
frustum.intersects_obb(&self.aabb, &self.affine)
}

pub fn update_geometry(
Expand Down Expand Up @@ -335,7 +335,7 @@ impl RenderChunk2d {

if dirty_local_transform || dirty_global_transform {
self.transform = global_transform * self.local_transform;
self.transform_matrix = self.transform.compute_matrix();
self.affine = self.transform.compute_affine();
}
}

Expand Down
3 changes: 2 additions & 1 deletion src/render/extract.rs
Original file line number Diff line number Diff line change
@@ -1,3 +1,4 @@
use bevy::math::Affine3A;
use bevy::prelude::Res;
use bevy::prelude::Time;
use bevy::render::primitives::{Aabb, Frustum};
Expand Down Expand Up @@ -174,7 +175,7 @@ pub struct ExtractedFrustum {
}

impl ExtractedFrustum {
pub fn intersects_obb(&self, aabb: &Aabb, transform_matrix: &Mat4) -> bool {
pub fn intersects_obb(&self, aabb: &Aabb, transform_matrix: &Affine3A) -> bool {
self.frustum
.intersects_obb(aabb, transform_matrix, true, false)
}
Expand Down
2 changes: 1 addition & 1 deletion src/render/prepare.rs
Original file line number Diff line number Diff line change
Expand Up @@ -197,7 +197,7 @@ pub(crate) fn prepare(
TilemapId(Entity::from_bits(chunk.tilemap_id)),
DynamicUniformIndex::<MeshUniform> {
index: mesh_uniforms.0.push(MeshUniform {
transform: chunk.get_transform_matrix(),
transform: chunk.get_affine().into(),
}),
marker: PhantomData,
},
Expand Down

0 comments on commit 131e7d3

Please sign in to comment.