#[derive(Default)]
pub(crate) struct LicResources {
pub(crate) surface_pipeline: Option<wgpu::RenderPipeline>,
pub(crate) surface_bgl: Option<wgpu::BindGroupLayout>,
pub(crate) advect_pipeline: Option<wgpu::RenderPipeline>,
pub(crate) advect_bgl: Option<wgpu::BindGroupLayout>,
pub(crate) noise_sampler: Option<wgpu::Sampler>,
pub(crate) placeholder_view: Option<wgpu::TextureView>,
}
#[repr(C)]
#[derive(Copy, Clone, bytemuck::Pod, bytemuck::Zeroable)]
pub(crate) struct LicAdvectUniform {
pub(crate) steps: u32,
pub(crate) step_size: f32,
pub(crate) vp_width: f32,
pub(crate) vp_height: f32,
}
#[repr(C)]
#[derive(Copy, Clone, bytemuck::Pod, bytemuck::Zeroable)]
pub(crate) struct LicObjectUniform {
pub(crate) model: [[f32; 4]; 4],
}
pub struct LicSurfaceGpuData {
pub(crate) bind_group: wgpu::BindGroup,
pub(crate) _object_uniform_buf: wgpu::Buffer,
pub(crate) mesh_id: crate::resources::mesh::mesh_store::MeshId,
pub(crate) vector_attribute: String,
}