Cargando…

Mastering graphics programming with Vulkan : develop a modern rendering engine from first principles to state-of-the-art techniques /

Develop a rendering framework by implementing next-generation 3D graphics, leveraging advanced Vulkan features, and getting familiar with efficient real-time ray tracing techniques uncovered by leading industry experts Key Features Develop high-performance rendering techniques in Vulkan Automate som...

Descripción completa

Detalles Bibliográficos
Clasificación:Libro Electrónico
Autores principales: Castorina, Marco (Autor), Sassone, Gabriel (Autor)
Formato: Electrónico eBook
Idioma:Inglés
Publicado: Birmingham : Packt Publishing, 2023.
Temas:
Acceso en línea:Texto completo (Requiere registro previo con correo institucional)

MARC

LEADER 00000cam a22000007i 4500
001 OR_on1363101048
003 OCoLC
005 20231017213018.0
006 m o d
007 cr |n|||||||||
008 230130s2023 enk ob 001 0 eng d
040 |a YDX  |b eng  |e rda  |c YDX  |d YDX  |d ORMDA  |d N$T  |d UKMGB  |d UKAHL  |d EBLCP  |d OCLCQ  |d OCLCF  |d IEEEE  |d OCLCQ  |d OCLCO 
015 |a GBC315903  |2 bnb 
016 7 |a 020933821  |2 Uk 
019 |a 1369655690  |a 1369672363 
020 |a 1803230207  |q electronic book 
020 |a 9781803230207  |q (electronic bk.) 
020 |z 1803244798 
020 |z 9781803244792 
029 1 |a UKMGB  |b 020933821 
029 1 |a AU@  |b 000073477721 
035 |a (OCoLC)1363101048  |z (OCoLC)1369655690  |z (OCoLC)1369672363 
037 |a 9781803244792  |b O'Reilly Media 
037 |a 10162328  |b IEEE 
050 4 |a T385  |b .C37 2023 
082 0 4 |a 006.66  |2 23 
049 |a UAMI 
100 1 |a Castorina, Marco,  |e author. 
245 1 0 |a Mastering graphics programming with Vulkan :  |b develop a modern rendering engine from first principles to state-of-the-art techniques /  |c Marco Castorina, Gabriel Sassone. 
264 1 |a Birmingham :  |b Packt Publishing,  |c 2023. 
300 |a 1 online resource 
336 |a text  |b txt  |2 rdacontent 
337 |a computer  |b c  |2 rdamedia 
338 |a online resource  |b cr  |2 rdacarrier 
504 |a Includes bibliographical references and index. 
588 |a Description based upon online resource; title from PDF title page (viewed Feb 6th, 2023). 
520 |a Develop a rendering framework by implementing next-generation 3D graphics, leveraging advanced Vulkan features, and getting familiar with efficient real-time ray tracing techniques uncovered by leading industry experts Key Features Develop high-performance rendering techniques in Vulkan Automate some of the more tedious aspects like pipeline layouts and resource barriers Understand how to take advantage of mesh shaders and ray tracing Book Description Vulkan is now an established and flexible multi-platform graphics API. It has been adopted in many industries, including game development, medical imaging, movie productions, and media playback. Learning Vulkan is a foundational step to understanding how a modern graphics API works, both on desktop and mobile. In Mastering Graphics Programming with Vulkan, you'll begin by developing the foundations of a rendering framework. You'll learn how to leverage advanced Vulkan features to write a modern rendering engine. The chapters will cover how to automate resource binding and dependencies. You'll then take advantage of GPU-driven rendering to scale the size of your scenes and finally, you'll get familiar with ray tracing techniques that will improve the visual quality of your rendered image. By the end of this book, you'll have a thorough understanding of the inner workings of a modern rendering engine and the graphics techniques employed to achieve state-of-the-art results. The framework developed in this book will be the starting point for all your future experiments. What you will learn Understand resources management and modern bindless techniques Get comfortable with how a frame graph works and know its advantages Explore how to render efficiently with many light sources Discover how to integrate variable rate shading Understand the benefits and limitations of temporal anti-aliasing Get to grips with how GPU-driven rendering works Explore and leverage ray tracing to improve render quality Who this book is for This book is for professional graphics and game developers who want to gain in-depth knowledge about how to write a modern and performant rendering engine in Vulkan. Familiarity with basic concepts of graphics programming (i.e. matrices, vectors, etc.) and fundamental knowledge of Vulkan are required. 
505 0 |a Cover -- Title Page -- Copyright and Credits -- Acknowledgments -- Contributors -- Table of Contents -- Preface -- Part 1: Foundations of a Modern Rendering Engine -- Chapter 1: Introducing the Raptor Engine and Hydra -- Technical requirements -- Windows -- Linux -- macOS -- How to read this book -- Understanding the code structure -- Layers of code -- Understanding the glTF scene format -- PBR in a nutshell -- A word on GPU debugging -- Summary -- Further reading -- Chapter 2: Improving Resources Management -- Technical requirements -- Unlocking and implementing bindless rendering 
505 8 |a Checking for support -- Creating the descriptor pool -- Updating the descriptor set -- Update to shader code -- Automating pipeline layout generation -- Compiling GLSL to SPIR-V -- Understanding the SPIR-V output -- From SPIR-V to pipeline layout -- Improving load times with a pipeline cache -- Summary -- Further reading -- Chapter 3: Unlocking Multi-Threading -- Technical requirements -- Task-based multi-threading using enkiTS -- Why task-based parallelism? -- Using the enkiTS (Task-Scheduler) library -- Asynchronous loading -- Creating the I/O thread and tasks 
505 8 |a Vulkan queues and the first parallel command generation -- The AsynchronousLoader class -- Recording commands on multiple threads -- The allocation strategy -- Command buffer recycling -- Primary versus secondary command buffers -- Drawing using primary command buffers -- Drawing using secondary command buffers -- Spawning multiple tasks to record command buffers -- Summary -- Further reading -- Chapter 4: Implementing a Frame Graph -- Technical requirements -- Understanding frame graphs -- Building a graph -- A data-driven approach -- Implementing the frame graph -- Implementing topological sort 
505 8 |a Driving rendering with the frame graph -- Summary -- Further reading -- Chapter 5: Unlocking Async Compute -- Technical requirements -- Replacing multiple fences with a single timeline semaphore -- Enabling the timeline semaphore extension -- Creating a timeline semaphore -- Waiting for a timeline semaphore on the CPU -- Using a timeline semaphore on the GPU -- Adding a separate queue for async compute -- Submitting work on separate queues -- Implementing cloth simulation using async compute -- Benefits of using compute shaders -- Compute shaders overview -- Writing compute shaders -- Summary 
505 8 |a Further reading -- Part 2: GPU-Driven Rendering -- Chapter 6: GPU-Driven Rendering -- Technical requirements -- Breaking down large meshes into meshlets -- Generating meshlets -- Understanding task and mesh shaders -- Implementing task shaders -- Implementing mesh shaders -- GPU culling using compute -- Depth pyramid generation -- Occlusion culling -- Summary -- Further reading -- Chapter 7: Rendering Many Lights with Clustered Deferred Rendering -- Technical requirements -- A brief history of clustered lighting -- Differences between forward and deferred techniques -- Implementing a G-buffer 
590 |a O'Reilly  |b O'Reilly Online Learning: Academic/Public Library Edition 
630 0 0 |a Vulkan (Computer file) 
650 0 |a Rendering (Computer graphics) 
650 0 |a Computer programming. 
650 6 |a Rendu (Infographie) 
650 6 |a Programmation (Informatique) 
650 7 |a computer programming.  |2 aat 
650 7 |a Computer programming  |2 fast 
650 7 |a Rendering (Computer graphics)  |2 fast 
655 0 |a Electronic books. 
700 1 |a Sassone, Gabriel,  |e author. 
776 0 8 |i Print version:  |z 1803244798  |z 9781803244792  |w (OCoLC)1348924115 
856 4 0 |u https://learning.oreilly.com/library/view/~/9781803244792/?ar  |z Texto completo (Requiere registro previo con correo institucional) 
938 |a Askews and Holts Library Services  |b ASKH  |n AH40925942 
938 |a YBP Library Services  |b YANK  |n 19290684 
938 |a EBSCOhost  |b EBSC  |n 3533516 
938 |a ProQuest Ebook Central  |b EBLB  |n EBL30338795 
994 |a 92  |b IZTAP