Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/flipcoder/qor
3D OpenGL Game Engine (C++ w/ Python scripting)
https://github.com/flipcoder/qor
3d-engine c-plus-plus cpp cpp11 cross-platform game-development game-engine game-engine-3d linux opengl python python-script qor qorengine raknet sdl
Last synced: about 2 months ago
JSON representation
3D OpenGL Game Engine (C++ w/ Python scripting)
- Host: GitHub
- URL: https://github.com/flipcoder/qor
- Owner: flipcoder
- License: mit
- Created: 2013-12-18T19:59:01.000Z (about 11 years ago)
- Default Branch: master
- Last Pushed: 2021-05-19T02:52:22.000Z (over 3 years ago)
- Last Synced: 2024-08-01T03:34:13.833Z (5 months ago)
- Topics: 3d-engine, c-plus-plus, cpp, cpp11, cross-platform, game-development, game-engine, game-engine-3d, linux, opengl, python, python-script, qor, qorengine, raknet, sdl
- Language: C++
- Homepage:
- Size: 1.79 MB
- Stars: 80
- Watchers: 13
- Forks: 16
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
![Qor](https://raw.githubusercontent.com/flipcoder/qor/master/qor.png)
2D/3D OpenGL Game Engine (C++11 w/ Python scripting)
*Featured on the [Official GitHub Blog](https://github.com/blog/2292-game-off-iv-highlights)!*
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](https://github.com/flipcoder/qor-old), with code dating back to 2007.
- [Project Board](https://trello.com/b/0uh8zbxa/qor)
- [Documentation](https://github.com/flipcoder/qor/blob/master/QorBook.md)
- Projects and Examples:
- [FRAG.EXE (First person shooter)](https://github.com/flipcoder/FRAG.EXE)
- [Micro Army (2d platformer)](https://github.com/flipcoder/microarmy)
- [Qorpse (2D shooter)](https://github.com/flipcoder/qorpse)
- [Skyroads-inspired racer](https://github.com/flipcoder/bouncingship)
- [C++ Usage Example](https://github.com/flipcoder/qor/blob/master/src/DemoState.cpp)
- [Python Usage Example](https://github.com/flipcoder/qor/blob/master/bin/mods/scriptdemo/__init__.py)## 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](http://mapeditor.org) 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](https://github.com/flipcoder/kit))
- Timer-based keyframes
- Interpolation/Easing
- Callback scheduling
- Music and 3D Sound
- Powered by OpenAL
- Wav and Ogg support
- Thread-safe
- [Cairo](http://cairographics.org) 2D primitives w/ Render-To-Texture
- [Pango](http://pango.org) Font and Text Rendering
- Headless mode for dedicated servers and unit testingMore features will be listed as I add them...
## Screenshots
[![Micro Army](https://i.imgur.com/cNIOXHal.jpg)](https://i.imgur.com/cNIOXHa.jpg)
[![FRAG.EXE](https://i.imgur.com/P5Pntbsl.jpg)](https://i.imgur.com/P5Pntbs.jpg)
[![Lights](http://i.imgur.com/XNxLRtKl.jpg)](http://i.imgur.com/XNxLRtK.jpg)
[![Fire](http://i.imgur.com/VPH9ZpCl.png)](http://i.imgur.com/VPH9ZpC.jpg)