use crate::low_level::RayTracingShader;
use wesl::include_wesl;
pub struct FrontFace;
unsafe impl RayTracingShader for FrontFace {
fn new() -> Self {
Self
}
fn shader_source_without_intersection_handler() -> String {
include_wesl!("front_face").to_string()
}
#[cfg(debug_assertions)]
fn label() -> &'static str {
"Debugging shader"
}
}
pub struct Reflectance;
unsafe impl RayTracingShader for Reflectance {
fn new() -> Self {
Self
}
fn shader_source_without_intersection_handler() -> String {
include_wesl!("reflectance").to_string()
}
#[cfg(debug_assertions)]
fn label() -> &'static str {
"Debugging shader"
}
}
pub struct Tangent;
unsafe impl RayTracingShader for Tangent {
fn new() -> Self {
Self
}
fn shader_source_without_intersection_handler() -> String {
include_wesl!("tangent").to_string()
}
#[cfg(debug_assertions)]
fn label() -> &'static str {
"Debugging shader"
}
}