grafix_toolbox/kit/opengl/
texture.rs1pub 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::*};