Jewel3D is a free C++ game development framework for Windows. It features a powerful Entity-Component-System and fine-grain control of both 2D and 3D rendering.
The framework facilitates expressive and succinct code that is both easy to read, and to use. With a thin API and modern C++17 concepts, Jewel3D provides powerful features without feeling clunky.
Highlight features include:
- A rich shader workflow
- Efficient entity queries
- Extendable asset management
- A modular and extendable particle system
- Audio powered by OpenAL
- Mesh and Texture loading
- FreeType text rendering
- Event dispatching and response
- Robust fixed-timestep updates
- A complete math library
- Keyboard/Mouse/Xbox-Controller support
- Local networking
- Run "INSTALL.cmd" to save the checkout path to the environment and install project templates.
- You might have to restart your computer for this to take effect.
- Run "BUILD.cmd" to compile the engine and tools.
- Create a new game project by selecting
Add New Project -> Visual C++ -> Jewel3D Project
.- Due to a known bug in Visual Studio, source files are missing from the template project.
- Feel free to manually copy the project from
\Jewel3D\Tools\TemplateProject\
until this is fixed. - Includes and link dependencies are still set up correctly.
Code samples are available and maintained here.
Jewel3D is always being updated and improved. See the Trello board to follow development.
Future highlight features include:
- Custom GUI support
- A fully featured world/UI editor
- Bullet physics integration
- Custom memory management
- C++ reflection driven features
- Animations
- Serialization and deserialization
- Networking
- Seamless editor integration of user components
All Dependencies used under their respective licenses. Copyright is held by their respective owners.
- Jewel3D is built for Windows with Visual Studio 2017 Community (Update 5) and is not tested on other compilers, IDEs, or platforms.
- Jewel3D requires at least OpenGL 3.3.
- Jewel3D is provided under the MIT License.