nim-bgfx
bgfx graphics library binding and wrapper for the nim programming language.
bgfx is a rendering library that has a variety of graphics backends supported and a bunch of other neat features.
- Supported backends; Direct3D 9, Direct3D 11, Direct3D 12 (WIP), Metal (WIP), Vulkan(WIP) OpenGL 2.1, OpenGL 3.1+, OpenGL ES 2, OpenGL ES 3.1, WebGL 1.0, and WebGL 2.0
- Other features include occlusion querying, compute shader programs, draw and compute bucket sorting, conversion to compressed formats, and more.
bgfx's original and primary maintainer is Branimir Karadzic.
nim-bgfx's is original and primary maintainer is Cory Noll Crimmins - Golden.
You may contact me(Cory), if you ever face a problem related to this library. However all problems relating to features and internal issues that are a part of bgfx should be taken up with bgfx's community and Branimir
Notes:
- This needs to be beta tested, but is known to work(examples included).
- This package has all of the C functions, macros, and types
- Compiles bgfx right out of the box (provided it is supported).
- Because the bgfx library was programmed with specific types in mind (i.e. uint8/16/32/64_t and float). You have to be incredibly specific because of nims type system (42'u16, 100'i32, 1.0'f32)
- This package does include nim examples.
- This package has the same license as bgfx... for your information.
- You are free to send improvements but you should;
- Make sure it matches how things operate on the C++ or C of the library.
- Make sure that the code is readable.
- Documentation is optional, but would be nice.
- Make sure it works on the latest version of nim.
- Currently two window managing libraries work with this package; nimrod-glfw and sdl2_nim (with varying results).
- Compiling bgfx so far works on Linux and OSX... maybe untested on other platforms.
- Building bgfx on Windows is untested.
- Building bgfx in Javascript is untested.
- Works on amd64, untested on other architechures.