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...
Main Authors: | , |
---|---|
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