Omega Engine

Omega Engine is a custom Game Engine using C ++ 17 and DirectX 11. The Engine supports features to import 3D models, memory allocation blocks, Artificial Intelligence modules (pathfind, behaviors).

This project was dev


This project was developed to showcase different shader techniques. Using a simple sphere mesh, various effects including dynamic lighting, displacement and normal mapping, specular intensity, alpha blending with clouds, and day and night details were applied to improve the visual quality. I have also added a moon that revolves around the earth.

The animation system


The animation system consists of two parts: a tool pipeline and the runtime. The importer tool is integrated with the Engine using the Open Asset Import Library to deserialize and extract model information including meshes, materials, animation keyframes, and the skeleton hierarchy. The animation runtime is responsible for reading the extracted content, creating the rendering resources, and the animation playback.

Physics system using


Physics system using Verlet Integration for particle dynamics. The system also supports applying different constraints such as springs to control the particles and construct different shapes. As shown in the videos, the system can simulate sticks and other 3d shapes. This technique is commonly used to model soft body simulations suchs as cloth and vegetation.

Autres crédits

Instructor: Peter Chan