OpenGL development cookbook

This document was uploaded by one of our users. The uploader already confirmed that they had the permission to publish it. If you are author/publisher or own the copyright of this documents, please report to us by using this DMCA report form.

Simply click on the Download Book button.

Yes, Book downloads on Ebookily are 100% Free.

Sometimes the book is free on Amazon As well, so go ahead and hit "Search on Amazon"

OpenGL is the leading cross-language, multi-platform API used by masses of modern games and applications in a vast array of different sectors. Developing graphics with OpenGL lets you harness the increasing power of GPUs and really take your visuals to the next level.
OpenGL Development Cookbook is your guide to graphical programming techniques to implement 3D mesh formats and skeletal animation to learn and understand OpenGL.
OpenGL Development Cookbook introduces you to the modern OpenGL. Beginning with vertex-based deformations, common mesh formats, and skeletal animation with GPU skinning, and going on to demonstrate different shader stages in the graphics pipeline. OpenGL Development Cookbook focuses on providing you with practical examples on complex topics, such as variance shadow mapping, GPU-based paths, and ray tracing. By the end you will be familiar with the latest advanced GPU-based volume rendering techniques.

Author(s): Muhammad Mobeen Movania
Publisher: Packt Publishing
Year: 2013

Language: English
Pages: 326
Tags: Библиотека;Компьютерная литература;OpenGL;

Cover......Page 1
Copyright......Page 3
Credits......Page 4
About the Author......Page 5
About the Reviewers......Page 6
www.PacktPub.com......Page 7
Table of Contents......Page 8
Preface......Page 12
Introduction......Page 18
Setting up the OpenGL v3.3 core profile
on Visual Studio 2010 using the GLEW
and freeglut libraries......Page 19
Designing a GLSL shader class......Page 27
Rendering a simple colored triangle using shaders......Page 30
Doing a ripple mesh deformer using vertex shader......Page 39
Dynamically subdividing a plane using the geometry shader......Page 48
Dynamically subdividing a plane using the geometry shader with instanced rendering......Page 56
Drawing a 2D image in a window using
the fragment shader and the SOIL image loading library......Page 59
Introduction......Page 66
Implementing a vector-based camera with FPS style input support......Page 67
Implementing the free camera......Page 70
Implementing the target camera......Page 74
Implementing view frustum culling......Page 77
Implementing object picking using the
depth buffer......Page 83
Implementing object picking using color......Page 85
Implementing object picking using scene intersection queries......Page 87
Introduction......Page 92
Implementing the twirl filter using fragment shader......Page 93
Rendering a skybox using static cube mapping......Page 96
Implementing a mirror with
render-to-texture using FBO......Page 100
Rendering a reflective object using dynamic cube mapping......Page 104
Implementing area filtering (sharpening/blurring/embossing) on an image using convolution......Page 109
Implementing the glow effect......Page 112
Introduction......Page 118
Implementing per-vertex and per-fragment point lighting......Page 119
Implementing per-fragment directional light......Page 125
Implementing per-fragment point light with attenuation......Page 128
Implementing per-fragment spot light......Page 131
Implementing shadow mapping with FBO......Page 133
Implemeting shadow mapping with percentage closer filtering (PCF)......Page 139
Implementing variance shadow mapping......Page 143
Introduction......Page 152
Implementing terrains using height map......Page 153
Implementing 3ds model loading using separate buffers......Page 157
Implementing OBJ model loading using interleaved buffers......Page 168
Implementing EZMesh model loading......Page 174
Implementing simple particle system......Page 182
Introduction......Page 192
Implementing order-independent transparency using front-to-back peeling......Page 193
Implementing order-independent transparency using dual depth peeling......Page 200
Implementing screen space ambient occlusion (SSAO)......Page 206
Implementing global illumination using spherical harmonics lighting......Page 213
Implementing GPU-based ray tracing......Page 218
Implementing GPU-based path tracing......Page 224
Introduction......Page 230
Implementing volume rendering using 3D texture slicing......Page 231
Implementing volume rendering using
single-pass GPU ray casting......Page 239
Implementing pseudo-isosurface rendering in single-pass GPU ray casting......Page 243
Implementing volume rendering using splatting......Page 248
Implementing transfer function for volume classification......Page 255
Implementing polygonal isosurface extraction using the Marching Tetrahedra algorithm......Page 259
Implementing volumetric lighting using the half-angle slicing......Page 265
Introduction......Page 272
Implementing skeletal animation using matrix palette skinning......Page 273
Implementing skeletal animation using dual quaternion skinning......Page 284
Modeling cloth using transform feedback......Page 290
Implementing collision detection and response on a transform feedback-based cloth model......Page 301
Implementing a particle system using transform feedback......Page 307
Index......Page 318