blender-tools
Magic Enum C++
Our great sponsors
blender-tools | Magic Enum C++ | |
---|---|---|
6 | 41 | |
362 | 3,700 | |
3.9% | - | |
10.0 | 6.9 | |
over 2 years ago | 5 days ago | |
Python | C++ | |
Apache License 2.0 | MIT License |
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.
blender-tools
-
Does anyone here work in gamedev with Rust as their primary language?
I work at Embark Studios on our creative platform. Our team is building everything in rust.
-
Rust tops StackOverflow Survey 2022 as the most loved language for the 7th year.
Tons of big companies are using it: Amazon, Discord, Cloudflare, etc. You can read about their success stories. As for game development, Veloren is a pretty complex game, and it's written entirely in Rust. Embark is betting on Rust for their game dev projects. ECS makes the dream work here, but an Actor framework would work too. You don't need DI. For example, in the web services I write using Actix, application state (stuff like clients for redis or http, db connection pool, etc.) is stored globally, and shared through the application state extractor. No dependency injection, but accessing that global state is just as convenient as if it was DI. If it's shared across workers, you put it behind a mutex/rwlock or use a concurrent data structure.
-
which concerns of the game dev industry does the committee NOT address ?
https://embark.dev/ is a major player in the rust ecosystem right now. They look like they are aiming for more of a startup feel rather than an indie one.
-
What are some Rust-using companies in Sweden?
We are at Embark! https://embark.dev/, https://embark.rs, https://embark.games.
-
Are there any remote non-crypto Rust jobs?
Is a remote-first culture, Rust-only team building our game platform from scratch on all levels and all types of code (gameplay, engine, generalists, backend, research/ml), and with a strong focus on open source.
-
What are the most important programs to learn/know to become a 3D environment artist for game development?
Tons of game studios are using Blender in production. And for environment creation 3dsMax is much more popular in games. 2 Blender examples: - Embark: https://github.com/EmbarkStudios/blender-tools - Ubisoft: https://github.com/ubisoft/mixer
Magic Enum C++
-
enum_name (yet another enum to/from string conversion utility >=C++11)
What does this have to offer over magic_enum?
-
quill v2.7.0 released - Asynchronous Low Latency C++ Logging Library
But it's a hack, and I prefer not to use hacks in production, because of their significant limitations:
-
Enums with methods
Why reinvent the wheel? magic_enum
-
Macro to write enum and converter from and to string
I strongly recommend that you instead use magic_enum::enum_cast
Magic Enum provides that.
-
New to Programming and Would Like a Code Review or Tips on Readability
While I can understand the sentiment behind that it makes for a poor solution because people seeing the enum will assume it's a valid entry. A better solution is to use something like magic enum for that case.
-
What are some cool modern libraries you enjoy using?
magic_enum by far. It has an extreme amount of black magic, and compiler specific stuff all abstracted away behind its extremely neat user interface.
-
what annoys you most while using c++?
magic_enum
-
Show HN: The Ultimate C++14 Enum Library
To my knowledge magic_enum has some severe limitations; for example, it limits the range of enum values, it cannot handle duplicate enum values, it uses compiler-specific hackes, etc. There is a list of all of them here. [1]
And I'm glad to see interest! I can definitely add string -> enum conversionāI'll see if I can do that right now in fact, it might not take long.
[1] https://github.com/Neargye/magic_enum/blob/master/doc/limita...
-
which concerns of the game dev industry does the committee NOT address ?
It also has really cruel limitations, defaulting to MAGIC_ENUM_RANGE_MAX = 128! It will quietly fail if you try to use this with Vulkan enums for example.
What are some alternatives?
Nameof C++ - Nameof operator for modern C++, simply obtain the name of a variable, type, function, macro, and enum
Protobuf - Protocol Buffers - Google's data interchange format
cereal - A C++11 library for serialization
FlatBuffers - FlatBuffers: Memory Efficient Serialization Library
Boost.Serialization - Boost.org serialization module
pfr - std::tuple like methods for user defined types without any macro or boilerplate code
rttr - C++ Reflection Library
Bitsery - Your binary serialization library
cppbor - An implementation of cbor using C++ 17 variants
protozero - Minimalist protocol buffer decoder and encoder in C++
wise_enum - A reflective enum implementation for C++
MessagePack - MessagePack implementation for C and C++ / msgpack.org[C/C++]