Computer Graphics from Scratch: A Programmer's Introduction to 3D Rendering

Gambetta, Gabriel

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

商品描述

Computer Graphics from Scratch demystifies the algorithms used in modern graphics software and guides beginners through building photorealistic 3D renders.

Computer graphics are at work everywhere today, adding eye-popping details to video games, hyper-realistic CGI to major blockbusters, and life-like imagery to computer-animated films. This beginners book will introduce you to a core slice of this ever-expanding field, 3D rendering, with a focus on two popular algorithmic methods: raytracing and rasterization.

Written to be easily understood by high-school students but rigorous enough for professional engineers, you'll build each of these surprisingly simple algorithms into complete, fully functional renderers as you build your knowledge base. The first half covers raytracing, which simulates rays of light as they bounce off of objects in a scene; the second half breaks down rasterization, the real-time process for converting 3D graphics into a screen-compatible array of 2D pixels. Every chapter gives you something visually new and exciting to add to your works-in-progress, from creating reflections and shadows that make objects look more realistic, to rendering a scene from any directional point of view.

You'll learn how to:

- Represent objects in a scene, and use perspective projection to draw them in
- Compute the illumination for light sources (point, directional, and ambient)
- Render mirror-like reflections on surfaces, and cast shadows for depth
- Use clipping algorithms to render a scene from any camera position
- Implement flat shading, Gouraud shading, and Phong shading algorithms
- Paint" textures that fake surface details and turn shapes into everyday objects
The book uses informal pseudocode throughout the text, so you can write your renderers in any language. In addition, the author provides links to live working versions of his algorithms.

商品描述(中文翻譯)

《從零開始的電腦圖學》揭開了現代圖形軟體中使用的演算法的神秘面紗,並引導初學者建立逼真的3D渲染。

如今,電腦圖學無處不在,為視頻遊戲添加令人驚艷的細節,為重要大片提供超逼真的CGI效果,並為電腦動畫電影呈現逼真的圖像。這本初學者書籍將向您介紹這個不斷擴大的領域的核心部分之一,即3D渲染,並重點介紹兩種流行的演算法方法:光線追蹤和光柵化。

本書旨在讓高中生易於理解,同時也足夠嚴謹,以滿足專業工程師的需求。在建立知識基礎的同時,您將將這些令人驚訝的簡單演算法構建成完整的、功能完善的渲染器。上半部分介紹了光線追蹤,模擬了光線在場景中物體上反射的過程;下半部分則介紹了光柵化,這是將3D圖形轉換為適用於屏幕的2D像素陣列的實時過程。每一章都會為您的作品添加新的視覺效果,從創建反射和陰影使物體更加逼真,到從任意方向觀察場景的渲染。

您將學習如何:
- 表示場景中的物體,並使用透視投影將其繪製出來
- 計算光源(點光源、定向光源和環境光)的照明效果
- 在表面上渲染鏡面反射,並為深度生成陰影
- 使用剪裁演算法從任何攝影機位置渲染場景
- 實現平面著色、Gouraud著色和Phong著色演算法
- 繪製模擬表面細節並將形狀轉換為日常物體的紋理

本書在整個文本中使用非正式的偽代碼,因此您可以使用任何語言編寫自己的渲染器。此外,作者還提供了他的演算法的實時工作版本的連結。

作者簡介

Gabriel Gambetta started coding games around the age of 5 on a ZX Spectrum. After studying Computer Science and working at a respectable local company in his native Uruguay, he started a game development company and ran it for 10 years while teaching Computer Graphics at his alma mater. More recently, Gambetta has been working at Google Zürich, where he's been since 2011 except for a stint as an early engineer in the London-based multiplayer game tech unicorn Improbable.

作者簡介(中文翻譯)

Gabriel Gambetta 在 5 歲時就開始在 ZX Spectrum 上編寫遊戲。在修讀計算機科學並在他的祖國烏拉圭的一家受人尊敬的本地公司工作後,他創立了一家遊戲開發公司並在母校教授計算機圖形學,並經營該公司長達 10 年。最近,Gambetta 在 Google 蘇黎世工作,自 2011 年以來一直在那裡,除了在倫敦的多人遊戲技術獨角獸公司 Improbable 擔任早期工程師的一段時間。