Compare commits
2 Commits
a6d89fb2e5
...
2bba6c8476
Author | SHA1 | Date |
---|---|---|
Jarrod Doyle | 2bba6c8476 | |
Jarrod Doyle | 4a5c142625 |
|
@ -1,23 +1,22 @@
|
|||
use crate::gfx::{BulkBufferBuilder, Context};
|
||||
|
||||
#[repr(C)]
|
||||
#[derive(Debug, Default, Copy, Clone, bytemuck::Pod, bytemuck::Zeroable)]
|
||||
pub struct Brickmap {
|
||||
pub bitmask: [u32; 16],
|
||||
pub shading_table_offset: u32,
|
||||
pub lod_color: u32,
|
||||
}
|
||||
|
||||
#[derive(Debug, Default, Copy, Clone)]
|
||||
pub struct BrickmapCacheEntry {
|
||||
pub grid_idx: usize,
|
||||
pub shading_table_offset: u32,
|
||||
}
|
||||
|
||||
#[repr(C)]
|
||||
#[derive(Debug, Default, Copy, Clone, bytemuck::Pod, bytemuck::Zeroable)]
|
||||
struct Brickmap {
|
||||
bitmask: [u32; 16],
|
||||
shading_table_offset: u32,
|
||||
lod_color: u32,
|
||||
}
|
||||
|
||||
#[repr(C)]
|
||||
#[derive(Debug, Copy, Clone, bytemuck::Pod, bytemuck::Zeroable)]
|
||||
// TODO: Rename struct
|
||||
struct BrickmapUnpackElement {
|
||||
struct BrickmapUploadElement {
|
||||
cache_idx: u32, // TODO: Change to usize?
|
||||
brickmap: Brickmap,
|
||||
shading_element_count: u32,
|
||||
|
@ -29,7 +28,7 @@ pub struct BrickmapCache {
|
|||
cache: Vec<Option<BrickmapCacheEntry>>,
|
||||
pub index: usize,
|
||||
pub num_loaded: u32,
|
||||
staged: Vec<BrickmapUnpackElement>,
|
||||
staged: Vec<BrickmapUploadElement>,
|
||||
max_upload_count: usize,
|
||||
buffer: wgpu::Buffer,
|
||||
upload_buffer: wgpu::Buffer,
|
||||
|
@ -103,7 +102,7 @@ impl BrickmapCache {
|
|||
let mut shading_elements = [0u32; 512];
|
||||
shading_elements[..shading_element_count].copy_from_slice(&albedo_data);
|
||||
|
||||
let staged_brickmap = BrickmapUnpackElement {
|
||||
let staged_brickmap = BrickmapUploadElement {
|
||||
cache_idx: self.index as u32,
|
||||
brickmap,
|
||||
shading_element_count: shading_element_count as u32,
|
||||
|
|
Loading…
Reference in New Issue