5 releases
0.1.4 | Aug 2, 2020 |
---|---|
0.1.3 | Aug 1, 2020 |
0.1.2 | Aug 1, 2020 |
0.1.1 | Aug 1, 2020 |
0.1.0 | Aug 1, 2020 |
#302 in Graphics APIs
624 downloads per month
Used in 6 crates
(3 directly)
760KB
19K
SLoC
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.
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.