gui_starter_template
DiligentEngine
gui_starter_template | DiligentEngine | |
---|---|---|
19 | 25 | |
2,391 | 3,317 | |
- | 1.0% | |
3.4 | 9.4 | |
about 1 year ago | 5 days ago | |
CMake | Batchfile | |
The Unlicense | Apache License 2.0 |
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.
gui_starter_template
-
I am finding it incredibly hard to write software in CPP. Where can I get a book for software development in CPP ?
Was checking that as well, can't find it indeed. I would recommend looking into the following: https://github.com/cpp-best-practices/gui_starter_template
-
Collecting the best C++ practices
gui_starter_template. This is a C++ Best Practices GitHub template for getting up and running with C++ quickly.
-
Not adopting newer C++ standards
Next to language versions, spend time setting up your build system (CMake?) with all bells and whistles. You want unit tests, clang-tidy, include-what-you-use, sanitizers, fuzzing, clang-format, package managers. Just take a look at https://github.com/cpp-best-practices/gui_starter_template
-
Good repos for beginners to browse that follow best modern C++ practices (including testing, static analysis etc...)
https://github.com/cpp-best-practices/gui_starter_template from Jason Turner (aka lefticus) is quite a popular one (2.1k stars in Github)
-
The pool of talented C++ developers is running dry
I actually just tried to play around with what seems to be a "modern c++" boilerplate project.
It uses CMake, conan for packaging, clang-tidy and cpp-check, and has templates for fuzz and unit testing[1].
I found it because qtcreator and kdevelop were weirdly clunky and created partly broken qt projects and I figured I wanted to add a package manager and qt to the mix.
The template looks really fancy, but it's so incredibly slow, to the point of being unusable.
It's a ramble yes. But the point is modern C++ tools seem to have added some niceties to the language, but they also brought more of the main C++ issues, i.e. slow compile times and nasty boilerplate in the build process. Yes, I realize CMake isn't modern and there are a bunch of new build tools.
[1] https://github.com/cpp-best-practices/gui_starter_template
-
clang-tidy: Which check flags you typically use?
Clang-tidy file of the C++ Project Template
- Ask HN: Who is using C++ as the main language for new project?
-
Package and project management in C++
For cmake i find this useful: https://cliutils.gitlab.io/modern-cmake/ https://github.com/cpp-best-practices/gui_starter_template
-
How would you create/maintain a new c++ project using modern tools/practices?
Jason Turner (known from cppcast) has following project: https://github.com/cpp-best-practices/cpp_starter_project
-
Recommendations for modern C++ project structures
this is a cpp_question, but anyway, I think this is exactly what you're looking for. Credits go to Jason Turner.
DiligentEngine
- DiligentGraphics: Open-source cross-platform rendering middleware
-
We Are Doomed: A pessimistic point of view of "modern software engineering"
Neither Apple nor Microsoft want any usable multiplatform graphics API. For this reason, none of them delivers such a thing.
If you want a multiplatform graphics API, you should use a library which implements such API on top of these native OS-specific APIs.
I have good experience with that one: http://diligentgraphics.com/diligent-engine/ I’ve used it couple times on Windows with D3D12 backend, and on Linux with GLES 3.1 backend.
-
The Ultimate Cross-Platform Rendering Engine?
Diligent Engine: They say their engine is the successor of bgfx, but I'm not rly into that topic.
-
Collecting the best C++ practices
Diligent Engine. A Modern Cross-Platform Low-Level 3D Graphics Library and Rendering Framework Tweet.
- Diligent Engine 2.5.3 is out: path tracing tutorials, render state cache, hot shader reload and more
- Good repos for beginners to browse that follow best modern C++ practices (including testing, static analysis etc...)
- Check out a new path tracing tutorial in Diligent Engine that shows how to use a render state packager to build pipeline states off-line and pack them into archive so that they can be loaded fast at run time.
-
Improving my CPP skills
Read other people's code (I recommend modern small to medium sized github projects, because large ones can be overwhelming) or else you will forever stay in your bubble of how things are done. For example, I had learned a thing or two by using (and code browsing) diligent engine's source.
-
What is a good absolutely minimalist game/rendering engine?
Diligent Engine
-
A Rant on Developers
I'm not speaking out of my ass, either, I have very actively followed low-level development being done towards open-source engines such as Diligent and Wicked. I personally am a contributor to the latter engine, as well. It is baffling to me that independent developers don't support this platform.
What are some alternatives?
ModernCppStarter - 🚀 Kick-start your C++! A template for modern C++ projects using CMake, CI, code coverage, clang-format, reproducible dependency management and much more.
bgfx - Cross-platform, graphics API agnostic, "Bring Your Own Engine/Framework" style rendering library.
sanitizers - AddressSanitizer, ThreadSanitizer, MemorySanitizer
The-Forge - The Forge Cross-Platform Rendering Framework PC Windows, Steamdeck (native), Ray Tracing, macOS / iOS, Android, XBOX, PS4, PS5, Switch, Quest 2
honggfuzz - Security oriented software fuzzer. Supports evolutionary, feedback-driven fuzzing based on code coverage (SW and HW based)
rust-gpu - 🐉 Making Rust a first-class language and ecosystem for GPU shaders 🚧
json - JSON for Modern C++
nanovg - Antialiased 2D vector drawing library on top of OpenGL for UI and visualizations.
windmap
LLGL - Low Level Graphics Library (LLGL) is a thin abstraction layer for the modern graphics APIs OpenGL, Direct3D, Vulkan, and Metal
Catch - A modern, C++-native, test framework for unit-tests, TDD and BDD - using C++14, C++17 and later (C++11 support is in v2.x branch, and C++03 on the Catch1.x branch)
raylib - A simple and easy-to-use library to enjoy videogames programming