OpenGL Development Cookbook
eBook - ePub

OpenGL Development Cookbook

  1. 326 pages
  2. English
  3. ePUB (mobile friendly)
  4. Available on iOS & Android
eBook - ePub

OpenGL Development Cookbook

About this book

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.

Tools to learn more effectively

Saving Books

Saving Books

Keyword Search

Keyword Search

Annotating Text

Annotating Text

Listen to it instead

Listen to it instead

Information

OpenGL Development Cookbook


Table of Contents

OpenGL Development Cookbook
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…
There's more…
Rendering a simple colored triangle using shaders
Getting ready
How to do it…
How it works…
There's more…
See also
Doing a ripple mesh deformer using the vertex shader
Getting ready
How to do it…
How it works…
There's more
Dynamically subdividing a plane using the geometry shader
Getting ready
How to do it…
How it works…
There's more…
See also
Dynamically subdividing a plane using the geometry shader with instanced rendering
Getting ready
How to do it…
How it works…
See also
Drawing a 2D image in a window using the fragment shader and the SOIL image loading library
Getting ready
How to do it…
How it works…
There's more…
2. 3D Viewing and Object Picking
Introduction
Implementing a vector-based camera with FPS style input support
Getting ready
How to do it…
There's more…
See also
Implementing the free camera
Getting ready
How to do it…
There's more…
See also
Implementing the target camera
Getting ready
How to do it…
There's more…
See also
Implementing view frustum culling
Getting ready
How to do it…
How it works…
There's more…
See also
Implementing object picking using the depth buffer
Getting ready
How to do it…
How it works…
There's more…
See also
Implementing object picking using color
Getting ready
How to do it…
How it works…
See also
Implementing object picking using scene intersection queries
Getting ready
How to do it…
How it works…
There's more…
See also
3. Offscreen Rendering and Environment Mapping
Introduction
Implementing the twirl filter using the fragment shader
Getting ready
How to do it…
How it works…
There's more...
Rendering a skybox using static cube mapping
Getting ready
How to do it…
How it works…
There's more…
Implementing a mirror with render-to-texture using FBO
Getting ready
How to do it…
How it works…
There's more…
See also
Rendering a reflective object using dynamic cube mapping
Getting ready
How to do it…
How it works…
There's more…
See also
Implementing area filtering (sharpening/blurring/embossing) on an image using convolution
Getting ready
How to do it…
How it works...
There's more…
See also
Implementing the glow effect
How to do it…
How it works…
There's more…
See also
4. Lights and Shadows
Introduction
Implementing per-vertex and per-fragment point lighting
Getting started
How to do it…
How it works…
There's more…
See also
Implementing per-fragment directional light
Getting started
How to do it…
How it works…
There's more…
See also
Implementing per-fragment point light with attenuation
Getting started
How to do it…
How it works…
There's more…
See also
Implementing per-fragment spot light
Getting started
How to do it…
How it works…
There's more…
See also
Implementing shadow mapping with FBO
Getting started
How to do it…
How it works…
There's more…
See also
Implemeting shadow mapping with percentage closer filtering (PCF)
Getting started
How to do it…
How it works…
There's more…
See also
Implementing variance shadow mapping
Getting started
How to do it…
How it works…
There's more…
See also
5. Mesh Model Formats and Particle Systems
Introduction
Implementing terrains using the height map
Getting started
How to do it…
How it works…
There's more…
See also
Implementing 3ds model loading using separate buffers
Getting started
How to do it…
How it works…
There's more…
See also
Implementing OBJ model loading using interleaved buffers
Getting started
How to do it…
How it works…
There's more…
See also
Implementing EZMesh model loading
Getting started
How to do it...
How it works…
There's more…
See also
Implementing simple particle system
Getting started
How to do it…
How it works…
There's more…
See also
6. GPU-based Alpha Blending and Global Illumination
Introduction
Implementing order-independent transparency using front-to-back peeling
Getting ready
How to do it…
How it works…
There's more…
See also
Implementing order-independent transparency using dual depth peeling
Getting ready
How to do it…
How it works…
There's more…
See also
Implementing screen space ambient occlusion (SSAO)
Getting ready
How to do it…
How it works…
There's more…
See also
Implementing global illumination using spherical harmonics lighting
Getting ready
How to do it…
How it works…
There's more…
See also
Implementing GPU-based ray tracing
Getting ready
How to do it…
How it works…
There's more…
See also
Implementing GPU-based path tracing
Getting ready
How to do it…
How it works…
There's more…
See also
7. GPU-based Volume Rendering Techniques
Introduction
Implementing volume rendering using 3D texture slicing
Getting ready
How to do it…
How it works…
There's more…
See also
Implementing volume rendering using single-pass GPU ray casting
Getting ready
How to do it…
How it works…
There's more…
See also
Implementing pseudo-isosurface rendering in single-pass GPU ray casting
Getting ready
How to do it…
How it works…
There's more…
See also
Implementing volume rendering using splatting
Getting ready
How to do it…
How it works…
There's more…
See also
Implementing transfer function for volume classification
Getting ready
How to do it…
How it works…
There's more…
See also
Implementing polygonal isosurface extraction using the Marching Tetrahedra algorithm
Getting ready
How to do it…
How it works…
There's more…
See also
Implementing volumetric lighting using the half-angle slicing
Getting ready
How to do it…
How it works…
There's more…
See also
8. Skeletal and Physically-based Simulation on the GPU
Introduction
Implementing skeletal animation using matrix palette skinning
Getting ready
How to do it…
How it works…
There's more…
See also
Implementing skeletal animation using dual quaternion skinning
Getting ready
How to do it…
How it works…
There's more…
See also
Modeling cloth using transform feedback
Getting ready
How to do it…
How it works…
There's more…
See also
Implementing collision detection and response on a transform feedback-based cloth model
Getting ready
How to do it…
How it works…
There's more…
See also
Implementing a particle system using transform feedback
Getting ready
How to do it…
How it works…
...

