Giter Club home page Giter Club logo

app-simple-gl's Introduction

Simple App for learning things

git submodules init
git submodules update
mkdir build
cd build
cmake .. -G"Visual Studio 14 2015 Win64"

Currently only set-up for Windows. Requires Visual Studio 2015 and CMake >= 3.4.0 Linux/OSX build configurations will come at some later date.

Debug and Release builds all go into the same directory. Lots of things don't compile. Many things leak memory. Lots of dangling pointers. Don't use this as a reference for anything.

I'm 90% sure I don't have any idea what I'm doing.

app-simple-gl's People

Contributors

mschnee avatar

Stargazers

 avatar

Watchers

 avatar  avatar

app-simple-gl's Issues

Create ExternalProject custom build steps for third-party libraries

Create external build steps.

As a developer on any platform, I want the CMake configuration to automatically build and copy the third-party dependencies for me, without needing to compile them manually. Additionally, I don't want my project in my IDE to be messy with thousands of external build targets.

Background

We've essentially settled on the following libraries:

  • GLFW for creating windows, setting up the GL context, and being the first responder for all low-level input events.
  • OpenAL for low-level audio (still on the fence, researching newer cross-platform options)
  • FFMpeg for converting audio streams.
  • GLM for math.
  • stl/c++11 because the free Community Edition of Visual Studio doesn't support c++14.

glm is a header-only library and can be used directly.
glfw and OpenAL have CMakeLists.txt files, and we can just add_subdirectory() to include them, but they add lots of complex targets and make our project messy, so we want to build them externally. This should be straightforward with ExternalProject_Add
ffmpeg comes with Makefile, xcodeproject, and vcproj project files for each platform. This may require custom, platform-specific cmake definitions.

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.