Skip to content
A C++11 multi-threaded framework and engine for OpenGL rendering in non-gaming applications - See readme.md about submodules
C C++ GLSL Objective-C Makefile Objective-C++
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
assets
bin
docs
examples
linux
osx
patches
shaders
xclass
.gitignore
.gitmodules
MadStyleTV.config
MadStyleTV.creator
MadStyleTV.files
MadStyleTV.includes
Makefile
madstyle.sln
madstyletv.props
readme.md
topfooter.mk
topheader.mk

readme.md

MadStyle TV - Open source engine for non-gaming applications

OpenGL, C++11, multi-threaded, and cross platform

This project provides a cross-platform OpenGL / Multimedia framework, to serve as examples for learning C++, OpenGL and multimedia technologies.

OpenGL 3.2 core profile at a minimum is required, to be compatible with OSX.

C++11 is the version of choice. Prior to C++11, support for C++ threads couldn't be counted on across all target platforms, particularly Windows. With C++11, std::thread is adequately supported.

Makefiles are provided for Linux building from the command line. The makefiles support the -j option, and the entire project builds in under a minute, including building dependent 3rdParty projects from source. A modern Linux distro with standard development tools installed is assumed, it's been developed on Ubuntu 16.04. GCC version 5 or greater is required.

Project build files for Visual Studio 2013 are provided, as that version is available for free as the Community Edition. It's also the first version of VC++ that adequately supports std::thread classes.

XCode project files for OSX users. I don't claim to be an XCode wiz, there is probably a more elegant structure.

OpenAL, OpenCV and MAVLINK libraries are provided as git submodules.

Short demo videos are available on YouTube:

This repo uses git submodules for some of the larger 3rdParty source code. I don't much care for git submodules, but haven't figured out a viable alternative.

Anyway here's what you need to know:

You can’t perform that action at this time.