Table of contents

  1. OpenGL Development Cookbook

Frequently asked questions

Yes, you can cancel anytime from the Subscription tab in your account settings on the Perlego website. Your subscription will stay active until the end of your current billing period. Learn how to cancel your subscription
No, books cannot be downloaded as external files, such as PDFs, for use outside of Perlego. However, you can download books within the Perlego app for offline reading on mobile or tablet. Learn how to download books offline
Perlego offers two plans: Essential and Complete
  • Essential is ideal for learners and professionals who enjoy exploring a wide range of subjects. Access the Essential Library with 800,000+ trusted titles and best-sellers across business, personal growth, and the humanities. Includes unlimited reading time and Standard Read Aloud voice.
  • Complete: Perfect for advanced learners and researchers needing full, unrestricted access. Unlock 1.4M+ books across hundreds of subjects, including academic and specialized titles. The Complete Plan also includes advanced features like Premium Read Aloud and Research Assistant.
Both plans are available with monthly, semester, or annual billing cycles.
We are an online textbook subscription service, where you can get access to an entire online library for less than the price of a single book per month. With over 1 million books across 990+ topics, we’ve got you covered! Learn about our mission
Look out for the read-aloud symbol on your next book to see if you can listen to it. The read-aloud tool reads text aloud for you, highlighting the text as it is being read. You can pause it, speed it up and slow it down. Learn more about Read Aloud
Yes! You can use the Perlego app on both iOS and Android devices to read anytime, anywhere — even offline. Perfect for commutes or when you’re on the go.
Please note we cannot support devices running on iOS 13 and Android 7 or earlier. Learn more about using the app
Yes, you can access OpenGL Development Cookbook by Muhammad Mobeen Movania in PDF and/or ePUB format, as well as other popular books in Computer Science & Computer Graphics. We have over one million books available in our catalogue for you to explore.