CSEngine is a cross-platform 3D game engine.

Overview

CSEngine - Cross Platform C++ Game Engine

intro-image
platform Travis (.com) last-commit GitHub CodeFactor
CSEngine is a cross-platform 3D game engine.

πŸ’‘ As it is under development, it is not yet suitable for practical use.

Requirements

In all environments

  • CMake 3.15 or higher
  • C++14 compatible compiler
  • GLEW 2.1.0 or higher
  • GLFW 3.3 or higher
  • OpenGL

Android

  • Gradle 4.1.3 or higher
  • NDK 21.2.6472646 or higher

Building

CSEngine is built using CMake. In the case of Windows, it is possible to build with Visual Studio because it supports MSVC build through CMake.

Windows

Put the GLEW library folder in the External/glew folder within the project.

Visual Studio IDE

Open the project via platforms/Windows/CSEngine.sln

CMake (MSVC)

Set the compiler settings to Visual Studio. (For setting method, refer to the help of each IDE such as VS, Clion, etc.)

cmake -DCMAKE_BUILD_TYPE=Debug [Project Path]/CSEngine/platforms/Windows

Create make files.

cmake --build [Directory containing make files]

Build through the created make files.

Linux

apt install build-essential cmake
apt install mesa-common-dev libglfw3 libglfw3-dev libglew-dev

Install external libraries required at build.

cd [Project Path]/CSEngine/platforms/Linux
mkdir build
cd build
cmake -DCMAKE_BUILD_TYPE=Debug ../

Create make files.

cmake --build [Directory containing make files]

Build through the created make files.

Stability

Various stabilization tests such as build tests for various platforms and several unit tests will be added.

Branch Build status
master
build_testing

See more

Review the following documentation:

  • documentation: Documentation that details of the structure and function of CSEngine.
  • to-do list: Documentation that contains the to-do list of the project and notes during development.

3rd Party Copyright & Licence

  • GLEW : Modified BSD License, the Mesa 3-D License (MIT), Khronos License (MIT)
  • GLAD : The MIT License (MIT)
  • GLFW : zlib License
  • IMGUI : The MIT License (MIT)
  • stb : The MIT License (MIT)
  • Squirrel Script : The MIT License (MIT)
  • kuba--/zip : The Unlicense
Comments
  • optimize engine

    optimize engine

    • [x] [Disposal] Tried to optimize animator matrix computation with std::thread.
    • [x] ν‚€ 보간 쀑 μ½”λ“œμ˜ μ΅œμ ν™”κ°€ ν•„μš”(λΆˆν•„μš”ν•œ l-value 객체 생성을 μ΅œμ†Œν™”, 자료ꡬ쑰 μˆ˜μ • λ“±)
    • [ ] Tried to optimize animator component with std::thread.

    pthread이슈 κ΄€λ ¨ 정상 μž‘λ™ ν…ŒμŠ€νŠΈκ°€ ν•„μš”ν•¨

    • [x] Windows
    • [ ] Linux
    • [x] macOS
    • [x] Android
    • [ ] emscripten
    enhancement size/L 
    opened by ounols 1
  • Serialization of the engine

    Serialization of the engine

    Serialization of the engine proceeds. Here's what's serialized:

    Components

    • [x] Animator Component
    • [ ] Joint Component
    • [x] Camera Component
    • [x] Custom Component
    • [ ] Drawable Mesh Component
    • [x] Light Component
    • [x] Render Component
    • [x] Transform Component

    Resources

    • [x] SMaterial
    • [x] SFrameBuffer

    Objects

    • [x] SScene
    • [ ] SPrefab
    • [x] SScriptObject
    enhancement size/XXL 
    opened by ounols 1
  • λ’·λ°°κ²½ 색상 적용 μ•ˆλ¨

    λ’·λ°°κ²½ 색상 적용 μ•ˆλ¨

    https://github.com/ounols/CSEngine/blob/3ee73195154ab458396e23eaab12fabdd4c79e9f/src/Manager/RenderMgr.cpp#L148-L153


    This issue was generated by todo based on a TODO comment in 3ee73195154ab458396e23eaab12fabdd4c79e9f when #5 was merged. cc @ounols.
    todo :spiral_notepad: 
    opened by todo[bot] 1
  • Background μ„€μ • λ”°λ‘œ μ μš©ν•˜λ„λ‘ μˆ˜μ •

    Background μ„€μ • λ”°λ‘œ μ μš©ν•˜λ„λ‘ μˆ˜μ •

    https://github.com/ounols/CSEngine/blob/3ee73195154ab458396e23eaab12fabdd4c79e9f/src/Manager/RenderMgr.cpp#L147-L152


    This issue was generated by todo based on a TODO comment in 3ee73195154ab458396e23eaab12fabdd4c79e9f when #5 was merged. cc @ounols.
    todo :spiral_notepad: 
    opened by todo[bot] 0
  • POSSIBLE ISSUE: unit 1 GLD_TEXTURE_INDEX_2D is unloadable and bound to sampler type (Float)

    POSSIBLE ISSUE: unit 1 GLD_TEXTURE_INDEX_2D is unloadable and bound to sampler type (Float)

    λ§₯ os m2에 λ‹€μŒκ³Ό 같은 λ¬Έμ œκ°€ λ°œμƒν•¨...

    POSSIBLE ISSUE: unit 1 GLD_TEXTURE_INDEX_2D is unloadable and bound to sampler type (Float) - using zero texture because texture unloadable
    

    확인이 ν•„μš”ν•¨

    bug 
    opened by ounols 0
  • 큐브맡 ν…μŠ€μ³ 바인딩 μ„€μ • ν•„μš”

    큐브맡 ν…μŠ€μ³ 바인딩 μ„€μ • ν•„μš”

    https://github.com/ounols/CSEngine/blob/3ee73195154ab458396e23eaab12fabdd4c79e9f/src/Util/Render/SFrameBuffer.cpp#L77-L80


    This issue was generated by todo based on a TODO comment in 3ee73195154ab458396e23eaab12fabdd4c79e9f when #5 was merged. cc @ounols.
    todo :spiral_notepad: 
    opened by todo[bot] 0
