Code
Hub
Workspaces
Following
Trending
Connect
MCP
copy
Create free account
hub
/
github.com/bonsairobo/block-mesh-rs
/ functions
Functions
72 in github.com/bonsairobo/block-mesh-rs
⨍
Functions
72
◇
Types & classes
25
↓ 8 callers
Function
greedy_quads
The "Greedy Meshing" algorithm described by Mikola Lysenko in the [0fps article](https://0fps.net/2012/06/30/meshing-in-a-minecraft-game/). All visib
src/greedy.rs:61
↓ 7 callers
Function
visible_block_faces
A fast and simple meshing algorithm that produces a single quad for every visible face of a block. This is faster than [`greedy_quads`](crate::greedy
src/simple.rs:13
↓ 6 callers
Method
num_quads
Returns the total count of quads across all groups.
src/buffer.rs:23
↓ 3 callers
Method
axes
(&self)
src/geometry/axis.rs:103
↓ 3 callers
Method
get_unit_vector
(&self)
src/geometry/axis.rs:20
↓ 3 callers
Method
get_visibility
(&self)
src/greedy.rs:300
↓ 3 callers
Method
get_visibility
(&self)
src/simple.rs:134
↓ 3 callers
Method
index
(&self)
src/geometry/axis.rs:15
↓ 3 callers
Method
quad_mesh_indices
(&self, start: u32)
src/geometry/face.rs:110
↓ 3 callers
Method
quad_mesh_normals
(&self)
src/geometry/face.rs:99
↓ 3 callers
Method
quad_mesh_positions
(&self, quad: &UnorientedQuad, voxel_size: f32)
src/geometry/face.rs:93
↓ 2 callers
Function
assert_in_bounds
(voxels: &[T], voxels_shape: &S, min: [u32; 3], max: [u32; 3])
src/bounds.rs:5
↓ 2 callers
Function
face_needs_mesh
Returns true iff the given `voxel` face needs to be meshed. This means that we haven't already meshed it, it is non-empty, and it's visible (not compl
src/greedy.rs:229
↓ 2 callers
Function
into_domain
(array_dim: u32, [x, y, z]: [u32; 3])
examples-crate/render/main.rs:216
↓ 2 callers
Function
into_domain
(array_dim: u32, [x, y, z]: [u32; 3])
bench/src/bench.rs:196
↓ 2 callers
Method
merge_value
(&self)
src/greedy.rs:313
↓ 2 callers
Method
merge_value_facing_neighbour
(&self)
src/greedy.rs:317
↓ 2 callers
Method
signed_normal
(&self)
src/geometry/face.rs:54
↓ 2 callers
Function
spawn_pbr
( commands: &mut Commands, materials: &mut Assets<StandardMaterial>, mesh: Handle<Mesh>, trans
examples-crate/render/main.rs:198
↓ 2 callers
Function
sphere
(radius: f32, p: Vec3A)
examples-crate/render/main.rs:220
↓ 2 callers
Function
sphere_voxel
([x, y, z]: [f32; 3])
bench/src/bench.rs:186
↓ 1 callers
Function
generate_greedy_mesh
( meshes: &mut Assets<Mesh>, sdf: impl Fn(Vec3A) -> BoolVoxel, )
examples-crate/render/main.rs:141
↓ 1 callers
Function
generate_simple_mesh
( meshes: &mut Assets<Mesh>, sdf: impl Fn(Vec3A) -> BoolVoxel, )
examples-crate/render/main.rs:84
↓ 1 callers
Method
quad_corners
(&self, quad: &UnorientedQuad)
src/geometry/face.rs:76
↓ 1 callers
Function
quad_indices
Returns the vertex indices for a single quad (two triangles). The triangles may have either clockwise or counter-clockwise winding. `start` is the fir
src/geometry/face.rs:175
↓ 1 callers
Method
reset
(&mut self, size: usize)
src/greedy.rs:43
↓ 1 callers
Method
sign
(&self)
src/geometry/axis.rs:80
↓ 1 callers
Method
signum
(&self)
src/geometry/axis.rs:155
↓ 1 callers
Method
tex_coords
( &self, u_flip_face: Axis, flip_v: bool, quad: &UnorientedQuad, )
src/geometry/face.rs:130
↓ 1 callers
Method
unsigned_axis
(&self)
src/geometry/axis.rs:143
Function
bench_empty_space_greedy
(c: &mut Criterion)
bench/src/bench.rs:11
Function
bench_empty_space_simple
(c: &mut Criterion)
bench/src/bench.rs:83
Function
bench_sphere_greedy
(c: &mut Criterion)
bench/src/bench.rs:45
Function
bench_sphere_simple
(c: &mut Criterion)
bench/src/bench.rs:116
Method
canonical
A cube face, using axes with an even permutation.
src/geometry/face.rs:36
Function
check_loaded
Make sure that our texture is loaded so we can change some settings on it later
examples-crate/uv_mapping/main.rs:42
Method
even_with_normal_axis
(axis: Axis)
src/geometry/axis.rs:62
Method
find_quad
( min_index: u32, max_width: u32, max_height: u32, face_strides: &FaceStrides,
src/greedy/merge_strategy.rs:60
Method
from
(voxel: &'a T)
src/lib.rs:124
Method
from
(unit: UnorientedUnitQuad)
src/geometry/quad.rs:19
Method
from_vector
(v: IVec3)
src/geometry/axis.rs:179
Method
get_row_width
( voxels: &[T], visited: &[bool], quad_merge_voxel_value: &T::MergeValue, quad
src/greedy/merge_strategy.rs:113
Method
get_visibility
(&self)
examples-crate/render/main.rs:230
Method
get_visibility
(&self)
examples-crate/uv_mapping/main.rs:72
Method
get_visibility
(&self)
src/lib.rs:118
Method
get_visibility
(&self)
bench/src/bench.rs:169
Function
greedy_quads_for_face
( voxels: &[T], voxels_shape: &S, interior: Extent<UVec3>, face: &OrientedBlockFace, visit
src/greedy.rs:116
Function
greedy_quads_with_merge_strategy
Run the greedy meshing algorithm with a custom quad merging strategy using the [`MergeStrategy`] trait.
src/greedy.rs:83
Function
load_assets
(mut commands: Commands, asset_server: Res<AssetServer>)
examples-crate/uv_mapping/main.rs:35
Function
main
()
examples-crate/render/main.rs:21
Function
main
()
examples-crate/uv_mapping/main.rs:24
Method
merge_value
(&self)
examples-crate/render/main.rs:243
Method
merge_value
(&self)
examples-crate/uv_mapping/main.rs:62
Method
merge_value
(&self)
bench/src/bench.rs:181
Method
merge_value_facing_neighbour
(&self)
examples-crate/render/main.rs:247
Method
merge_value_facing_neighbour
(&self)
examples-crate/uv_mapping/main.rs:66
Method
n_sign
(&self)
src/geometry/face.rs:44
Method
new
()
src/buffer.rs:11
Method
new
(size: usize)
src/greedy.rs:36
Method
new
(sign: i32, axis: Axis)
src/geometry/axis.rs:129
Method
new
(n_sign: i32, permutation: AxisPermutation)
src/geometry/face.rs:23
Method
odd_with_normal_axis
(axis: Axis)
src/geometry/axis.rs:71
Function
panics_with_max_out_of_bounds_access
()
src/greedy.rs:263
Function
panics_with_max_out_of_bounds_access
()
src/simple.rs:97
Function
panics_with_min_out_of_bounds_access
()
src/greedy.rs:278
Function
panics_with_min_out_of_bounds_access
()
src/simple.rs:112
Method
permutation
(&self)
src/geometry/face.rs:49
Method
reset
(&mut self)
src/buffer.rs:16
Function
rotation_system
(time: Res<Time>, mut transforms: Query<&mut Transform, With<Rotate>>)
examples-crate/uv_mapping/main.rs:185
Function
setup
( mut commands: Commands, mut wireframe_config: ResMut<WireframeConfig>, mut materials: ResMut<Ass
examples-crate/render/main.rs:39
Function
setup
( mut commands: Commands, texture_handle: Res<Loading>, mut meshes: ResMut<Assets<Mesh>>, mut
examples-crate/uv_mapping/main.rs:81
Function
visible_block_faces_with_voxel_view
Same as [`visible_block_faces`](visible_block_faces), with the additional ability to interpret the array as some other type. Use this if you want to m
src/simple.rs:38