Skip to content

Chillstepp/ChillEngine

Repository files navigation

ChillEngine

Introduction

The engine contains four basic modules.

  • Editor — Game Engine Editor.
  • Engine — Carrying the core logic of rendering and game architecture.
  • EngineDLL — Exposed Engine API to Editor.
  • EngineTest — Test Engine features like rendering, game architecture, etc.
  • GameCode/GameProject(Generate by editor) — Gameplay logic.

image-20240331144724543

Build Related

  • Only support Windows now. (Cross platform is in planning).
  • Engine/GameProject has four Configuration: Debug, DebugEditor, Release, ReleaseEditor:
    • DebugEditor/ReleaseEditor ouputs DLL,which will be used for editor
    • Debug/Release output exe.

Engine Features

Editor

  • XML Serialization
  • Undo/Redo Pattern
  • Logger & Filtered log viewer
  • Generate game Solution/Project by EnvDTE(Visual Studio automation) ,and Rider automation is WIP.
    • After the engine creates the project, generates the game code directory framework, generates .sln/.vcxproj, and sets the engine path environment variable.
    • Generate script code after create Script in editor.
    • Build Game Code in editor.

Gameplay Arch

  • Data-oriented
  • Transform/Script component.

Rendering Feature

DX12 Wrapper

  • d3dx12.h like helper function/struct.

  • Use Split Barrier help to improve performance, especially in multi-engine scenarios or where resources are read/write transitioned sparsely throughout one or more command lists. Reference: Split Barriers

  • Cache-Friendly

    • Mesh Data management.

      image-20240423221647571
    • image-20240423224146519

    • image-20240426153116980

    • Material cache, Views cache(D3D12Content.h/.cpp)

  • Use HLSL Dynamic Resources(Shader Model 6.6 Features). Reference

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published