cat_engine_basement

Crates.iocat_engine_basement
lib.rscat_engine_basement
version0.0.0-alpha7
sourcesrc
created_at2021-07-20 09:23:00.620824
updated_at2021-10-28 12:18:53.42126
descriptionThe CatEnigne's basement
homepagehttps://github.com/Clomance/CatEngine
repositoryhttps://github.com/Clomance/CatEngine
max_upload_size
id425052
size575,831
Clomance (Clomance)

documentation

https://docs.rs/cat_engine_basement/

README

logo

OpenGL and Windows API wrappers. Crate badge Doc badge

There are some levels of wrapping:

  • core - just wrappers (WinCore and GLCore)
    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

Commit count: 171

cargo fmt