An easy to use C++ 3D Game Framework
CX3D Framework is an easy to use Game Framework for the development of 3D Games in C++.
The framework is written in C++ 17 and it provides a set of features that allow the users to make games quickly at low-level.
At the same time, the users can improve
CX3D by adding new functionalities or extending the existing ones.
Games made upon this framework, and the framework itself, can be easily debugged and compiled in Release and/or Debug Mode.
The project aims to give the developers a complete and total control over the development of their games, starting from the internal
low-level systems like Graphics Engine, Input Manager, Game System etc. arriving to the
high-level classes (e.g. Entities).
This repository contains:
- Source Code of
- Source Code of a series of
Samplesthat show how to use the framework (e.g. SpaceshipGame).
The repository contains also branches like
AssetsAndLibs, related to the YouTube Tutorial Series called
C++ 3D Game Tutorial Series.
CX3D Framework derives from this Tutorial Series.
However, these branches must be considered completely unrelated to the framework.
The license is available here.
- Entity System
- Dynamic Creation and Release of custom Entities through templating features:
- Event-based Logic support:
onUpdate(f32 deltaTime), …
- Default Entity classes available out-of-the-box:
- Graphics APIs:
- Forward Rendering
- Phong-Based Lighting
- Static Meshes Support:
.obj(all formats supported by
- Textures Support:
.tgaetc. (all formats supported by
- Materials Support:
HLSLShading Language, Textures, Custom Data Passage
- Mouse Input Events Support
- Keyboard Input Events Support
- Native windowing and event support under Windows.
Quick Guide to build CX3D Framework and Game Sample
- Visual Studio 2019 or later.
- Windows 10 or later.
SpaceshipGame.sln Project, available under the
In Visual Studio, press the
Local Windows Debugger button available in the main Toolbar.
Public discussion forum
The Discord Server is the place for project news, discussions of latest developments and any questions you have on how to use the
CX3D Framework to develop your own 3D Games.
This project is available under a free and permissive license, but needs a financial support to sustain its development.
CX3D Framework is helpful to you, consider to support it through
Every single contribution makes the difference, regardless the amount. Many thanks to all these people who have supported me so far!
Thank you so much for your huge support!
Patreon Supporters (alphabetical order)
Adam L. – Ahmad A. – Alex G. – Andrey G. – Andrew C. – Andrew M. – Anotherbear Gamer – Asterot13 – Austin M. Bastien R. – bdfy – Biuret – Carlo S. – Daniel W. – Edward T.O. – Elite Salad – EthanEdits – Guarded – hisuzuki Howl C – James B. – JaviFML – Jesse M.C. – Jonas F. – Joshua v. – Kim W. – kuronk cat – Lie – Mackay N. – Manuel H. Mateusz P. – Matthew – Michael W. – Miles H. – Mohammed A. – Murdo M. – Nikhil R. – Neil W. – Oliver H. – Otturd Patrick B. – Patrick L. – Ridtichai B. – Rem saigao – REX Li – Robson – SleepingDog – Snip – Squeegiefilms Tatsuya – Tentacle Princess – The Spygineer – The Tutorial Chef – TheDevUK – Tim. A. – Tom L.Valgard Werner O. – WyattFlash
All YouTube – Discord – GitHub – Twitter – Facebook followers and viewers
P.S.: If you are a Patron and you want to be added/removed to/from this list, please send a message to PardCode through Patreon.
The license of this project is based on the modified MIT-License.
That means you can do whatever you want with the code available in this repository. The only conditions to meet are:
- include the license text in your product (e.g. in the About Window of a GUI Application, About/Credits Section of a 2D/3D VideoGame)
- include the license text in all the source code files (copy-paste the license text to the top of all the source code files you get from this repository, even if you have partially modified them.)
If you want to modify and redistribute the source code files available in this repository, you can optionally add your own copyright notice together with the license text in this way:
... CX3D Game Framework (https://github.com/PardCode/CX3D) <project name>, <website link or nothing> Copyright (c) 2019-2022, PardCode Copyright (c) <your years>, <your name> ...
The license text is available in the