Computer Graphics from Scratch - A Programmer's Introduction to 3D Rendering
Verlag | No Starch Press |
Auflage | 2021 |
Seiten | 248 |
Format | 17,9 x 1,3 x 23,5 cm |
Gewicht | 567 g |
Artikeltyp | Englisches Buch |
EAN | 9781718500761 |
Bestell-Nr | 71850076UA |
Computer Graphics from Scratch demystifies the algorithms used in modern graphics software and guides beginners through building photorealistic 3D renders.
Computer graphics programming books are often math-heavy and intimidating for newcomers. Not this one. Computer Graphics from Scratch takes a simpler approach by keeping the math to a minimum and focusing on only one aspect of computer graphics, 3D rendering.
You ll build two complete, fully functional renderers: a raytracer, which simulates rays of light as they bounce off objects, and a rasterizer, which converts 3D models into 2D pixels. As you progress you ll learn how to create realistic reflections and shadows, and how to render a scene from any point of view.
Pseudocode examples throughout make it easy to write your renderers in any language, and links to live JavaScript demos of each algorithm invite you to explore further on your own.
Learn how to:
Use perspective projection to draw 3D obje cts on a 2D planeSimulate the way rays of light interact with surfacesAdd mirror-like reflections and cast shadows to objectsRender a scene from any camera position using clipping planesUse flat, Gouraud, and Phong shading to mimic real surface lightingPaint texture details onto basic shapes to create realistic-looking objects
Whether you re an aspiring graphics engineer or a novice programmer curious about how graphics algorithms work, Gabriel Gambetta s simple, clear explanations will quickly put computer graphics concepts and rendering techniques within your reach. All you need is basic coding knowledge and high school math. Computer Graphics from Scratch will cover the rest.
Inhaltsverzeichnis:
Introduction
1. Introductory Concepts
Part I: Raytracing
2. Basic Raytracing
3. Light
4. Shadows and Reflections
5. Extending the Raytracer
Part II: Rasterization
6. Lines
7. Filled Triangles
8. Shaded Triangles
9. Perspective Projection
10. Describing and Rendering a Scene
11. Clipping
12. Removing Hidden Surfaces
13. Shading
14. Textures
15. Extending the Rasterizer
Appendix A: Linear Algebra