Git Product home page Git Product logo

just-game-engine's Introduction

Just™ game ENgine (JNG)

A 3D/2D game engine developed as an educational project with hope to be usefull.

Prerequisites:

  • CMake >=3.20 (3.22 tested)
  • VulkanSDK 1.3.x.x (1.3.216.0 tested)
    • VULKAN_SDK environment variable has to be set to the installation directory

How to build:

Just™ clone the repository with dependencies:

git clone --recurse-submodules --shallow-submodules https://github.com/Kostu96/just-game-engine.git
cd just-game-engine

then Just™ try:

mkdir build
cd build
cmake ..

and it might Just™ work for you. If not better instructions will come in the future...

Build using your build system (Visual Studio 2022 is tested).

Sctipt API

Lua Script API referene

just-game-engine's People

Contributors

kostu96 avatar

Watchers

 avatar  avatar

Forkers

meowboy326

just-game-engine's Issues

Status of the sample projects

This issue is for manual monitoring of sample projects. This is a temporary solution until automated regression testing is implemented.

hello_triangle:

  • Windows/OpenGL
  • Windows/Direct3D11
  • Windows/Vulkan
  • Linux/OpenGL
  • Linux/Vulkan

hello_cube:

  • Windows/OpenGL
  • Windows/Direct3D11
  • Windows/Vulkan
  • Linux/OpenGL
  • Linux/Vulkan

hello_framebuffer:

  • Windows/OpenGL
  • Windows/Direct3D11
  • Windows/Vulkan
  • Linux/OpenGL
  • Linux/Vulkan

hello_imgui:

  • Windows/OpenGL
  • Windows/Direct3D11
  • Windows/Vulkan
  • Linux/OpenGL
  • Linux/Vulkan

Add shader recompilation after change

Currently, if compiled shaders are cached even if source code changes cached binaries are still used and the developer has to delete them to force recompilation.
Add checksum/hash system to detect that shader source was changed.

Integrate ImGui with engine properly

For now ImGui is hacked in and uses glfw/opengl backends.
Goal is to write ImGui backend that will use engine API.
This will enable ImGui to work on every platform with every rendering API supported and support multi-viewports feature of docking branch.

Z-fighting when 2D rendering

Currently, 2D geometry is rendered using 3D and depth buffer which causes z-fighting.
Because geometry is batched rendering back to front by submit order can't be implemented.
A possible solution is to implement render layers.

Packaging

Explore CMake package creation with CPack, install targets, etc.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.