transparency first version
This commit is contained in:
parent
f0fa28bdd8
commit
66902df99c
14 changed files with 225 additions and 92 deletions
src
22
src/main.rs
22
src/main.rs
|
@ -257,7 +257,7 @@ impl App {
|
|||
|
||||
self.update_uniform_buffer(image_index)?;
|
||||
if self.synchronized < MAX_FRAMES_IN_FLIGHT {
|
||||
self.update_storage_buffer(image_index)?;
|
||||
buffer::update_storage_buffer(&self.instance, &self.device, &self.data, image_index, &self.scene_handler)?;
|
||||
self.synchronized += 1
|
||||
}
|
||||
|
||||
|
@ -434,7 +434,8 @@ impl App {
|
|||
);
|
||||
|
||||
let ubo = buffer::UniformBufferObject { model, geom_rot: rot_mat4, view, proj,
|
||||
use_geom_shader: [self.data.use_geometry_shader, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false]};
|
||||
use_geom_shader: [self.data.use_geometry_shader, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false],
|
||||
camera_pos: self.cur_pos.clone()};
|
||||
|
||||
let memory = self.device.map_memory(
|
||||
self.data.uniform_buffers_memory[image_index],
|
||||
|
@ -449,25 +450,10 @@ impl App {
|
|||
|
||||
Ok(())
|
||||
}
|
||||
|
||||
unsafe fn update_storage_buffer(&mut self, image_index: usize) -> Result<()> {
|
||||
let memory = self.device.map_memory(
|
||||
self.data.storage_buffers_memory[image_index],
|
||||
0,
|
||||
self.data.scene_rt_memory_size,
|
||||
vk::MemoryMapFlags::empty(),
|
||||
)?;
|
||||
|
||||
memcpy(self.scene_handler.rt_memory.as_ptr(), memory.cast(), self.scene_handler.rt_memory.len());
|
||||
|
||||
self.device.unmap_memory(self.data.storage_buffers_memory[image_index]);
|
||||
|
||||
Ok(())
|
||||
}
|
||||
}
|
||||
|
||||
//================================================
|
||||
// Instance
|
||||
// MARK: Instance
|
||||
//================================================
|
||||
|
||||
unsafe fn create_instance(window: &Window, entry: &Entry, data: &mut app_data::AppData) -> Result<Instance> {
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue