grafix_toolbox/kit/opengl/
texture.rs

1pub use {sampler::*, texbuff::*, texture_ext::*};
2pub mod chans {
3	pub use super::format::{RED, RG, RGB, RGBA};
4	pub type GREEN = RG;
5	pub type BLUE = RGB;
6	pub type ALPHA = RGBA;
7}
8pub mod spec {
9	use super::*;
10	pub type Tex2d<S, F> = Tex<S, F, GL_TEXTURE_2D>;
11	pub type CubeTex<S, F> = Tex<S, F, GL_TEXTURE_CUBE_MAP>;
12	pub use format::{TexFmt, TexSize};
13
14	derive_common_VAL! { pub struct GL_TEXTURE_1D; }
15	impl TexType for GL_TEXTURE_1D {
16		const TYPE: GLenum = gl::TEXTURE_1D;
17	}
18	derive_common_VAL! { pub struct GL_TEXTURE_2D; }
19	impl TexType for GL_TEXTURE_2D {
20		const TYPE: GLenum = gl::TEXTURE_2D;
21	}
22	derive_common_VAL! { pub struct GL_TEXTURE_3D; }
23	impl TexType for GL_TEXTURE_3D {
24		const TYPE: GLenum = gl::TEXTURE_3D;
25	}
26	derive_common_VAL! { pub struct GL_TEXTURE_1D_ARRAY; }
27	impl TexType for GL_TEXTURE_1D_ARRAY {
28		const TYPE: GLenum = gl::TEXTURE_1D_ARRAY;
29	}
30	derive_common_VAL! { pub struct GL_TEXTURE_2D_ARRAY; }
31	impl TexType for GL_TEXTURE_2D_ARRAY {
32		const TYPE: GLenum = gl::TEXTURE_2D_ARRAY;
33	}
34	derive_common_VAL! { pub struct GL_TEXTURE_CUBE_MAP; }
35	impl TexType for GL_TEXTURE_CUBE_MAP {
36		const TYPE: GLenum = gl::TEXTURE_CUBE_MAP;
37	}
38	derive_common_VAL! { pub struct GL_TEXTURE_CUBE_MAP_ARRAY; }
39	impl TexType for GL_TEXTURE_CUBE_MAP_ARRAY {
40		const TYPE: GLenum = gl::TEXTURE_CUBE_MAP_ARRAY;
41	}
42	derive_common_VAL! { pub struct GL_TEXTURE_BUFFER; }
43	impl TexType for GL_TEXTURE_BUFFER {
44		const TYPE: GLenum = gl::TEXTURE_BUFFER;
45	}
46	derive_common_VAL! { pub struct GL_TEXTURE_2D_MULTISAMPLE; }
47	impl TexType for GL_TEXTURE_2D_MULTISAMPLE {
48		const TYPE: GLenum = gl::TEXTURE_2D_MULTISAMPLE;
49	}
50	derive_common_VAL! { pub struct GL_TEXTURE_2D_MULTISAMPLE_ARRAY; }
51	impl TexType for GL_TEXTURE_2D_MULTISAMPLE_ARRAY {
52		const TYPE: GLenum = gl::TEXTURE_2D_MULTISAMPLE_ARRAY;
53	}
54}
55
56mod args;
57mod format;
58mod sampler;
59mod texbuff;
60mod texture_ext;
61
62use {super::internal::*, crate::lib::*};