mirror of
https://github.com/guilhermewerner/wgpu-renderer
synced 2025-06-15 13:24:20 +00:00
23 lines
486 B
Rust
23 lines
486 B
Rust
use serde::{Deserialize, Serialize};
|
|
|
|
#[derive(Clone, Debug, Eq, PartialEq, Serialize, Deserialize)]
|
|
pub enum ShaderSource {
|
|
Glsl(String),
|
|
Spirv(Vec<u8>),
|
|
Wgsl(String),
|
|
}
|
|
|
|
impl ShaderSource {
|
|
pub fn SpirvFromBytes(bytes: &[u8]) -> ShaderSource {
|
|
ShaderSource::Spirv(Vec::from(bytes))
|
|
}
|
|
|
|
pub fn WgslToString(&self) -> Option<&String> {
|
|
if let ShaderSource::Wgsl(s) = &self {
|
|
Some(s)
|
|
} else {
|
|
None
|
|
}
|
|
}
|
|
}
|