wip: creating 3d texture node buffer
This commit is contained in:
+6
-2
@@ -15,6 +15,7 @@ pub struct Renderer {
|
||||
// Buffers
|
||||
raster_buffer: RasterBuffer,
|
||||
uniform_buffer: UniformBuffer,
|
||||
node_buffer: NodeBuffer,
|
||||
// Camera
|
||||
pub camera: Camera,
|
||||
}
|
||||
@@ -105,13 +106,15 @@ impl Renderer {
|
||||
// Buffers
|
||||
let uniform_buffer = UniformBuffer::new(&device);
|
||||
let raster_buffer = RasterBuffer::new(&device);
|
||||
let mut node_buffer = NodeBuffer::new(&device, 2);
|
||||
node_buffer.write(&queue);
|
||||
|
||||
// Pipeline
|
||||
let pipeline = Self::create_pipeline(&device, &swapchain_desc, &[&uniform_buffer.bind_layout]);
|
||||
let pipeline = Self::create_pipeline(&device, &swapchain_desc, &[&uniform_buffer.bind_layout, &node_buffer.bind_layout]);
|
||||
|
||||
// Save values in app
|
||||
println!("Initialized");
|
||||
Self { surface, device, queue, swapchain_desc, swapchain, pipeline, raster_buffer, uniform_buffer, camera }
|
||||
Self { surface, device, queue, swapchain_desc, swapchain, pipeline, raster_buffer, uniform_buffer, node_buffer, camera }
|
||||
}
|
||||
|
||||
pub fn resize(&mut self, new_size: Option<PhysicalSize<u32>>) {
|
||||
@@ -158,6 +161,7 @@ impl Renderer {
|
||||
// Data
|
||||
render_pass.set_pipeline(&self.pipeline);
|
||||
render_pass.set_bind_group(0, &self.uniform_buffer.bind_group, &[]);
|
||||
render_pass.set_bind_group(1, &self.node_buffer.bind_group, &[]);
|
||||
// Vertices and indices
|
||||
render_pass.set_vertex_buffer(0, self.raster_buffer.vertex_buffer.slice(..));
|
||||
render_pass.set_index_buffer(self.raster_buffer.index_buffer.slice(..), wgpu::IndexFormat::Uint16);
|
||||
|
||||
Reference in New Issue
Block a user