What you need for this learning path
Module 1:
The module assumes that the reader has basic knowledge of using the OpenGL API. The example code distributed with this module contains Visual Studio 2010 Professional version project files. In order to build the source code, you will need freeglut, GLEW, GLM, and SOIL libraries. The code has been tested on a Windows 7 platform with an NVIDIA graphics card and the following versions of libraries:
- freeglut v2.8.0 (latest version available from: http://freeglut.sourceforge.net)
- GLEW v1.9.0 (latest version available from: http://glew.sourceforge.net)
- GLM v0.9.4.0 (latest version available from: http://glm.g-truc.net)
- SOIL (latest version available from: http://www.lonesock.net/soil.html)
We recommend using the latest version of these libraries. The code should compile and build fine with the latest libraries.
Module 2 :
The recipes in this module use some of the latest and greatest features in OpenGL 4.x. Therefore, in order to implement them, you’ll need graphics hardware (graphics card or onboard GPU) and drivers that support at least OpenGL 4.3. If you’re unsure about what version of OpenGL your setup can support, there are a number of utilities available for determining this information. One option is GLview from Realtech VR, available at: http://www.realtech-vr.com/glview/. If you’re running Windows or Linux, drivers are readily available for most modern hardware. However, if you’re using MacOS X, unfortunately, you may need to wait. As of this writing, the latest version of MacOS X (10.9 Mavericks) only supports OpenGL 4.1.
Once you’ve verified that you have the required OpenGL drivers, you’ll also need the following:
- A C++ compiler. On Linux, the GNU Compiler Collection (gcc, g++, and so on) may already be available, and if not, it should be available through your distribution’s package manager. On Windows, Microsoft Visual Studio will work fine, but if you don’t have a copy, then the MinGW compiler (available from http://mingw.org/) is a good option.
- The GLFW library Version 3.0 or later, available from http://www.glfw.org/. This library provides OpenGL context creation, window support, and support for user input events.
- The GLM library Version 0.9.4 or later, available from http://glm.g-truc.net/. This provides mathematics support with classes for matrices, vectors, common transformations, noise functions, and much more.
Module 3:
This module supports a wide range of platforms and open source libraries, ranging from Windows, Mac OS X, or Linux-based desktop applications to portable Android-based mobile applications. You will need a basic understanding of C/C++ programming and background in basic linear algebra for geometric models.
The following are the requirements for chapters 1 to 3:
- OpenGL version: 2.0 or higher (easy to test on legacy graphics hardware).
- Platforms: Windows, Mac OS X, or Linux.
- Libraries: GLFW for OpenGL Windows/context management and handling user inputs. No additional libraries are needed, which makes it very easy to integrate into existing projects.
- Development tools: Windows Visual Studio or Xcode, CMake, and gcc.
- The following are the requirements for chapters 4 to 6:
- OpenGL version: 3.2 or higher.
- Platforms: Windows, Mac OS X, or Linux.
- Libraries: Assimp for 3D model loading, SOIL for image and texture loading, GLEW for runtime OpenGL extension support, GLM for matrix operations, and OpenCV for image processing.
- Development tools: Windows Visual Studio or Xcode, CMake, and gcc.
- The following are the requirements for chapters 7 to 9:
- OpenGL version: OpenGL ES 3.0.
- Platforms: Linux or Mac OS X for development, and Android OS 4.3 and higher (API 18 and higher) for deployment.
- Libraries: OpenCV for Android and GLM.
- Development tools: Android SDK, Android NDK, and Apache Ant in Mac OS X or Linux.
- For more information, keep in mind that the code in this module was built and tested with the following libraries and development tools in all supported platforms:
- OpenCV 2.4.9 (http://opencv.org/downloads.html)
- OpenCV 3.0.0 for Android (http://opencv.org/downloads.html) SOIL (http://www.lonesock.net/soil.html)
- GLEW 1.12.0 (http://glew.sourceforge.net/)
- GLFW 3.0.4 (http://www.glfw.org/download.html)
- GLM 0.9.5.4 (http://glm.g-truc.net/0.9.5/index.html)
- Assimp 3.0 (http://assimp.sourceforge.net/main_downloads.html)
- Android SDK r24.3.3 (https://developer.android.com/sdk/index.html)
- Android NDK r10e (https://developer.android.com/ndk/downloads/index.html)
- Windows Visual Studio 2013 (https://www.visualstudio.com/en-us/d ownloads/download-visual-studio-vs.aspx)
- CMake 3.2.1 (http://www.cmake.org/download/)