qor

3D OpenGL Game Engine (C++11 w/ Python scripting)

Github stars Tracking Chart

Qor

2D/3D OpenGL Game Engine (C++11 w/ Python scripting)

Featured on the Official GitHub Blog!

Copyright (c) 2007-2018 Grady O'Connell

Open-source under MIT License. See LICENSE file for more information.

See CREDITS.md for a list of contributers.

This is a rewrite of my older game engine, with code dating back to 2007.

Features

  • Cross-platform (Windows, Linux, and Mac(wip))
  • Multi-threaded (more improvements here soon)
  • OpenGL ES-compatible shader-based pipeline
    • Forward rendering w/ multipass lighting
    • Several shaders, including tangent-space bumpmapping
    • Partitioner/culling support
    • Automatic VBO baking of visible areas (10x framerate in many cases)
    • Mesh instance copy-on-write vertex and shader attribute modifications
    • Basic instancing
    • Render-to-Texture
    • Thread-safe OpenGL task handler
  • C++ and (wip) Python support
  • Multi-layer tilemap system for 2D games
    • Compatible with Tiled map editor
  • Python Console
  • Shared resource management
    • Animating Sprites
    • Resource management and multiple path search
    • Resource caching
    • Basic create() function for all types
    • Json config for more complex resources
      • Config-based type-resolution and subresources
    • Composite/nested resource suport
    • User-defined resources
  • 3D Scene graph
    • World matrix transform caching
    • Static mesh baking (collapse to world space and combine)
    • Tracking/following w/ animation support
    • Node factory supporting user classes
    • Node tags
    • Many 3D model formats supported
    • Blender scene exporter
  • Reactive Subsystems
    • Communicate with/between nodes easily by sending/receiving data through named metaobject/json events
    • Each node has a lightweight state machine with signal support
    • User-defined events and states
  • State stack
    • User-defined engine states
    • Async loading screens
  • Input
    • Multiple controllers
    • Bindings specific to player profiles
    • Button/switch-associated events
    • Switch history for timer-based events and multiple fast press events
    • Activation thresholds
  • Animation (code moved to kit)
    • Timer-based keyframes
    • Interpolation/Easing
    • Callback scheduling
  • Music and 3D Sound
    • Powered by OpenAL
    • Wav and Ogg support
    • Thread-safe
  • Cairo 2D primitives w/ Render-To-Texture
  • Pango Font and Text Rendering
  • Headless mode for dedicated servers and unit testing

More features will be listed as I add them...

Screenshots

Micro Army

FRAG.EXE

Lights

Fire

Overview

Name With Ownerflipcoder/qor
Primary LanguageC++
Program languageShell (Language Count: 9)
Platform
License:MIT License
Release Count0
Created At2013-12-18 19:59:01
Pushed At2021-05-19 02:52:22
Last Commit At2021-05-18 19:52:22
Stargazers Count77
Watchers Count13
Fork Count16
Commits Count661
Has Issues Enabled
Issues Count5
Issue Open Count0
Pull Requests Count4
Pull Requests Open Count0
Pull Requests Close Count0
Has Wiki Enabled
Is Archived
Is Fork
Is Locked
Is Mirror
Is Private
To the top