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_as_trivial]
15 pub struct GL_TEXTURE_1D;
16 impl TexType for GL_TEXTURE_1D {
17 const TYPE: GLenum = gl::TEXTURE_1D;
18 }
19 #[derive_as_trivial]
20 pub struct GL_TEXTURE_2D;
21 impl TexType for GL_TEXTURE_2D {
22 const TYPE: GLenum = gl::TEXTURE_2D;
23 }
24 #[derive_as_trivial]
25 pub struct GL_TEXTURE_3D;
26 impl TexType for GL_TEXTURE_3D {
27 const TYPE: GLenum = gl::TEXTURE_3D;
28 }
29 #[derive_as_trivial]
30 pub struct GL_TEXTURE_1D_ARRAY;
31 impl TexType for GL_TEXTURE_1D_ARRAY {
32 const TYPE: GLenum = gl::TEXTURE_1D_ARRAY;
33 }
34 #[derive_as_trivial]
35 pub struct GL_TEXTURE_2D_ARRAY;
36 impl TexType for GL_TEXTURE_2D_ARRAY {
37 const TYPE: GLenum = gl::TEXTURE_2D_ARRAY;
38 }
39 #[derive_as_trivial]
40 pub struct GL_TEXTURE_CUBE_MAP;
41 impl TexType for GL_TEXTURE_CUBE_MAP {
42 const TYPE: GLenum = gl::TEXTURE_CUBE_MAP;
43 }
44 #[derive_as_trivial]
45 pub struct GL_TEXTURE_CUBE_MAP_ARRAY;
46 impl TexType for GL_TEXTURE_CUBE_MAP_ARRAY {
47 const TYPE: GLenum = gl::TEXTURE_CUBE_MAP_ARRAY;
48 }
49 #[derive_as_trivial]
50 pub struct GL_TEXTURE_BUFFER;
51 impl TexType for GL_TEXTURE_BUFFER {
52 const TYPE: GLenum = gl::TEXTURE_BUFFER;
53 }
54 #[derive_as_trivial]
55 pub struct GL_TEXTURE_2D_MULTISAMPLE;
56 impl TexType for GL_TEXTURE_2D_MULTISAMPLE {
57 const TYPE: GLenum = gl::TEXTURE_2D_MULTISAMPLE;
58 }
59 #[derive_as_trivial]
60 pub struct GL_TEXTURE_2D_MULTISAMPLE_ARRAY;
61 impl TexType for GL_TEXTURE_2D_MULTISAMPLE_ARRAY {
62 const TYPE: GLenum = gl::TEXTURE_2D_MULTISAMPLE_ARRAY;
63 }
64}
65
66mod args;
67mod format;
68mod sampler;
69mod texbuff;
70mod texture_ext;
71
72use {super::internal::*, crate::lib::*, spec::*};