Removed unnecessary code

This commit is contained in:
Joshua Barretto 2019-09-27 14:03:08 +01:00
parent a90ceddde0
commit 8d2f1d470c
3 changed files with 15 additions and 114 deletions

View File

@ -60,7 +60,6 @@ impl Meshable<FigurePipeline, FigurePipeline> for Segment {
ls ls
}, },
|vox| vox.is_empty(), |vox| vox.is_empty(),
|vox| !vox.is_empty(),
); );
} }
} }
@ -98,7 +97,6 @@ impl Meshable<SpritePipeline, SpritePipeline> for Segment {
true, true,
&[[[1.0; 3]; 3]; 3], &[[[1.0; 3]; 3]; 3],
|vox| vox.is_empty(), |vox| vox.is_empty(),
|vox| !vox.is_empty(),
); );
} }
} }

View File

@ -213,7 +213,6 @@ impl<V: RectRasterableVol<Vox = Block> + ReadVol + Debug> Meshable<TerrainPipeli
false, false,
&lights, &lights,
|vox| !vox.is_opaque(), |vox| !vox.is_opaque(),
|vox| vox.is_opaque(),
); );
} else if block.map(|vox| vox.is_fluid()).unwrap_or(false) { } else if block.map(|vox| vox.is_fluid()).unwrap_or(false) {
vol::push_vox_verts( vol::push_vox_verts(
@ -228,7 +227,6 @@ impl<V: RectRasterableVol<Vox = Block> + ReadVol + Debug> Meshable<TerrainPipeli
false, false,
&lights, &lights,
|vox| vox.is_air(), |vox| vox.is_air(),
|vox| vox.is_opaque(),
); );
} }
} }

View File

