Engine with Editor

News (Shadow Mapping)

Shadow Mapping is done. I still have to add more UI variable for the user, so he can change the shadow to fit his game and his GPU performance (eg. percentage-closer filtering can be expensive but make you really nice soft shadow or the bias value).
Might need some more optimization because shadow mapping is a big topic and is really expensive when you want a good resolution on your shadows.

About this project

This is my biggest project, trying to do my own engine with editor and ecs. I am using Raylib for rendering and Dear ImGui for the UI, it's a exellent library for tools or editor UI.

At the beginning I just wanted to do a little physics engine, but since I really enjoy 3D so I decided to push the project further to make an editor. I decided to mimic Unity Ecs since it's probably the best way to do an Engine by yourself.

This project is still in its infancy, and I'm making progress on it every day. I am gonna update this page or you can track my progress on github.

I would really like to be able to push this project far enough to have something completely finished. I still have a lot of work to do on the project. But I feel capable of pushing it much further.

Demo

Engine Demo

Engine Demo 2

Physics (in development)

Here is some of the components you can add to your gameObject, there are some missing on the screen (BoxCollider, SphereCollider, and some custom Components I did for testing or demo like the sphere sender)



Example from code for the Particle system components UI




Features

  • Entity Component system object oriented. (like unity Ecs)
  • Big editor (using ImGui, with dockingspace) where you can create entity, add hierarchy (parent/child), add/remove/active/desactive component from entity, for every component you can change some values, save/load file, assets display etc...

  • Save/load system using Json. Every component can be save et load, it keeps all the hierarchy and the components values.

  • Big Paticles System with Atlas texture map or simple texture for particles.
  • Directional and point lightening.
  • Gizmos to translate/rotate/scale entities and gizmos system for visual help (like for the light).

  • Physics Collider fitting the actual shape if it's a basic shape not a mesh. Rigid body and simulation for physics.

  • Physics between Sphere and Cubes.
  • Rigid body component with simulation.
  • Drag and drop assets from your directory to the engine to use them.
  • Render engine, using Raylib.
  • Moving camera in a 3D world.


In Coming Features

  • Finishing the OBB to OBB physics. (in development)
  • Refacto graphical pipeline for materials.
  • Prefabs system.
  • Graphical pipeline upgrade.
  • Shader Optimization.
  • More and more later.
  • Find this project

    Made with