CX3D Game Framework
CX3D, the Game Framework derived from C++ 3D Game Tutorial Series, is now available on GitHub!
Monday 25th April 2022

 

Prologue


C++ 3D Game Tutorial Series is back! The C++ source code of the 3D Game written during the series has been taken, cleaned and improved a lot!

Also other important sub-systems and functionalities have been added to the 3D Framework created during the series, allowing in this way the creation of simple 3D Games easily!

The 3D Framework has been called CX3D Game Framework.

 

CX3D Game Framework


CX3D is nothing more than the final result of C++ 3D Game Tutorial Series.

The purpose of CX3D is to provide a simple and easy to use C++ Game Framework for the Development of simple 3D Games.

The features currently included in the project are:

  • 3D Renderer (DirectX 11)
  • Input System (design improved since the last tutorial)
  • Forward Rendering
    • Support for multiple Directional Lights
  • 3D Models Loader (.obj)
  • Textures Loader(.jpg,.png,.tga,.bmp etc.)
  • Custom Materials: Materials can be customized by adding:
    • custom vertex and pixel shaders
    • textures
  • Game System, composed by:
    • Entity System, the user can now create and customize his/her own entities easily with an Object Oriented approach
    • Default Entities like Camera, Light, Mesh etc.
  • Simple Physics Simulation

In general, the source code has been improved by

  • removing useless classes
  • using smart pointers (introduced in this way a simple Memory Management)
    • unique_ptr
    • shared_ptr
    • ComPtr for DirectX Resources
  • redesigning a bit the various classes like RenderSystem, GraphicsEngine etc.

 

The engine can be compiled in both Debug and Release Modes.

 

Samples


 

As we can see in the images above, CX3D Game Framework let us create 3D games with

  • Multiple Entities (skybox, complex meshes like the various houses, barrels etc., gun and projectiles)
  • Directional Lights
  • Simple Physics Simulation (free fall on the ground, jumping etc.)

 

Source Code


The source code of CX3D Game Framework and SpaceShooter Game Sample are available on GitHub!

The source code of First Person Shooter Game Sample will be available soon!

Here is the link: https://github.com/PardCode/CX3D

 

Documentation


The documentation of CX3D is not currently available, but you can find a Quick Guide to build the framework and the various samples in the README of the project here: https://github.com/PardCode/CX3D#quick-guide-to-build-cx3d-framework-and-game-sample

In the meantime, SpaceShooter Game Sample is a valid doc replacement that shows how to use CX3D to make a simple 3D Game. It is also commented in order to give hints of what happens under the hood.

 

Epilogue


That's all for now, folks!

I hope You'll enjoy to make games and graphics experiments with the CX3D Game Framework!

And If you have any question about this topic, you can leave a comment on Discord, YouTube and the comments section below.

Thank you for all your support!

 

Stay up to date!
Subscribe to the newsletter to receive all the main news about the development of Pard Engine, illuxUI, and the various Tutorial Series!
Subscribe
E-mail is not valid. Please insert a valid e-mail.
If you don't want to receive our news anymore,
unsubscribe now