8 releases
0.0.0-alpha7 | Oct 28, 2021 |
---|---|
0.0.0-alpha6 | Oct 23, 2021 |
0.0.0-alpha5 | Sep 20, 2021 |
0.0.0-alpha4 | Aug 14, 2021 |
0.0.0-alpha3 | Jul 29, 2021 |
#661 in Graphics APIs
565KB
9K
SLoC
OpenGL and Windows API wrappers.
There are some levels of wrapping:
- core - just wrappers (
WinCore
andGLCore
)
let mut id:u32=MaybeUninit::uninit().assume_init();
GLCore.buffer.generate_one(&mut id);
GLCore.buffer.bind(BufferTarget::ArrayBuffer,id);
GLCore.buffer.rewrite(BufferTarget::ArrayBuffer,1024,core::ptr::null(),BufferUsage::DynamicDraw);
- level [ i ] - describes system objects and their relationships (only for
GLCore
), the higher level the more specific structures
// level0
let buffer:Buffer<i32>=Buffer::generate();
buffer.bind(BufferTarget::ArrayBuffer).unwrap();
Buffer::rewrite(BufferTarget::ArrayBuffer,&[0u32;10],BufferUsage::DynamicDraw).unwrap();
// level1
let index_buffer=IndexBuffer::new(&[0u32;10],BufferUsage::DynamicDraw).unwrap();
- high-level - this is high level interface (only for
windows
module)
let class_attributes=WindowClassAttributes::new("WNDCLASS");
let window_class=WindowClass::new(class_attributes).unwrap();
Compatible with OpenGL 3.3 and greater.
Dependencies
Release notes
Pre-release
Dependencies
~0–1MB
~12K SLoC