grafix_toolbox/kit/opengl/
shader.rs1pub use shader_ext::*;
2
3#[macro_use]
4pub mod uniform;
5
6#[macro_export]
7macro_rules! SHADER {
8 ($n: ident, $($body: expr),+) => {
9 #[allow(non_upper_case_globals)]
10 pub const $n: $crate::GL::macro_uses::InlineShader = $crate::GL::macro_uses::InlineShader(stringify!($n), &[$($body,)+]);
11 };
12}
13pub struct InlineShader(pub STR, pub &'static [STR]);
14impl From<I> for Str {
15 fn from(v: I) -> Self {
16 let InlineShader(v, v_t) = v;
17 ShaderManager::inline_source(v, v_t);
18 v.into()
19 }
20}
21type I = InlineShader;
22
23mod args;
24mod compiler;
25mod object;
26mod parsing;
27mod shader_ext;
28
29use crate::{lazy::*, lib::*, slicing::*, sync::*, GL::window::*};
30use {super::internal::*, std::ffi::CString};