diff options
author | Lizzy Fleckenstein <eliasfleckenstein@web.de> | 2023-04-10 19:08:30 +0200 |
---|---|---|
committer | Lizzy Fleckenstein <eliasfleckenstein@web.de> | 2023-04-10 19:08:30 +0200 |
commit | 5bfa731a508492ac414a5b04bd453d528777bc1a (patch) | |
tree | 358709055e691dc0f0e40ba8c62cc8cd8ed87c60 /src | |
parent | a87186860ec602c19f0d11528bef2d5123bc7e48 (diff) | |
download | mt_client-5bfa731a508492ac414a5b04bd453d528777bc1a.tar.xz |
Param1 light and allfaces
Diffstat (limited to 'src')
-rw-r--r-- | src/gfx/map.rs | 19 |
1 files changed, 15 insertions, 4 deletions
diff --git a/src/gfx/map.rs b/src/gfx/map.rs index d95a4d2..dbedb77 100644 --- a/src/gfx/map.rs +++ b/src/gfx/map.rs @@ -19,11 +19,12 @@ pub struct MapRender { struct Vertex { pos: [f32; 3], tex_coords: [f32; 2], + light: f32, } impl Vertex { - const ATTRIBS: [wgpu::VertexAttribute; 2] = - wgpu::vertex_attr_array![0 => Float32x3, 1 => Float32x2]; + const ATTRIBS: [wgpu::VertexAttribute; 3] = + wgpu::vertex_attr_array![0 => Float32x3, 1 => Float32x2, 2 => Float32]; fn desc<'a>() -> wgpu::VertexBufferLayout<'a> { wgpu::VertexBufferLayout { @@ -62,11 +63,20 @@ impl MapRender { }; use lerp::Lerp; - use mt_net::DrawType; + use mt_net::{DrawType, Param1Type}; use std::array::from_fn as array; match def.draw_type { - DrawType::Cube => { + DrawType::Cube | DrawType::AllFaces | DrawType::AllFacesOpt => { + let light = match def.param1_type { + Param1Type::Light => { + println!("{}", block.param_1[index]); + + block.param_1[index] as f32 / 15.0 + } + _ => 1.0, + }; + let pos: [i16; 3] = array(|i| ((index >> (4 * i)) & 0xf) as i16); for (f, face) in CUBE.iter().enumerate() { let dir = FACE_DIR[f]; @@ -98,6 +108,7 @@ impl MapRender { vertices.push(Vertex { pos: array(|i| pos[i] as f32 - 8.5 + vertex.0[i]), tex_coords: array(|i| rect[i].start.lerp(rect[i].end, vertex.1[i])), + light, }) } } |