rafx_assets/assets/buffer/
assets.rs1use crate::push_buffer::PushBuffer;
2use rafx_api::RafxResourceType;
3use rafx_framework::BufferResource;
4use rafx_framework::ResourceArc;
5use serde::{Deserialize, Serialize};
6use type_uuid::*;
7
8#[derive(TypeUuid, Serialize, Deserialize, Clone)]
9#[uuid = "2d6653ce-5f77-40a2-b050-f2d148699d78"]
10pub struct BufferAssetData {
11 pub resource_type: RafxResourceType,
12 #[serde(with = "serde_bytes")]
13 pub data: Vec<u8>,
14}
15
16impl BufferAssetData {
17 pub fn from_vec<T: 'static>(
18 resource_type: RafxResourceType,
19 data: &Vec<T>,
20 ) -> Self {
21 let push_buffer = PushBuffer::from_vec(data);
22 BufferAssetData {
23 resource_type,
24 data: push_buffer.into_data(),
25 }
26 }
27}
28
29#[derive(TypeUuid, Clone)]
30#[uuid = "fc3b1eb8-c986-449e-a165-6a8f4582e6c5"]
31pub struct BufferAsset {
32 pub buffer: ResourceArc<BufferResource>,
33}