Skip to content

flipcoder/qor

Repository files navigation

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

pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy