OpenGL Development Cookbook


OpenGL Development Cookbook
eBook: $29.99
Formats: PDF, PacktLib, ePub and Mobi formats
$25.49
save 15%!
Print + free eBook + free PacktLib access to the book: $79.98    Print cover: $49.99
$49.99
save 37%!
Free Shipping!
UK, US, Europe and selected countries in Asia.
Also available on:
Overview
Table of Contents
Author
Reviews
Support
Sample Chapters
  • Explores current graphics programming techniques including GPU-based methods from the outlook of modern OpenGL 3.3
  • Includes GPU-based volume rendering algorithms
  • Discover how to employ GPU-based path and ray tracing
  • Create 3D mesh formats and skeletal animation with GPU skinning
  • Explore graphics elements including lights and shadows in an easy to understand manner

Book Details

Language : English
Paperback : 326 pages [ 235mm x 191mm ]
Release Date : June 2013
ISBN : 1849695040
ISBN 13 : 9781849695046
Author(s) : Muhammad Mobeen Movania
Topics and Technologies : All Books, Game Development, Cookbooks, Open Source

Table of Contents

Preface
Chapter 1: Introduction to Modern OpenGL
Chapter 2: 3D Viewing and Object Picking
Chapter 3: Offscreen Rendering and Environment Mapping
Chapter 4: Lights and Shadows
Chapter 5: Mesh Model Formats and Particle Systems
Chapter 6: GPU-based Alpha Blending and Global Illumination
Chapter 7: GPU-based Volume Rendering Techniques
Chapter 8: Skeletal and Physically-based Simulation on the GPU
Index
  • Chapter 1: Introduction to Modern OpenGL
    • Introduction
    • Setting up the OpenGL v3.3 core profile on Visual Studio 2010 using the GLEW and freeglut libraries
    • Designing a GLSL shader class
    • Rendering a simple colored triangle using shaders
    • Doing a ripple mesh deformer using the vertex shader
    • 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
    • Chapter 2: 3D Viewing and Object Picking
      • Introduction
      • Implementing a vector-based camera with FPS style input support
      • Implementing the free camera
      • Implementing the target camera
      • Implementing view frustum culling
      • Implementing object picking using the depth buffer
      • Implementing object picking using color
      • Implementing object picking using scene intersection queries
      • Chapter 3: Offscreen Rendering and Environment Mapping
        • Introduction
        • Implementing the twirl filter using fragment shader
        • Rendering a skybox using the 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
        • Implementing the glow effect
        • Chapter 4: Lights and Shadows
          • Introduction
          • Implementing per-vertex and per-fragment point lighting
          • 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
          • Chapter 5: Mesh Model Formats and Particle Systems
            • Introduction
            • 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
            • Chapter 6: GPU-based Alpha Blending and Global Illumination
              • Introduction
              • 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
              • Implementing GPU-based ray tracing
              • Implementing GPU-based path tracing
              • Chapter 7: GPU-based Volume Rendering Techniques
                • Introduction
                • 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
                • Chapter 8: Skeletal and Physically-based Simulation on the GPU
                  • Introduction
                  • 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

                  Muhammad Mobeen Movania

                  Muhammad Mobeen Movania received his PhD degree in Advance Computer Graphics and Visualization from Nanyang Technological Unviversity (NTU), Singapore. He completed his Bachelors of Science Honors (BCS(H)) in Computer Sciences from Iqra University, Karachi with majors in Computer Graphics and Multimedia. 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 GPU-based volumetric rendering techniques, GPU technologies, real-time soft body physics, real-time dynamic shadows, real-time collision detection and response, and hierarchical geometric data structures. He authored a book chapter in a recent OpenGL book (OpenGL Insights: AK Peters/CRC Press). He is also the author of the OpenCloth project (http://code.google.com/p/opencloth), which implements various cloth simulation algorithms in OpenGL. His blog (http://mmmovania.blogspot.com) 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.

                  Code Downloads

                  Download the code and support files for this book.


                  Submit Errata

                  Please let us know if you have found any errors not listed on this list by completing our errata submission form. Our editors will check them and add them to this list. Thank you.

                  Sample chapters

                  You can view our sample chapters and prefaces of this title on PacktLib or download sample chapters in PDF format.

                  Frequently bought together

                  OpenGL Development Cookbook +    Cisco Unified Communications Manager 8: Expert Administration Cookbook =
                  50% Off
                  the second eBook
                  Price for both: $48.15

                  Buy both these recommended eBooks together and get 50% off the cheapest eBook.

                  What you will learn from this book

                  • Create an OpenGL 3.3 rendering context
                  • Get to grips with camera-based viewing and object picking techniques
                  • Learn off-screen rendering and environment mapping techniques to render mirrors
                  • Discover shadow mapping techniques, including variance shadow mapping
                  • Implement a particle system using shaders
                  • Learn about GPU-based methods for global illumination using spherical harmonics and SSAO
                  • Understand translucent geometry and order independent transparency using dual depth peeling
                  • Explore GPU-based volumetric lighting using half angle slicing and physically based simulation on the GPU using transform feedback

                  In Detail

                  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.

                  Approach

                  This hands-on Cookbook cuts through the preamble and gets straight to the point. OpenGL Development Cookbook is perfect for intermediate C++ programmers. Full of practical techniques for implementing amazing computer graphics and visualizations, using OpenGL. Crammed full of useful recipes, OpenGL Development Cookbook will help you exploit OpenGL to its full potential.

                  Who this book is for

                  OpenGL Development Cookbook is geared toward intermediate OpenGL programmers to take you to the next level and create amazing OpenGL graphics in your applications.

                  Code Download and Errata
                  Packt Anytime, Anywhere
                  Register Books
                  Print Upgrades
                  eBook Downloads
                  Video Support
                  Contact Us
                  Awards Voting Nominations Previous Winners
                  Judges Open Source CMS Hall Of Fame CMS Most Promising Open Source Project Open Source E-Commerce Applications Open Source JavaScript Library Open Source Graphics Software
                  Resources
                  Open Source CMS Hall Of Fame CMS Most Promising Open Source Project Open Source E-Commerce Applications Open Source JavaScript Library Open Source Graphics Software