Git Product home page Git Product logo

quartzengine's Introduction

Quartz Engine

Quartz Engine is a fully 3D game engine built in C++ using Vulkan. This is primarily a personal project.

Features (WIP)

  • Core
    • Sub-Systems
    • Multi-module
    • Custom memory allocation
    • Cross-platform
      • Windows
      • Linux
      • MacOS
  • Windowing System
    • Single window
    • Dynamicly resizeable swapchain
    • Multiple windows
  • Input
    • Input callbacks
    • Controller suport
    • Device connection callbacks
    • Windows DirectInput support
  • Graphics System
    • Vulkan support
    • OpenGL support
    • Geometry
    • Textures/Normals
    • Vert/Frag Shaders
    • Geom/Tess Shaders
    • Mesh Shaders
    • Ray Tracing Shaders
    • Compute shaders
    • Physically Based Rendering
    • Shader reflection
    • Pipeline state serialization
  • Entity Component System
    • Multiple 'worlds'
    • Component-system registry
    • Itterable by component filters
    • Contiguous memory for component types
    • Template meta-programming
  • Custom Standard Libraries
    • String
      • Sub-String
      • Unicode support
    • Array (vector)
    • Linked List
    • Map (Hashmap, implemented robin-hood)
    • Set (Hashset)
    • Stack
    • Tuple
    • Heap
    • BitSet
    • Pool
    • Buffer (byte, int, etc)
    • Reference pointer
  • Math
    • Vector2/3/4
    • Matrix4
    • Matrix 2/3/etc
    • Quaternions
    • Point/Bounds
    • SIMD
  • Reflection
    • Compile-time type ids
    • Full run-time object reflection
  • Editor
  • Additional
    • OBJ support
    • GLTF support
    • Custom model format
    • Serialization

Dependencies

  • C++17 or higher
  • Vulkan SDK
    • Any Vulkan 1.2+ SDK with VULKAN_SDK path set
  • Windows SDK
    • Any Windows 10 SDK (you may need to retarget solution)

quartzengine's People

Contributors

nebulousdev avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar

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.