3D graphics rendering cookbook a comprehensive guide to exploring rendering algorithms in modern OpenGL and Vulkan

The book begins by setting up a development environment and takes you through the steps involved in building a 3D rendering engine with the help of basic, yet self-contained, recipes. Each recipe will enable you to incrementally add features to your codebase and show you how to integrate different 3...

Full description

Bibliographic Details
Main Authors: Kosarevsky, Sergey, Latypov, Viktor (Author)
Format: eBook
Language:English
Published: Birmingham Packt Publishing 2021
Subjects:
Online Access:
Collection: O'Reilly - Collection details see MPG.ReNa
Table of Contents:
  • Initializing Vulkan instances and graphical devices
  • Getting ready
  • How to do it...
  • Initializing the Vulkan swap chain
  • Getting ready
  • How to do it...
  • Setting up Vulkan's debugging capabilities
  • How to do it...
  • There's more...
  • Tracking and cleaning up Vulkan objects
  • Getting ready
  • How to do it...
  • Using Vulkan command buffers
  • How to do it...
  • See also
  • Dealing with buffers in Vulkan
  • Getting ready
  • How to do it...
  • How it works...
  • Using texture data in Vulkan
  • Getting ready
  • How to do it...
  • Using mesh geometry data in Vulkan
  • Getting ready
  • Getting ready
  • How to do it...
  • How it works...
  • Working with Direct State Access (DSA)
  • Getting ready
  • How to do it...
  • There's more...
  • Loading and compiling shaders in OpenGL
  • Getting ready
  • How to do it...
  • There's more...
  • Implementing programmable vertex pulling (PVP) in OpenGL
  • Getting ready
  • How to do it...
  • How it works...
  • There's more...
  • Working with cube map textures
  • Getting ready
  • How to do it...
  • There's more...
  • Compiling Vulkan shaders at runtime
  • Getting ready
  • How to do it...
  • How it works...
  • There's more..
  • There's more...
  • Getting the demo data
  • How to do it
  • There's more...
  • Creating utilities for CMake projects
  • Getting ready
  • How to do it...
  • There's more...
  • Chapter 2: Using Essential Libraries
  • Technical requirements
  • Using the GLFW library
  • Getting ready
  • How to do it...
  • There's more...
  • Doing math with GLM
  • Getting ready
  • How to do it...
  • There's more...
  • Loading images with STB
  • Getting ready
  • How to do it...
  • There's more...
  • Rendering a basic UI with Dear ImGui
  • Getting ready
  • How to do it...
  • There's more...
  • Integrating EasyProfiler
  • Cover
  • Copyright
  • Contributors
  • Table of Contents
  • Preface
  • Chapter 1: Establishing a Build Environment
  • Technical requirements
  • OpenGL 4.6 with AZDO and Vulkan
  • What is the essence of modern OpenGL?
  • Setting up our development environment on Windows
  • Getting ready
  • How to do it...
  • There's more...
  • Setting up our development environment on Linux
  • Getting ready
  • How to do it...
  • Installing the Vulkan SDK for Windows and Linux
  • Getting ready
  • How to do it...
  • There's more...
  • Managing dependencies
  • Getting ready
  • How to do it...
  • How it works..
  • Getting ready
  • How to do it...
  • How it works...
  • There's more...
  • Integrating Optick
  • Getting ready
  • How to do it...
  • How it works...
  • There's more...
  • Using the Assimp library
  • Getting ready
  • How to do it...
  • Getting started with Etc2Comp
  • Getting ready
  • How to do it...
  • There's more...
  • Multithreading with Taskflow
  • Getting ready
  • How to do it...
  • There's more...
  • Introducing MeshOptimizer
  • Getting ready
  • How to do it...
  • There's more...
  • Chapter 3: Getting Started with OpenGL and Vulkan
  • Technical requirements
  • Intercepting OpenGL API calls