Mathematics For 3d Game Programming And Computer Graphics Answer Key
The first volume of Foundations of Game Engine Development discusses the mathematics needed by engineers who work on games or other types of virtual simulations. The book begins with conventional treatments of topics such as linear algebra, transforms, and geometry. Then, it introduces Grassmann algebra and geometric algebra to provide a much deeper understanding of the subject matter and highlight the places where traditional arithmetic with vectors, matrices, quaternions, etc., isn't quite correct.
Motion Blur and the
Velocity-Depth-Gradient Buffer
Motion blur can be simulated using a velocity buffer in conjunction with a post-processing shader to render a directional blur for pixels belonging to moving objects. A basic implementation of this technique produces adequate results for some applications, but it also produces a fuzzy halo artifact. This gem discusses an improvement to this motion blur technique that eliminates halo artifacts without also affecting cases where motion blur would be correctly rendered, producing images of much higher quality than is possible with previous techniques.
Moments of Inertia for Common Shapes
Instead of laboriously evaluating a complicated integral to derive the moment of inertia for a particular shape, one may choose to look it up, but existing references can be difficult to find, and those that do exist are sometimes inaccurate or incomplete. This gem provides the derivations of the moments of inertia for a variety of common shapes and summarizes them in a handy reference table.
The second volume in the Foundations of Game Engine Development series explores the vast subject of real-time rendering in modern game engines. The book provides a detailed introduction to color science, world structure, projections, shading, light sources, shadows, fog, and visibility methods. This is followed by extensive discussions of a variety of advanced rendering techniques that include volumetric effects, atmospheric shadowing, ambient occlusion, motion blur, and isosurface extraction. Emphasis is placed on practical implementation, and code is included.
A Jitter-Tolerant Rigid Body Sleep Condition
All physics engines exhibit some jitter no matter how good the constraint solver is. This chapter discusses a simple condition that can be used to determine when it is the proper time to put a rigid body to sleep, and it is highly tolerant to jitter.
Bit Hacks for Games
Game programmers have long been known for coming up with clever tricks that allow various short calculations to be performed more efficiently. The techniques usually employ some kind of logical bit manipulation, or "bit twiddling", to obtain a result in a roundabout way with the goal of reducing the number of instructions, eliminating expensive instructions like divisions, or removing costly branches. This chapter describes a variety of interesting bit hacks that are likely to be applicable to game engine codebases.
This book, now used as a text in computer graphics courses at many universities around the world, illustrates the mathematics that a programmer would need to develop a professional-quality 3D engine. Although the book is geared toward applications in game development, many of the topics appeal to general interests in 3D graphics. It starts at a fairly basic level in areas such as vector geometry and linear algebra, and then progresses to more advanced topics in 3D game programming such as illumination, visibility determination, and collision detection. Particular attention is given to derivations of key results, ensuring that the reader is not forced to endure gaps in the theory. The book assumes a working knowledge of trigonometry and calculus, but also includes sections that review the important tools used from these disciplines, such as trigonometric identities, differential equations, and Taylor series.
The Open Game Engine Exchange Format
This chapter provides a comprehensive overview of the OpenGEX file format.
Fog with a Linear Density Function
The chapter discusses the mathematical details about rendering techniques and visibility culling for halfspace fog with a linear density function.
Smooth Horizon Mapping
The chapter describes a high-quality horizon mapping technique for applying soft shadows to normal-mapped surfaces.
Mathematical Concepts
Mathematics has become an essential component of modern game development. As both the main processors and graphics processors in our gaming hardware become more powerful, the complexity of the mathematics used to model realistic environments and physical simulations increases without bound. This chapter provides an introduction to several fields of mathematics that are vital to today's game engines.
Trigonometry is a ubiquitous tool used extensively by game programmers and serves as this chapter's opening topic and prerequisite for the indisputably important topic of linear algebra. The bulk of this chapter discusses vectors and matrices, the indispensable tools of linear algebra with which every 3D game developer needs to be familiar. We also introduce mathematical representations of geometrical entities, such as lines and planes, and describe how to perform certain routine calculations with them.
Terathon Software, 2017.
ISBN: 978-0985811792
Website: opengex.org
The Open Game Engine Exchange (OpenGEX) format is a text-based file format designed to facilitate the transfer of complex scene data between applications such as modeling tools and game engines. The OpenGEX format is built upon the data structure concepts defined by the Open Data Description Language (OpenDDL), a generic language for the storage of arbitrary data in human-readable format. This specification provides a description of the data structures defined by OpenGEX, and it includes an OpenDDL reference as an appendix.
Tweaking a Vertex's Projected Depth Value
The goal of this article is to find a way to offset a polygon's depth in a scene without changing its projected screen coordinates or altering its texture mapping perspective. Most 3D graphics libraries contain some kind of polygon offset function to help achieve this goal. However, these solutions generally lack fine control and usually incur a per-vertex performance cost. This gem presents an alternative method which modifies the projection matrix to achieve the depth offset effect.
A Fast Cylinder-Frustum Intersection Test
Before attempting to render a complex object, many games first determine whether a geometrically simple volume bounding that object is visible. Due to their computational efficiency, spheres and boxes are commonly used as bounding volumes, but it is sometimes the case that objects are naturally suited to be bounded by a cylinder. Although we will not be able to achieve the speed at which a sphere or box could be tested, this gem presents a quick algorithm for determining whether an arbitrary cylinder potentially intersects the view frustum (and thus whether it is visible).
Oblique View Frustums for
Mirrors and Portals
Techniques for rendering mirrors and portals displaying a remote part of the scene require that an extra clipping plane be used to prevent geometry seen in the mirror or portal from crossing into the local scene. This gem discusses a technique that modifies the projection matrix in such a way that the conventional near plane of the view frustum is repositioned to serve as the generally oblique boundary clipping plane.
Applying Decals to Arbitrary Surfaces
Many games need to render special effects such as scorch marks on a wall or footprints on the ground that are not an original part of a scene, but are created during gameplay. These effects are commonly implemented by creating a new object, which we will call a decal, that coincides with an existing surface and rendering it using some kind of depth offset technique. Applying a decal to the interior of a planar surface is simple, but difficulties arise when applying decals to the more complex surfaces used in today's games to represent curved objects and terrain patches. This article presents a general method for applying a decal to an arbitrarily shaped surface and concurrently clipping the decal to the surface's boundary.
Charles River Media, 2003.
ISBN: 1-58450-294-0
This book once provided a much needed resource and concentrates specifically on 78 of the extensions most important to developing modern 3D games. The book is laid out in an intuitive fashion, discussing groups of extensions that modify or augment similar components of the base OpenGL architecture. In addition, the text focuses mainly on operational and implementation issues, discussing the underlying mathematics of an extension only when it is critical to understanding that extension's functionality.
T-Junction Elimination and Retriangulation
This gem describes how to detect possible sources of seams in complex 3D scenes and how to modify static geometry so that visible artifacts are avoided. Since T-junction elimination adds vertices to existing polygons (that are not necessarily convex), this article also discusses a method for triangulating arbitrary concave polygons.
Also published in Best of Game Programming Gems, 2008.
Mathematics For 3d Game Programming And Computer Graphics Answer Key
Source: http://www.terathon.com/lengyel/
Posted by: groomsconsecter.blogspot.com
0 Response to "Mathematics For 3d Game Programming And Computer Graphics Answer Key"
Post a Comment