Closed recp closed 4 years ago
/cc @kozross (notification purpose)
@recp Thanks for that! I always appreciate contributions, but as I'm quite busy at my job, I won't be able to properly review these for at least a few days. Sorry for the delay - and I appreciate your patience.
@kozross thanks 🤗 No problem.
@kozross ping.
@recp I added a comment in the review, and the branch has conflicts that need fixing?
@kozross conflicts are resolved.
Hi,
Here a few good libraries to add the list.
AssetKit
I was working on 3D (maybe + 2D later) importer and util library written in pure 100% C. It is ready to be public. It can import glTF 2.0, COLLADA 1.4/1.41/1.5 files with single interface. Its size is very small e.g ~244KB + stb_image.h (160KB) == ~404KB. And it provides lot of options and utils to make loading and rendering stages flexible, fast as possible. In the future it may support additional formats to import and export.
xml
To make AssetKit portable, make build fast and make parsing XML easy, I have dropped libxml2 and wrote new XML parser (and a JSON parser). I have used it in AssetKit to parse XMLs.
The XML parser doesn't alloc and copy XML contents... It only allocs memory for data structure or tokens. It creates pointers by using existing XML content. It may support pointers on file too in the future.
the parsing happens in single function so it must be very fast. In the future SIMD may be supported to make it fastest.
Related PR: https://github.com/kozross/awesome-c/pull/101
cmt
This is C wrappers for Apple's new graphics library/framework: https://developer.apple.com/metal
Because AFAIK Apple only provides Objective-C and Swift APIs for Metal. This is why I have wrote this library. C and C++ can use this library to bind their graphics-related softwares to Metal.
Since this is written in C, any language can use this to access Metal. OpenGL is deprecated on Apple platforms e.g macOS, iOS, iPadOS...
in progress: gpu and ui
There is a GPU library which I'm working on: http://github.com/recp/gpu and ui library: https://github.com/recp/ui, I'll create a PR for them after finished.