3D Graphics Rendering Cookbook: A comprehensive guide to exploring rendering algorithms in modern OpenGL and Vulkan (Paperback)

Kosarevsky, Sergey, Latypov, Viktor

  • 出版商: Packt Publishing
  • 出版日期: 2021-08-25
  • 售價: $2,130
  • 貴賓價: 9.5$2,024
  • 語言: 英文
  • 頁數: 670
  • 裝訂: Quality Paper - also called trade paper
  • ISBN: 1838986197
  • ISBN-13: 9781838986193
  • 相關分類: OpenGLVulkanAlgorithms-data-structures
  • 海外代購書籍(需單獨結帳)

買這商品的人也買了...

商品描述

Build a 3D rendering engine from scratch while solving problems in a step-by-step way with the help of useful recipes

 

Key Features:

  • Learn to integrate modern rendering techniques into a single performant 3D rendering engine
  • Leverage Vulkan to render 3D content, use AZDO in OpenGL applications, and understand modern real-time rendering methods
  • Implement a physically based rendering pipeline from scratch in Vulkan and OpenGL

 

Book Description:

OpenGL is a popular cross-language, cross-platform application programming interface (API) used for rendering 2D and 3D graphics, while Vulkan is a low-overhead, cross-platform 3D graphics API that targets high-performance applications. 3D Graphics Rendering Cookbook helps you learn about modern graphics rendering algorithms and techniques using C++ programming along with OpenGL and Vulkan APIs.

 

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 3D rendering techniques and algorithms into one large project. You'll also get to grips with core techniques such as physically based rendering, image-based rendering, and CPU/GPU geometry culling, to name a few. As you advance, you'll explore common techniques and solutions that will help you to work with large datasets for 2D and 3D rendering. Finally, you'll discover how to apply optimization techniques to build performant and feature-rich graphics applications.

 

By the end of this 3D rendering book, you'll have gained an improved understanding of best practices used in modern graphics APIs and be able to create fast and versatile 3D rendering frameworks.

 

What You Will Learn:

  • Improve the performance of legacy OpenGL applications
  • Manage a substantial amount of content in real-time 3D rendering engines
  • Discover how to debug and profile graphics applications
  • Understand how to use the Approaching Zero Driver Overhead (AZDO) philosophy in OpenGL
  • Integrate various rendering techniques into a single application
  • Find out how to develop Vulkan applications
  • Implement a physically based rendering pipeline from scratch
  • Integrate a physics library with your rendering engine

 

Who this book is for:

This book is for 3D graphics developers who are familiar with the mathematical fundamentals of 3D rendering and want to gain expertise in writing fast rendering engines with advanced techniques using C++ libraries and APIs. A solid understanding of C++ and basic linear algebra, as well as experience in creating custom 3D applications without using premade rendering engines is required.

商品描述(中文翻譯)

從頭開始建立一個3D渲染引擎,並透過有用的配方逐步解決問題。

主要特點:
- 學習將現代渲染技術整合到一個高效的3D渲染引擎中。
- 利用Vulkan渲染3D內容,在OpenGL應用中使用AZDO,並了解現代實時渲染方法。
- 在Vulkan和OpenGL中從頭實現基於物理的渲染流程。

書籍描述:
OpenGL是一個流行的跨語言、跨平台應用程序編程接口(API),用於渲染2D和3D圖形,而Vulkan是一個低開銷、跨平台的3D圖形API,專注於高性能應用。《3D圖形渲染食譜》通過使用C++編程以及OpenGL和Vulkan API,幫助您了解現代圖形渲染算法和技術。

本書首先建立開發環境,並通過基本但獨立的配方引導您進行3D渲染引擎的構建。每個配方都能讓您逐步為代碼庫添加功能,並展示如何將不同的3D渲染技術和算法集成到一個大型項目中。您還將掌握基本技術,如基於物理的渲染、基於圖像的渲染和CPU/GPU幾何剔除等。隨著進一步的學習,您將探索常見的技術和解決方案,以幫助您處理2D和3D渲染的大型數據集。最後,您將了解如何應用優化技術來構建高性能和功能豐富的圖形應用程序。

通過閱讀本書,您將對現代圖形API中使用的最佳實踐有更深入的了解,並能夠創建快速且多功能的3D渲染框架。

學到什麼:
- 提升遺留OpenGL應用程序的性能。
- 在實時3D渲染引擎中管理大量內容。
- 學習如何調試和分析圖形應用程序。
- 理解如何在OpenGL中使用Approaching Zero Driver Overhead(AZDO)理念。
- 將各種渲染技術集成到單個應用程序中。
- 開發Vulkan應用程序。
- 從頭實現基於物理的渲染流程。
- 將物理庫與渲染引擎集成。

適合對象:
本書適合熟悉3D渲染的數學基礎並希望通過使用C++庫和API編寫快速渲染引擎的3D圖形開發人員。需要具備扎實的C++和基礎的線性代數知識,以及在不使用預製渲染引擎的情況下創建自定義3D應用程序的經驗。