mirror of
https://gitlab.com/veloren/veloren.git
synced 2024-08-30 18:12:32 +00:00
Better LoD giant trees
This commit is contained in:
parent
ba763f2da5
commit
321cc030ad
BIN
assets/voxygen/lod/giant_tree.obj
(Stored with Git LFS)
BIN
assets/voxygen/lod/giant_tree.obj
(Stored with Git LFS)
Binary file not shown.
@ -26,6 +26,7 @@ layout(location = 4) flat in uint f_flags;
|
||||
|
||||
const uint FLAG_SNOW_COVERED = 1;
|
||||
const uint FLAG_IS_BUILDING = 2;
|
||||
const uint FLAG_IS_GIANT_TREE = 4;
|
||||
|
||||
layout(location = 0) out vec4 tgt_color;
|
||||
layout(location = 1) out uvec4 tgt_mat;
|
||||
@ -76,7 +77,11 @@ void main() {
|
||||
vec3 k_s = vec3(R_s);
|
||||
|
||||
// Tree trunks
|
||||
if (model_pos.z < 25.0 && dot(abs(model_pos.xy), vec2(1)) < 6.0) { surf_color = vec3(0.05, 0.02, 0.0); }
|
||||
if ((f_flags & FLAG_IS_GIANT_TREE) > 0u) {
|
||||
if (dot(abs(model_pos.xyz) * vec3(1.0, 1.0, 2.0), vec3(1)) < 430.0) { surf_color = vec3(0.05, 0.02, 0.0); }
|
||||
} else {
|
||||
if (model_pos.z < 25.0 && dot(abs(model_pos.xy), vec2(1)) < 6.0) { surf_color = vec3(0.05, 0.02, 0.0); }
|
||||
}
|
||||
|
||||
vec3 voxel_norm = f_norm;
|
||||
float my_alt = f_pos.z + focus_off.z;
|
||||
|
@ -9,8 +9,9 @@ pub const ZONE_SIZE: u32 = 32;
|
||||
bitflags::bitflags! {
|
||||
#[derive(Debug, Clone, Copy, Serialize, Deserialize)]
|
||||
pub struct Flags: u8 {
|
||||
const SNOW_COVERED = 0b00000001;
|
||||
const IS_BUILDING = 0b00000010;
|
||||
const SNOW_COVERED = 0b00000001;
|
||||
const IS_BUILDING = 0b00000010;
|
||||
const IS_GIANT_TREE = 0b00000100;
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -678,6 +678,7 @@ impl World {
|
||||
.with_z(self.sim().get_alt_approx(wpos2d).unwrap_or(0.0) as i16)
|
||||
},
|
||||
flags: lod::Flags::empty()
|
||||
| lod::Flags::IS_GIANT_TREE
|
||||
| if col.snow_cover {
|
||||
lod::Flags::SNOW_COVERED
|
||||
} else {
|
||||
|
Loading…
Reference in New Issue
Block a user