Chapter 1:Getting Started with OpenGL 1
Introduction 1
Setting up a Windows-based development platform 2
Setting up a Mac-based development platform 5
Setting up a Linux-based development platform 9
Installing the GLFW library in Windows 10
Installing the GLFW library in Mac OS X and Linux 13
Creating your first OpenGL application with GLFW 16
Compiling and running your first OpenGL application in Windows 18
Compiling and running your first OpenGL application in Mac OS X or Linux 23
Chapter 2:OpenGL Primitives and 2D Data Visualization 27
Introduction 27
OpenGL primitives 28
Creating a 2D plot using primitives 38
Real-time visualization of time series 41
2D visualization of 3D/4D datasets 44
Chapter 3:Interactive 3D Data Visualization 49
Introduction 49
Setting up a virtual camera for 3D rendering 50
Creating a 3D plot with perspective rendering 53
Creating an interactive environment with GLFW 60
Rendering a volumetric dataset-MCML simulation 68
Chapter 4:Rendering 2D Images and Videos with Texture Mapping 79
Introduction 79
Getting started with modern OpenGL(3.2 and higher) 80
Setting up the GLEW,GLM,SOIL,and OpenCV libraries in Windows 81
Setting up the GLEW,GLM,SOIL,and OpenCV libraries in Mac OS X/Linux 86
Creating your first vertex and fragment shader using GLSL 89
Rendering 2D images with texture mapping 98
Real-time video rendering with filters 111
Chapter 5:Rendering of Point Cloud Data for 3D Range-sensing Cameras 121
Introduction 121
Getting started with the Microsoft Kinect(PrimeSense)3Drange-sensing camera 122
Capturing raw data from depth-sensing cameras 123
OpenGL point cloud rendering with texture mapping and overlays 126
Chapter 6:Rendering Stereoscopic 3D Models using OpenGL 141
Introduction 141
Installing the Open Asset Import Library(Assimp) 142
Loading the first 3D model in the Wavefront Object(.obj)format 144
Rendering 3D models with points,lines,and triangles 150
Stereoscopic 3D rendering 161
Chapter 7:An Introduction to Real-time Graphics Rendering on a Mobile Platform using OpenGL ES 3.0 169
Introduction 169
Setting up the Android SDK 170
Setting up the Android Native Development Kit(NDK) 173
Developing a basic framework to integrate the Android NDK 174
Creating your first Android application with OpenGL ES 3.0 180
Chanter 8:Interactive Real-time Data Visualization on Mobile Devices 193
Introduction 193
Visualizing real-time data from built-in lnertial Measurement Units(IMUs) 194
Part Ⅰ-handling multi-touch interface and motion sensor inputs 213
Part Ⅱ-interactive,real-time data visualization with mobile GPUs 219
Chapter 9:Augmented Reality-based Visualization on Mobile or Wearable Platforms 233
Introduction 233
Getting started Ⅰ:Setting up OpenCV on Android 234
Getting started Ⅱ:Accessing the camera live feed using OpenCV 236
Displaying real-time video using texture mapping 244
AR-based data visualization over real-world scenes 256
Index 271