grafix_toolbox/kit/opengl/
shader.rs

1pub 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};