Owner
ounols
πŸ•Ή Game Developer | Interested in game engine programming
ounols
Improved version of the X-Ray Engine, the game engine used in the world-famous S.T.A.L.K.E.R. game series by GSC Game World.

OpenXRay OpenXRay is an improved version of the X-Ray Engine, the game engine used in the world-famous S.T.A.L.K.E.R. game series by GSC Game World. S

null 2.2k Dec 2, 2022
Open-source, cross-platform, C++ game engine for creating 2D/3D games.

GamePlay v3.0.0 GamePlay is an open-source, cross-platform, C++ game framework/engine for creating 2D/3D mobile and desktop games. Website Wiki API De

gameplay3d 3.9k Dec 5, 2022
KlayGE is a cross-platform open source game engine with plugin-based architecture.

KlayGE KlayGE is a cross-platform open source game engine with plugin-based architecture. It's started since 2003. The explicit goal of KlayGE is: to

Minmin Gong 1.8k Nov 26, 2022
A cross-platform 2D game engine

nCine nCine is a cross-platform 2D game engine. It is released under the MIT License, Copyright (c) 2011-2021 Angelo Theodorou. For additional informa

nCine 768 Nov 26, 2022
Powerful, mature open-source cross-platform game engine for Python and C++, developed by Disney and CMU

Panda3D Panda3D is a game engine, a framework for 3D rendering and game development for Python and C++ programs. Panda3D is open-source and free for a

Panda3D 3.6k Nov 28, 2022
A powerful free cross-platform RTS game engine

Spring RTS game engine README Spring (formerly TASpring) is an Open Source Real Time Strategy game engine. Visit our project homepage for help, sugges

Spring RTS 2.9k Dec 2, 2022
Intrinsic is a Vulkan based cross-platform game and rendering engine

Intrinsic is a Vulkan based cross-platform game and rendering engine

Benjamin Wrensch 1k Nov 30, 2022
Free, cross-platform 2D game engine powered by Haxe and OpenFL

flixel | addons | ui | demos | tools | templates | docs | haxeflixel.com Links Here are the most important links to get you started with HaxeFlixel: G

HaxeFlixel 1.7k Nov 29, 2022
Godot Engine – Multi-platform 2D and 3D game engine

Godot Engine 2D and 3D cross-platform game engine Godot Engine is a feature-packed, cross-platform game engine to create 2D and 3D games from a unifie

Godot Engine 55.4k Nov 25, 2022
Flax Engine – multi-platform 3D game engine

Flax Engine – multi-platform 3D game engine

Flax Engine 3.7k Nov 27, 2022
The Atomic Game Engine is a multi-platform 2D and 3D engine with a consistent API in C++, C#, JavaScript, and TypeScript

The Atomic Game Engine is a multi-platform 2D and 3D engine with a consistent API in C++, C#, JavaScript, and TypeScript

null 2.8k Nov 24, 2022
CLUSEK-RT is a complex game engine written in C++ and the successor of the CLUSEK game engine

CLUSEK-RT is a complex game engine written in C++ and the successor of the CLUSEK game engine. This engine has been designed with a cross-platform design in mind. Thanks to Vulkan API it delivers a next-gen experience with ray tracing to both Linux and Windows platforms

Jakub BiliΕ„ski 37 Oct 7, 2022
Ground Engine is an easy to use Game Engine for 3D Game Development written in C++

Ground Engine is an easy to use Game Engine Framework for 3D Game Development written in C++. It's currently under development and its creation will b

 PardCode 61 Nov 26, 2022
TrenchBroom is a modern cross-platform level editor for Quake-engine based games.

TrenchBroom is a modern cross-platform level editor for Quake-engine based games.

TrenchBroom 1.3k Dec 2, 2022
Rogy-Engine- - My 3D game engine source code.

Rogy-Engine Development My 3D game engine. (NOT THE FINAL VERSION- Windows only) Features: PBR shading and reflection probes with parallax correction.

AlaX 97 Nov 28, 2022
Hyperion Engine is a 3D game engine written in C++

Hyperion Engine About Hyperion Engine is a 3D game engine written in C++. We aim to make Hyperion be easy to understand and use, while still enabling

null 255 Nov 26, 2022
Minetest is an open source voxel game engine with easy modding and game creation

Minetest is an open source voxel game engine with easy modding and game creation

Minetest 8.2k Nov 28, 2022
Stealthy way to hijack the existing game process handle within the game launcher (currently supports Steam and Battle.net). Achieve external game process read/write with minimum footprint.

Launcher Abuser Stealthy way to hijack the existing game process handle within the game launcher (currently supports Steam and Battle.net). Achieve ex

Ricardo Nacif 80 Nov 25, 2022
Game Boy, Game Boy Color, and Game Boy Advanced Emulator

SkyEmu SkyEmu is low level cycle accurate GameBoy, GameBoy Color and Game Boy Advance emulator that I have been developing in my spare time. Its prima

Sky 287 Dec 3, 2022