@ -11,13 +11,10 @@ use crate::render::{
/// `dirs` should be a slice of length 5 so that the sliding window of size 2 over the slice /// `dirs` should be a slice of length 5 so that the sliding window of size 2 over the slice
/// yields each vertex' adjacent positions. /// yields each vertex' adjacent positions.
#[allow(unsafe_code)] #[allow(unsafe_code)]
fn get_ao_quad<V: ReadVol>( fn get_ao_quad(
_vol: &V,
pos: Vec3<i32>,
shift: Vec3<i32>, shift: Vec3<i32>,
dirs: &[Vec3<i32>], dirs: &[Vec3<i32>],
darknesses: &[[[f32; 3]; 3]; 3], darknesses: &[[[f32; 3]; 3]; 3],
is_opaque: impl Fn(&V::Vox) -> bool,
) -> Vec4<(f32, f32)> { ) -> Vec4<(f32, f32)> {
dirs.windows(2) dirs.windows(2)
.map(|offs| { .map(|offs| {
@ -77,14 +74,7 @@ fn get_ao_quad<V: ReadVol>(
} }
#[allow(unsafe_code)] #[allow(unsafe_code)]
fn get_col_quad<V: ReadVol>( fn get_col_quad(dirs: &[Vec3<i32>], cols: &[[[Rgba<u8>; 3]; 3]; 3]) -> Vec4<Rgb<f32>> {
_vol: &V,
_pos: Vec3<i32>,
_shift: Vec3<i32>,
dirs: &[Vec3<i32>],
cols: &[[[Rgba<u8>; 3]; 3]; 3],
_is_opaque: impl Fn(&V::Vox) -> bool,
) -> Vec4<Rgb<f32>> {
dirs.windows(2) dirs.windows(2)
.map(|offs| { .map(|offs| {
let primary_col = Rgb::from(cols[1][1][1]).map(|e: u8| e as f32); let primary_col = Rgb::from(cols[1][1][1]).map(|e: u8| e as f32);
@ -128,7 +118,7 @@ fn create_quad<P: Pipeline, F: Fn(Vec3<f32>, Vec3<f32>, Rgb<f32>, f32, f32) -> P
let darkness = darkness_ao.map(|e| e.0); let darkness = darkness_ao.map(|e| e.0);
let ao = darkness_ao.map(|e| e.1); let ao = darkness_ao.map(|e| e.1);
let ao_map = ao.map(|e| 0.05 + e.powf(1.2) * 0.95); let ao_map = ao;
if ao[0].min(ao[2]).min(darkness[0]).min(darkness[2]) if ao[0].min(ao[2]).min(darkness[0]).min(darkness[2])
< ao[1].min(ao[3]).min(darkness[1]).min(darkness[3]) < ao[1].min(ao[3]).min(darkness[1]).min(darkness[3])
@ -171,7 +161,6 @@ pub fn push_vox_verts<V: ReadVol, P: Pipeline>(
error_makes_face: bool, error_makes_face: bool,
darknesses: &[[[f32; 3]; 3]; 3], darknesses: &[[[f32; 3]; 3]; 3],
should_add: impl Fn(&V::Vox) -> bool, should_add: impl Fn(&V::Vox) -> bool,
is_opaque: impl Fn(&V::Vox) -> bool,
) { ) {
let (x, y, z) = (Vec3::unit_x(), Vec3::unit_y(), Vec3::unit_z()); let (x, y, z) = (Vec3::unit_x(), Vec3::unit_y(), Vec3::unit_z());
@ -186,22 +175,8 @@ pub fn push_vox_verts<V: ReadVol, P: Pipeline>(
Vec3::unit_z(), Vec3::unit_z(),
Vec3::unit_y(), Vec3::unit_y(),
-Vec3::unit_x(), -Vec3::unit_x(),
get_col_quad( get_col_quad(&[-z, -y, z, y, -z], cols),
vol, get_ao_quad(-Vec3::unit_x(), &[-z, -y, z, y, -z], darknesses),
pos,
-Vec3::unit_x(),
&[-z, -y, z, y, -z],
cols,
&is_opaque,
),
get_ao_quad(
vol,
pos,
-Vec3::unit_x(),
&[-z, -y, z, y, -z],
darknesses,
&is_opaque,
),
&vcons, &vcons,
)); ));
} }
@ -216,22 +191,8 @@ pub fn push_vox_verts<V: ReadVol, P: Pipeline>(
Vec3::unit_y(), Vec3::unit_y(),
Vec3::unit_z(), Vec3::unit_z(),
Vec3::unit_x(), Vec3::unit_x(),
get_col_quad( get_col_quad(&[-y, -z, y, z, -y], cols),
vol, get_ao_quad(Vec3::unit_x(), &[-y, -z, y, z, -y], darknesses),
pos,
Vec3::unit_x(),
&[-y, -z, y, z, -y],
cols,
&is_opaque,
),
get_ao_quad(
vol,
pos,
Vec3::unit_x(),
&[-y, -z, y, z, -y],
darknesses,
&is_opaque,
),
&vcons, &vcons,
)); ));
} }
@ -246,22 +207,8 @@ pub fn push_vox_verts<V: ReadVol, P: Pipeline>(
Vec3::unit_x(), Vec3::unit_x(),
Vec3::unit_z(), Vec3::unit_z(),
-Vec3::unit_y(), -Vec3::unit_y(),
get_col_quad( get_col_quad(&[-x, -z, x, z, -x], cols),
vol, get_ao_quad(-Vec3::unit_y(), &[-x, -z, x, z, -x], darknesses),
pos,
-Vec3::unit_y(),
&[-x, -z, x, z, -x],
cols,
&is_opaque,
),
get_ao_quad(
vol,
pos,
-Vec3::unit_y(),
&[-x, -z, x, z, -x],
darknesses,
&is_opaque,
),
&vcons, &vcons,
)); ));
} }
@ -276,22 +223,8 @@ pub fn push_vox_verts<V: ReadVol, P: Pipeline>(
Vec3::unit_z(), Vec3::unit_z(),
Vec3::unit_x(), Vec3::unit_x(),
Vec3::unit_y(), Vec3::unit_y(),
get_col_quad( get_col_quad(&[-z, -x, z, x, -z], cols),
vol, get_ao_quad(Vec3::unit_y(), &[-z, -x, z, x, -z], darknesses),
pos,
Vec3::unit_y(),
&[-z, -x, z, x, -z],
cols,
&is_opaque,
),
get_ao_quad(
vol,
pos,
Vec3::unit_y(),
&[-z, -x, z, x, -z],
darknesses,
&is_opaque,
),
&vcons, &vcons,
)); ));
} }
@ -306,22 +239,8 @@ pub fn push_vox_verts<V: ReadVol, P: Pipeline>(
Vec3::unit_y(), Vec3::unit_y(),
Vec3::unit_x(), Vec3::unit_x(),
-Vec3::unit_z(), -Vec3::unit_z(),
get_col_quad( get_col_quad(&[-y, -x, y, x, -y], cols),
vol, get_ao_quad(-Vec3::unit_z(), &[-y, -x, y, x, -y], darknesses),
pos,
-Vec3::unit_z(),
&[-y, -x, y, x, -y],
cols,
&is_opaque,
),
get_ao_quad(
vol,
pos,
-Vec3::unit_z(),
&[-y, -x, y, x, -y],
darknesses,
&is_opaque,
),
&vcons, &vcons,
)); ));
} }
@ -336,22 +255,8 @@ pub fn push_vox_verts<V: ReadVol, P: Pipeline>(
Vec3::unit_x(), Vec3::unit_x(),
Vec3::unit_y(), Vec3::unit_y(),
Vec3::unit_z(), Vec3::unit_z(),
get_col_quad( get_col_quad(&[-x, -y, x, y, -x], cols),
vol, get_ao_quad(Vec3::unit_z(), &[-x, -y, x, y, -x], darknesses),
pos,
Vec3::unit_z(),
&[-x, -y, x, y, -x],
cols,
&is_opaque,
),
get_ao_quad(
vol,
pos,
Vec3::unit_z(),
&[-x, -y, x, y, -x],
darknesses,
&is_opaque,
),
&vcons, &vcons,
)); ));
} }