Learning Modern 3D Graphics Programming
  • Author: Jason L. McKesson
  • Format: online HTML
  • Price: free

What this book offers is beginner-level instruction on what many consider to be an advanced concept. It teaches programmable rendering for beginning graphics programmers, from the ground up.

This book also covers some important material that is often neglected or otherwise relegated to “advanced” concepts. These concepts are not truly advanced, but they are often ignored by most introductory material because they do not work with the fixed function pipeline.

This book is first and foremost about learning how to be a graphics programmer. Therefore, whenever it is possible and practical, this book will present material in a way that encourages the reader to examine what graphics hardware can do in new and interesting ways. A good graphics programmer sees the graphics hardware as a set of tools to fulfill their needs, and this book tries to encourage this kind of thinking.

One thing this book is not, however, is a book on graphics APIs. While it does use OpenGL and out of necessity teach rendering concepts in terms of OpenGL, it is not truly a book that is about OpenGL. It is not the purpose of this book to teach you all of the ins and outs of the OpenGL API.There will be parts of OpenGL functionality that are not dealt with because they are not relevant to any of the lessons that this book teaches. If you already know graphics and are in need of a book that teaches modern OpenGL programming, this is not it. It may be useful to you in that capacity, but that is not this book’s main thrust.

This book is intended to teach you how to be a graphics programmer. It is not aimed at any particular graphics field; it is designed to cover most of the basics of 3D rendering. So if you want to be a game developer, a CAD program designer, do some computer visualization, or any number of things, this book can still be an asset for you.

This does not mean that it covers everything there is about 3D graphics. Hardly. It tries to provide a sound foundation for your further exploration in whatever field of 3D graphics you are interested in.

Chapters include:

  • Hello, Triangle!
  • Playing with Colors
  • OpenGL’s Moving Triangle
  • Objects at Rest
  • Objects in Depth
  • Objects in Motion
  • World in Motion
  • Getting Oriented
  • Lights On
  • Plane Lights
  • Shinies
  • Dynamic Range
  • Lies and Impostors
  • Textures are not Pictures
  • Many Images
  • Gamma and Textures
  • Spotlight on Textures
  • Framebuffer
  • Advanced Lighting
  • Further Study

Access this book on archive.org