What does HackerNews think of bevy?
A refreshingly simple data-driven game engine built in Rust
Here's an example using it, it's well suited for "desktop applications", the shorthand to use it is `desktop_app()` https://github.com/bevyengine/bevy/blob/1c5c94715cb17cda5ae2....
Incidentally, this work has led to an official role with the project, tons of professional experience and contacts, and some well-paid consulting gigs. I have a very strange and spotty resume due to health issues, so it's been frankly life-changing.
For example, in the bevy[0] discord alone, there's a remarkable about of advice, plugin recommendations, and technical help that's essentially just lost in noise.
It's a real shame; I can't help but wonder how much effort is repeated, or how much beginners needlessly struggle because they couldn't effectively find information.
One thing you should do is try to limit very short and small segments, as GPUs don’t like rendering 1px triangles.
Still, I’ve been lead to understand that the instanced rendering done in this article is suboptimal on most GPUs. A better way to do it is apparently to put the points into a (non-vertex) buffer and do (batched) drawcalls for large numbers of vertices with a kind of manual instancing. Basically looking up what amounts to instance data using gl_VertexInput/6 and vertex data using gl_VertexIndex%6 (or 4 instead of 6 for indexes rendering).
Unfortunately I haven’t had the time to implement and test this yet.
If like me you’re also rendering lines with perspective, you want to also look at Freya Holmer's work. Particularly line thinness fading is important to reduce shimmer/aliasing. This means basically keep the width at a minimum of 1px and adjusting opacity below that instead.
Edit: For those interested, mine is implemented as a plugin to the Bevy game engine, written in Rust. Bevy can be found here https://github.com/bevyengine/bevy. The plugin is https://github.com/ForesightMiningSoftwareCorporation/bevy_p....
There are libraries enabling ECS for you if you are not looking for an engine like Unity:
C++: https://github.com/skypjack/entt (Non-Java Minecraft uses this)
Java: https://github.com/libgdx/ashley
Rust: https://github.com/bevyengine/bevy (it's still work in progress, not battle-tested and a moving target)