# glu-sys Raw GLU and GL Rust bindings This crate doesn't handle windowing, it can be used with other crates which handle windowing and gl contexts to do raw opengl calls. ```rust fn draw_triangle() { use glu_sys::*; unsafe { glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT); glMatrixMode(GL_PROJECTION); glLoadIdentity(); glViewport(0, 0, W, H); gluPerspective(45.0, (W as f32 / H as f32).into(), 1.0, 10.0); glTranslatef(0.0, 0.0, -5.0); glMatrixMode(GL_MODELVIEW); glLoadIdentity(); glRotatef(0.0, 1.0, 1.0, 0.0); glColor3f(1.0, 0.0, 0.0); glBegin(GL_POLYGON); glVertex3f(0.0, 1.0, 0.0); glVertex3f(1.0, -1.0, 1.0); glVertex3f(-1.0, -1.0, 1.0); glEnd(); glColor3f(0.0, 1.0, 0.0); glBegin(GL_POLYGON); glVertex3f(0.0, 1.0, 0.0); glVertex3f(0.0, -1.0, -1.0); glVertex3f(1.0, -1.0, 1.0); glEnd(); glColor3f(0.0, 0.0, 1.0); glBegin(GL_POLYGON); glVertex3f(0.0, 1.0, 0.0); glVertex3f(-1.0, -1.0, 1.0); glVertex3f(0.0, -1.0, -1.0); glEnd(); glColor3f(1.0, 0.0, 0.0); glBegin(GL_POLYGON); glVertex3f(1.0, -1.0, 1.0); glVertex3f(0.0, -1.0, -1.0); glVertex3f(-1.0, -1.0, 1.0); glEnd(); glLoadIdentity(); glRasterPos2f(-3.0, -2.0); } } ``` Full example using the fltk crate [here](https://github.com/MoAlyousef/fltk-rs-demos/blob/master/opengl/src/main.rs).