use gl;
use gl::types::*;
use std::ptr;
use super::enums;
pub fn clear_color(red: GLfloat, green: GLfloat, blue: GLfloat, aplha: GLfloat) {
unsafe {
gl::ClearColor(red, green, blue, aplha);
}
}
pub fn draw_arrays(primitive: enums::Primitive, first: GLint, count: GLsizei) {
unsafe {
gl::DrawArrays(primitive as u32, first, count);
}
}
pub fn draw_elements(primitive: enums::Primitive, count: GLsizei, type_: enums::Type) {
unsafe {
gl::DrawElements(primitive as GLenum, count, type_ as GLenum, ptr::null());
}
}
pub fn draw_elements_instanced(
primitive: enums::Primitive,
count: GLsizei,
type_: enums::Type,
prim_count: GLsizei,
) {
unsafe {
gl::DrawElementsInstanced(
primitive as GLenum,
count,
type_ as GLenum,
ptr::null(),
prim_count,
);
}
}
pub fn draw_range_elements(mode: enums::Primitive, start: GLuint, end: GLuint, count: GLsizei, type_: enums::Type) {
unsafe {
gl::DrawRangeElements(mode as GLenum, start, end, count, type_ as GLenum, ptr::null());
}
}