Mathematics for Game Programming and Computer Graphics: Explore the essential mathematics for creating, rendering, and manipulating 3D virtual environments
A comprehensive guide to learning fundamental 3D mathematical principles used in games and computer graphics by example
Key FeaturesGet acquainted with the essential mathematics needed to describe, simulate, and render 3D creationsConstruct and manipulate 3D animated environments using Python, Pygame, and PyOpenGLDevelop vertex and fragment shaders in OpenGL shader language to speed up renderingBook DescriptionMathematics is an essential skill when it comes to graphics and game development, particularly if you want to understand the generation of real-time computer graphics and the manipulation of objects and environments in a detailed way. Python, together with Pygame and PyOpenGL, provides you with the opportunity to explore these features under the hood, revealing how computers generate and manipulate 3D environments.
Mathematics for Game Programming and Computer Graphics is an exhaustive guide to getting “back to the basics” of mathematics, using a series of problem-based, practical exercises to explore ideas around drawing graphic lines and shapes, applying vectors and vertices, constructing and rendering meshes, and working with vertex shaders. By leveraging Python, Pygame, and PyOpenGL, you’ll be able to create your own mathematics-based engine and API that will be used throughout to build applications.
By the end of this graphics focussed book, you’ll have gained a thorough understanding of how essential mathematics is for creating, rendering, and manipulating 3D virtual environments and know the secrets behind today’s top graphics and game engines.
What you will learnGet up and running with Python, Pycharm, Pygame, and PyOpenGLExperiment with different graphics API drawing commandsReview basic trigonometry and how it’s important in 3D environmentsApply vectors and matrices to move, orient, and scale 3D objectsRender 3D objects with textures, colors, shading, and lightingWork with vertex shaders for faster GPU-based renderingWho this book is forThis book is for programmers who want to enhance their 3D mathematics skills relating to computer graphics and computer games. Knowledge of high school–level mathematics and a working understanding in an object-orientated language is needed to grasp the contents present in this book.
Table of ContentsHello Graphics You're on your wayLet's Start DrawingLine Plotting Pixel by PixelGraphics and Game Engine ComponentsLet's Light it Up!Updating and Drawing the Graphics EnvironmentInteractions with the Keyboard and Mouse for Dynamic Graphics ProgramsReviewing Our Knowledge of TrianglesPracticing Vector EssentialsGetting acquainted with Lines, Rays and NormalsManipulating the Light and Texture of TrianglesMastering Affine TransformationsUnderstanding the Importance of MatricesWorking with coordinate SpacesNavigating the view spaceRotating with QuaternionsVertex and fragment shadingCustomizing the Render PipelineRendering Visual Realism Like a Pro
Penny de Byl is a professor of computer game design and development, artificial intelligence, animation, and educational technology. She has been awarded numerous awards for teaching and research throughout her twenty-year career. She has a PhD in artificial intelligence and computer game character programming.
Approachable, partly by using python, but riddled with silly errors that would cause difficulty if trying to learn from this without prior knowledge. I've read much better material for beginners, and there's not enough depth for more advanced users to get much satisfaction