single_file_libs
3DWorld
Our great sponsors
single_file_libs | 3DWorld | |
---|---|---|
12 | 54 | |
8,646 | 1,063 | |
- | - | |
0.0 | 9.9 | |
4 months ago | about 9 hours ago | |
C++ | ||
- | GNU General Public License v3.0 only |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
single_file_libs
- Package manager for single file libs?
-
NASA ICER image compression algorithm as a C library
Yep: https://github.com/nothings/single_file_libs
-
How do I structure a library in C?
Also sometimes I use only header (.h) with all functions included wrapped by #ifndef and #endif. When I use these? for code that I always reuse to simplify things and some data stucture handling (to implement dynamic arrays). A good example list of these (not mine) are https://github.com/nothings/single_file_libs
-
I re-implemented the Servo library for fun :)
Also, there are many libraries that are much bigger (little list I found) but are implemented in a single header file.
- Any website that lists all the available libraries for C?
- Is it me or is C++ on an Arduino abstracted to the point where it's basically a scripting language?
-
Is there a data structures library I can use with Raylib?
If others have a similiar problem, I found a great github page that has lots of single header libraries, including data structures.
-
Designing Low Upkeep Software
> Like, why don't we just let projects be "done"? Things don't need to be maintained and updated for eternity.
This is generally why I opt for "single-file" libraries that do one simple task well. The smaller the library, the more likely it is "done". For example, do I want some insanely complex image library that handles every file format under the sun, or do I just want some basic one that allows me to output a simple JPEG?
I often find myself referring to "single_file_libs" repository: https://github.com/nothings/single_file_libs
Looking at the open issues, it doesn't appear to be actively maintained but it's still an incredibly good resource for "completed" projects.
-
Subscription Based Games
Steamworks is the easy option, but if you're programming-savvy you could also use a networking library (some lists for C and C++: 1 2 3) to accomplish the same thing.
-
Is there a simple and reliable static object loader out there?
Have a look at these. https://github.com/nothings/single_file_libs#geometry-file
3DWorld
-
Generating Master of Orion 2 like starmap
You mean you want to draw the individual stars themselves? It's likely just a texture, probably white so that it can be colored differently for each star. This is how I've done it. Try a Google image search for "flare texture". You can find some of the ones I used here (flare*.jpg): https://github.com/fegennari/3DWorld/tree/master/textures
-
Map Generation by Diamond Square with Shading and Raycasted Shadows.
I remember it being called "wave surfing", where you start at the current pixel and draw a line to the light source, checking the elevation vs. the altitude value of the line (Y or Z) at every step. I have the code in my mesh_shadow_gen class here: https://github.com/fegennari/3DWorld/blob/master/src/visibility.cpp
-
How to manage a buffer containing objects of varying size? For sparse chunk loading/unloading
This all sounds complex, but the system can be made to work well. I've written something similar myself, except with VBOs rather than SSBOs. My code can be found in these two files: https://github.com/fegennari/3DWorld/blob/master/src/buildings.h
-
Procedurally Generated Spider Model and Animation
C++ code for drawing spiders can be found in my GitHub project, in the spider_draw_t class: https://github.com/fegennari/3DWorld/blob/master/src/building_animal_draw.cpp
-
Procedurally generated 8km Octree Terrain using Compute Shaders and WGPU (Rust)
Filling the cracks properly generally gives better performance and fewer drawing artifacts compared to skirts. If you use indexed triangles and set them up in neat rows and columns, it's pretty easy to get right. No lookup tables or big switch cases, and it works with any number of LODs. See the crack_ibuf_t code starting around like 1800 here: https://github.com/fegennari/3DWorld/blob/master/src/tiled_mesh.cpp
-
Pixel planets with Pygame and OpenSimplex
I wrote a planet name generator that combines multi-character combinations. It may not do as good as a proper Markov Chain, but may produce names that sound better than your simple approach. If you're interested, the code can be found here: https://github.com/fegennari/3DWorld/blob/master/src/Universe_name.cpp
-
Reusing vertices while using marching cubes/tetrahedra
The code for this is in my voxel_manager::add_triangles_for_voxel() on line 497 here: https://github.com/fegennari/3DWorld/blob/master/src/voxels.cpp
- Memory Management for infinite procedural generation algorithm (please help me I beg)
-
Best approach to render a lot of text.
Thanks. Yes, I was looking at this. The problem is that the texture atlases are in a different format than the ones I currently use. The MSDF versions don't have all of the ASCII characters and some characters have a different number of pixels. So it's not a drop in replacement for my system, which is using texture atlases like this: https://github.com/fegennari/3DWorld/blob/master/textures/atlas/text_atlas.png
-
Rigid Body Physics with rotation question
I have some code for this here, but it's part of a large project and not easy to read/understand: https://github.com/fegennari/3DWorld/blob/master/src/free_obj.cpp
What are some alternatives?
awesome-cpp - A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny things. Inspired by awesome-... stuff.
tinygltf - Header only C++11 tiny glTF 2.0 library
collapseos - Bootstrap post-collapse technology
FastNoise - Fast Portable Noise Library - C# C++ C Java HLSL GLSL JavaScript Rust Go
awesome-c - A curated list of awesome C frameworks, libraries, resources and other shiny things. Inspired by all the other awesome-... projects out there.
MarkovNameGenerator - :black_nib: Markov process-based procedural name and word generator demo
PolyWorld - A world generator that is based on Voronoi diagrams
mu - Soul of a tiny new machine. More thorough tests → More comprehensible and rewrite-friendly software → More resilient society.
Cities - Procedural city & road placement
tinyobjloader - Tiny but powerful single file wavefront obj loader
webgl-noise - Procedural Noise Shader Routines compatible with WebGL