Crate rusty_gl[−][src]
Rusty GL
rusty_gl
is a wrapper over the C-binding for OpenGL for Rust, gl-rs
The aim of this crate is:
-
Make OpenGL in Rust easier to use
This has been done by hiding weird (and unsafe!) casts from Rust code to the C interface, as well as using rust types over std::os::raw and std::ffi types. For example, some functions take in &str rather than std::ffi::CString.
-
Make OpenGL in Rust safer to use
One way I have done this is by enforcing correct enum types when passing to functions. The C-Interface allowed for any GLenum to pass into a function where it was needed, but it is very easy to pass the wrong one, causing
GL_INVALID_ENUM
errors. Instead, I have made specific enum types, and then enforce those types when calling rusty-gl functions -
Make OpenGL in Rust fit along nicely with other Rust code
The C interface had camelCase interface, as well as requiring
unsafe
blocks everywhere. Rusty GL functions use the more Rust acceptedsnake_case
for functions andPascalCase
for types. Also, none of the functions requireunsafe {}
blocks to be used.
Re-exports
pub use buffers::*; |
pub use drawing::*; |
pub use enums::*; |
pub use shaders::*; |
pub use textures::*; |
Modules
buffers | |
drawing | |
enums | |
shaders | |
textures |