pub use {sampler::*, texbuff::*, texture_ext::*};
pub mod chans {
pub use super::format::{RED, RG, RGB, RGBA};
pub type GREEN = RG;
pub type BLUE = RGB;
pub type ALPHA = RGBA;
}
pub mod spec {
use super::*;
pub type Tex2d<S, F> = Tex<S, F, GL_TEXTURE_2D>;
pub type CubeTex<S, F> = Tex<S, F, GL_TEXTURE_CUBE_MAP>;
pub use format::{TexFmt, TexSize};
#[derive_as_trivial]
pub struct GL_TEXTURE_1D;
impl TexType for GL_TEXTURE_1D {
const TYPE: GLenum = gl::TEXTURE_1D;
}
#[derive_as_trivial]
pub struct GL_TEXTURE_2D;
impl TexType for GL_TEXTURE_2D {
const TYPE: GLenum = gl::TEXTURE_2D;
}
#[derive_as_trivial]
pub struct GL_TEXTURE_3D;
impl TexType for GL_TEXTURE_3D {
const TYPE: GLenum = gl::TEXTURE_3D;
}
#[derive_as_trivial]
pub struct GL_TEXTURE_1D_ARRAY;
impl TexType for GL_TEXTURE_1D_ARRAY {
const TYPE: GLenum = gl::TEXTURE_1D_ARRAY;
}
#[derive_as_trivial]
pub struct GL_TEXTURE_2D_ARRAY;
impl TexType for GL_TEXTURE_2D_ARRAY {
const TYPE: GLenum = gl::TEXTURE_2D_ARRAY;
}
#[derive_as_trivial]
pub struct GL_TEXTURE_CUBE_MAP;
impl TexType for GL_TEXTURE_CUBE_MAP {
const TYPE: GLenum = gl::TEXTURE_CUBE_MAP;
}
#[derive_as_trivial]
pub struct GL_TEXTURE_CUBE_MAP_ARRAY;
impl TexType for GL_TEXTURE_CUBE_MAP_ARRAY {
const TYPE: GLenum = gl::TEXTURE_CUBE_MAP_ARRAY;
}
#[derive_as_trivial]
pub struct GL_TEXTURE_BUFFER;
impl TexType for GL_TEXTURE_BUFFER {
const TYPE: GLenum = gl::TEXTURE_BUFFER;
}
#[derive_as_trivial]
pub struct GL_TEXTURE_2D_MULTISAMPLE;
impl TexType for GL_TEXTURE_2D_MULTISAMPLE {
const TYPE: GLenum = gl::TEXTURE_2D_MULTISAMPLE;
}
#[derive_as_trivial]
pub struct GL_TEXTURE_2D_MULTISAMPLE_ARRAY;
impl TexType for GL_TEXTURE_2D_MULTISAMPLE_ARRAY {
const TYPE: GLenum = gl::TEXTURE_2D_MULTISAMPLE_ARRAY;
}
}
mod args;
mod format;
mod sampler;
mod texbuff;
mod texture_ext;
use {super::internal::*, crate::lib::*, spec::*};