hacking
This commit is contained in:
@@ -42,6 +42,7 @@ pub struct Pass {
|
||||
}
|
||||
|
||||
pub struct Renderer {
|
||||
device: Device,
|
||||
lights_are_dirty: bool,
|
||||
shadow_pass: Pass,
|
||||
forward_pass: Pass,
|
||||
@@ -77,8 +78,7 @@ impl Renderer {
|
||||
|
||||
impl Renderer {
|
||||
|
||||
pub fn create_buffer(&mut self,
|
||||
device: &wgpu::Device,
|
||||
pub fn create_buffer(device: &wgpu::Device,
|
||||
indices: Vec<u32>,
|
||||
vertices: Vec<Vertex>) -> (Rc<Buffer>, Rc<Buffer>) {
|
||||
|
||||
@@ -117,18 +117,27 @@ impl Renderer {
|
||||
// });
|
||||
|
||||
// Creates the uniform for entities, which does the rotation and projection
|
||||
|
||||
(vertex_buf, index_buf)
|
||||
}
|
||||
|
||||
|
||||
pub fn load_mesh_to_buffer(device: &wgpu::Device, filepath: &str) -> (Rc<Buffer>, Rc<Buffer>) {
|
||||
let (vertices, indices) = import_mesh(filepath);
|
||||
Renderer::create_buffer(device, indices, vertices)
|
||||
}
|
||||
|
||||
|
||||
pub fn init(device: &wgpu::Device, sc_desc: &wgpu::SwapChainDescriptor) -> Renderer {
|
||||
|
||||
|
||||
let entity_uniform_size = mem::size_of::<EntityUniforms>() as wgpu::BufferAddress;
|
||||
self.plane_uniform_buf = device.create_buffer(&wgpu::BufferDescriptor {
|
||||
let plane_uniform_buf = device.create_buffer(&wgpu::BufferDescriptor {
|
||||
label: None,
|
||||
size: entity_uniform_size,
|
||||
usage: wgpu::BufferUsage::UNIFORM | wgpu::BufferUsage::COPY_DST,
|
||||
mapped_at_creation: false,
|
||||
});
|
||||
(vertex_buf, index_buf)
|
||||
|
||||
}
|
||||
|
||||
pub fn init(device: &wgpu::Device, sc_desc: &wgpu::SwapChainDescriptor) -> Renderer {
|
||||
|
||||
// Pre init the light uniform, with slots enough for MAX_LIGHTS
|
||||
let light_uniform_size =
|
||||
@@ -460,11 +469,15 @@ impl Renderer {
|
||||
});
|
||||
|
||||
Renderer {
|
||||
device,
|
||||
lights_are_dirty: false,
|
||||
shadow_pass,
|
||||
forward_pass,
|
||||
forward_depth: depth_texture.create_view(&wgpu::TextureViewDescriptor::default()),
|
||||
light_uniform_buf,
|
||||
plane_uniform_buf,
|
||||
plane_vertex_buf: (),
|
||||
plane_index_buf: ()
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user