I'm the author of raylib, feel free to ask me about it if you want.
I'm the author of raylib, feel free to ask me about it if you want.
Oh, one question, I was hoping to convert a bunch of models to raylib’s format. Right now my exporter goes from Heroes of Newerth format to Collada. What would be the best way to import from there into raylib? (They’re rigged character meshes with 15+ animations for each, so it’s a bit tricky since there’s no universal simple format like obj.)
raylib supports several 3d model formats (obj, gltf/glb, iqm, m3d, vox), I think Blender has exporters for most of them. Note that some formats support must be enabled in raylib/src/config.h file!
I edited in some context — they’re rigged character meshes with animations, so a few formats are unusable here (like obj) since it can’t handle skeletons. Would you guess that iqm is the best one to look into out of the ones you listed? Otherwise I guess I’ll buckle up and look at all of them.
(Kind of sheepish that the only formats I’ve heard of are obj and m3d…)
That's because those got finished and shipped. There are a huge number of hobbyist small game engines that made it to about 80% of useful before the creator got bored. This is the "0.x" curse of open source. In the Rust gamedev world, it's said that there are five games and fifty engines.
In Rust land, if you want to do something that will get used, get behind WGPU, Bevy, and Rend3, and push. It won't be easy, because they've solved the easy problems and are now working on the hard ones. Progress is way too slow.
Not to impose upon you with a technical question, but I have one for you if you're up for it.
I'm working with a very small indie language implemented in C that has bindings to raylib as a "first party" library/language extension. I'm trying to get raygui working with those bindings.
If I bundle raygui.h together with the rest of the raylib bindings library, everything seems to work. But, if I create a separate bindings library for raygui and try to import both libraries in the same program, then raygui functions seg fault immediately when called (valgrind points to, as an example, GuiCheckBox -> DrawRectangle -> rlSetTexture).
I don't know enough about C programming to trace this all the way down (I've only learned what I know by trying to cobble together extensions for this language) but it seems like when raygui is compiled apart from the main raylib bindings library, raygui somehow isn't able to share the OpenGL context created by the main library? That diagnosis might be a completely off-base, but that's what it seems like anyway.
Is this a familiar situation at all that you've seen in any other language with bindings for raylib? Any advice for what I could try to get this working?
I know it's hard to say anything conclusive without looking at actual code, but at the same time I don't want to take up any more than the bare minimum of your time.
My recommendation is to compile raygui together with raylib, afair, the default raylib Makefile includes an option to add ragui module into raylib on compilation.
I'm currently making an isometric pixel art game using SFML [0]. Technically this is not possible since SFML does not use a depth buffer/z value, but I found a way around this.
I still feel limited in SFML in many ways, like being forced to use the color channels to pass custom codes to the GPU for shaders (while still needing to use color)
Is it possible to setup a custom vertex array in raylib? Beyond world pos, texture pos, and color, is it easy to pass additional information to the GPU for customizing assets in the shader?
Most (all?) of the examples I've see are 3D, but I imagine raylib would have no problem handling a 2D game? Or is specifically designed for 3D and 2D is an afterthought/non-existant?
[0] https://twitter.com/YesboxStudios/status/1676924625912045568