3DWorld
3D Procedural Game Engine Using OpenGL (by fegennari)
msdf-atlas-gen
MSDF font atlas generator (by Chlumsky)
Our great sponsors
3DWorld | msdf-atlas-gen | |
---|---|---|
54 | 8 | |
1,063 | 682 | |
- | - | |
9.9 | 6.1 | |
about 8 hours ago | 8 days ago | |
C++ | C++ | |
GNU General Public License v3.0 only | MIT License |
The number of mentions indicates the total number of mentions that we've tracked plus the number of user suggested alternatives.
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.
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.
3DWorld
Posts with mentions or reviews of 3DWorld.
We have used some of these posts to build our list of alternatives
and similar projects. The last one was on 2023-06-16.
-
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
msdf-atlas-gen
Posts with mentions or reviews of msdf-atlas-gen.
We have used some of these posts to build our list of alternatives
and similar projects. The last one was on 2023-03-27.
-
Best approach to render a lot of text.
There are tools for making sdf textures like this(msdf-atlas-gen). It has a windows executable to generate the textures.
-
I need help with using font atlas in shaders when using msdf-atlas-gen library from Chlumsky.
Here is the library in question: https://github.com/Chlumsky/msdf-atlas-gen
-
Rendering Artifacts
I'm rather new to computer graphics, and after working on the Vulkan tutorial (https://vulkan-tutorial.com/) I started trying to render a Multi-channel Signed Distance Field (https://github.com/Chlumsky/msdf-atlas-gen).
-
Vulkan Pipeline Settings for SDF Font Render
I'm am fairly new to Vulkan and graphics programming as a whole, and I'm currently trying to render text from a SDF Font atlas (the file is a bitmap). I used the MSDF-atlas-generator to get the atlas and used a boost library to parse the json file which contained the atlas bounds for the specific characters. With the default shader code I have written, (from Vulkan tutorial) my characters render but with a soft edge as in how they're shown in the atlas.
-
Sharing Saturday #395
Floating text. This was long overdue, and was kinda reminded of its importance from /u/nesguru 's updates (similar tileset, but Legend already has floating text). So, I went on to implement something. While I'm using Unity, I do not want to use that "£!$%^ Canvas system, and TextMeshPro (which is the go-to solution for such text) uses Canvas, so ... I had to roll my own solution! There's a paper from Valve for SDF fonts, and some nice person developed an extension for that, which addresses a few issues. So, I went on to implement that, which involved picking some free font online (I chose Roboto Slab from Google Fonts), converting it into a texture, preparing a special JSON with configuration, and a few shaders and a special particle system later, Let There Be Text!. I copied a bit the idea from Tangledeep where floating text goes into random directions sometimes (although there's a now-fixed bug in the video, and text goes left-ish only), and I've also added support for a typewriter effect to be used in certain cases (when characters talk in to-be-developed cutscenes etc)
-
I rendered text!
For those asking for code, the atlas generation code is a library here: https://github.com/Chlumsky/msdf-atlas-gen Admittedly it’s hard to figure out the api, since it’s undocumented, and I had to sort of piece together the correct way to use it by reading through the source code for the console app. I may write up a small tutorial somewhere to help the next person, if I get the time and find a place to post it.
-
Learn Wgpu tutorial updated to 0.10
I think I might be using (maybe my fork of) https://github.com/Chlumsky/msdf-atlas-gen with some cxx-rs bindings for the text rendering portion of things; I'm curious, would you be interested in such a crate?
-
Ever heard of Vector Textures?
msdf-atlas-gen is a version specifically for text.
What are some alternatives?
When comparing 3DWorld and msdf-atlas-gen you can also consider the following projects:
tinygltf - Header only C++11 tiny glTF 2.0 library
msdfgen - Multi-channel signed distance field generator
FastNoise - Fast Portable Noise Library - C# C++ C Java HLSL GLSL JavaScript Rust Go
Vulkan - Examples and demos for the new Vulkan API
single_file_libs - List of single-file C/C++ libraries.
neovim - Vim-fork focused on extensibility and usability
MarkovNameGenerator - :black_nib: Markov process-based procedural name and word generator demo
innit - A roguelike game where you play a micro organism inside a larger organism!
PolyWorld - A world generator that is based on Voronoi diagrams
crates.io - The Rust package registry
Cities - Procedural city & road placement
msdfgl - OpenGL implementation of the MSDF algorithm