OpenGL development cookbook : over 40 recipes to help you learn, understand, and implement modern OpenGL in your applications / Muhammad Mobeen Movania.

Author
Movania, Muhammad Mobeen [Browse]
Format
Book
Language
English
Εdition
1st ed.
Published/​Created
Birmingham : Packt Pub., 2013.
Description
iii, 311 p. : ill. (some col.)

Details

Subject(s)
Biographical/​Historical note
Movania Muhammad Mobeen: Muhammad Mobeen Movania received his PhD degree in Advanced Computer Graphics and Visualization from Nanyang Technological University (NTU), Singapore. He completed his Bachelor of Science Honors (BCS(H)) in Computer Sciences from Iqra University, Karachi. Before joining NTU, he was a junior graphics programmer at Data Communication and Control (DCC) Pvt. Ltd. Karachi, Pakistan. He was working on DirectX and OpenGL API for producing real-time interactive tactical simulators and dynamic integrated training simulators. His research interests include volumetric rendering, GPU technologies, real-time shadows, digital geometry processing, and hierarchical geometric data structures. He is also the author of an OpenCloth project which implements various cloth simulation algorithms in OpenGL. His blog lists a lot of useful graphics tips and tricks. When not involved with computer graphics, he composes music and is an avid squash player. He is currently working at a research institute in Singapore.
Summary note
The book is written in a Cookbook format with practical recipes aimed at helping you exploit OpenGL to its full potential.This book is targeted towards intermediate OpenGL programmers. However, those who are new to OpenGL and know an alternate API like DirectX might also find these recipes useful to create OpenGL animations.
Notes
"Quick answers to common problems"--Cover.
Bibliographic references
Includes bibliographical references and index.
Language note
English
Contents
  • Intro
  • OpenGL Development Cookbook
  • Table of Contents
  • Credits
  • About the Author
  • About the Reviewers
  • www.PacktPub.com
  • Support files, eBooks, discount offers and more
  • Why Subscribe?
  • Free Access for Packt account holders
  • Preface
  • What this book covers
  • What you need for this book
  • Who this book is for
  • Conventions
  • Reader feedback
  • Customer support
  • Downloading the example code
  • Downloading the color images of this book
  • Errata
  • Piracy
  • Questions
  • 1. Introduction to Modern OpenGL
  • Introduction
  • Setting up the OpenGL v3.3 core profile on Visual Studio 2010 using the GLEW and freeglut libraries
  • How to do it...
  • There's more…
  • Designing a GLSL shader class
  • Getting ready
  • How to do it…
  • How it works…
  • Rendering a simple colored triangle using shaders
  • See also
  • Doing a ripple mesh deformer using the vertex shader
  • There's more
  • Dynamically subdividing a plane using the geometry shader
  • Dynamically subdividing a plane using the geometry shader with instanced rendering
  • Drawing a 2D image in a window using the fragment shader and the SOIL image loading library
  • 2. 3D Viewing and Object Picking
  • Implementing a vector-based camera with FPS style input support
  • Implementing the free camera
  • Implementing the target camera
  • How to do it….
  • Implementing view frustum culling
  • Implementing object picking using the depth buffer
  • Implementing object picking using color
  • Implementing object picking using scene intersection queries
  • 3. Offscreen Rendering and Environment Mapping
  • Implementing the twirl filter using the fragment shader
  • There's more...
  • Rendering a skybox using static cube mapping
  • Implementing a mirror with render-to-texture using FBO
  • Rendering a reflective object using dynamic cube mapping
  • Implementing area filtering (sharpening/blurring/embossing) on an image using convolution
  • How it works...
  • Implementing the glow effect
  • 4. Lights and Shadows
  • Implementing per-vertex and per-fragment point lighting
  • Getting started
  • Implementing per-fragment directional light
  • Implementing per-fragment point light with attenuation
  • Implementing per-fragment spot light.
  • Implementing shadow mapping with FBO
  • Implemeting shadow mapping with percentage closer filtering (PCF)
  • Implementing variance shadow mapping
  • 5. Mesh Model Formats and Particle Systems
  • Implementing terrains using the height map
  • Implementing 3ds model loading using separate buffers
  • Implementing OBJ model loading using interleaved buffers
  • Implementing EZMesh model loading
  • Implementing simple particle system
  • 6. GPU-based Alpha Blending and Global Illumination
  • Implementing order-independent transparency using front-to-back peeling
  • Implementing order-independent transparency using dual depth peeling
  • Implementing screen space ambient occlusion (SSAO)
  • Implementing global illumination using spherical harmonics lighting
  • See also.
  • Implementing GPU-based ray tracing
  • Implementing GPU-based path tracing
  • 7. GPU-based Volume Rendering Techniques
  • Implementing volume rendering using 3D texture slicing
  • Implementing volume rendering using single-pass GPU ray casting
  • Implementing pseudo-isosurface rendering in single-pass GPU ray casting
  • Implementing volume rendering using splatting
  • Implementing transfer function for volume classification
  • Implementing polygonal isosurface extraction using the Marching Tetrahedra algorithm
  • Implementing volumetric lighting using the half-angle slicing
  • 8. Skeletal and Physically-based Simulation on the GPU
  • Implementing skeletal animation using matrix palette skinning
  • Implementing skeletal animation using dual quaternion skinning
  • Modeling cloth using transform feedback
  • Implementing collision detection and response on a transform feedback-based cloth model
  • Implementing a particle system using transform feedback
  • Index.
ISBN
  • 9781849695053
  • 1849695059
OCLC
  • 854569112
  • 1477024475
Doi
10.0000/9781849695053
Statement on responsible collection description
Princeton University Library aims to describe library materials in a manner that is respectful to the individuals and communities who create, use, and are represented in the collections we manage. Read more...
Other views
Staff view

Supplementary Information