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

Download history 124/week @ 2024-07-21 93/week @ 2024-07-28 97/week @ 2024-08-04 95/week @ 2024-08-11 79/week @ 2024-08-18 79/week @ 2024-08-25 98/week @ 2024-09-01 106/week @ 2024-09-08 102/week @ 2024-09-15 132/week @ 2024-09-22 142/week @ 2024-09-29 91/week @ 2024-10-06 163/week @ 2024-10-13 256/week @ 2024-10-20 92/week @ 2024-10-27 93/week @ 2024-11-03

624 downloads per month
Used in 6 crates (3 directly)

MIT license

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.

Dependencies