Home    General Programming    Artificial Intelligence    Math    Physics    Graphics    Networking    Audio Programming    
Audio/Visual Design    Game Design    Production    Business of Games    Game Studies    Conferences    Schools    Contact   
Particle Systems
2D / Billboards
Lighting
Shadows
Texturing
Shaders
Terrain
Camera
Animation / Skinning
Facial Animation
Visibility / Occlusion
Surfaces
Polygonal Math
Collision Detection
Level of Detail
Screenshots
Scene Management
GPU Computation
Direct3D
OpenGL
Effects: Weather
Effects: Lens Flare
Effects: Destruction
Effects: Pyrotechnics
Effects: Adv Materials
Effects: HDR
Effects: Post Process
Effects: Depth of Field
Effects: Refraction
All Articles
Game Programming Gems
Game Programming Gems 2
Game Programming Gems 3
Game Programming Gems 4
Game Programming Gems 5
Game Programming Gems 6
Game Programming Gems 7
AI Game Programming Wisdom
AI Game Programming Wisdom 2
AI Game Programming Wisdom 3
AI Game Programming Wisdom 4
GPU Gems
2004

GPU Gems 2
2005

GPU Gems 3
2007

ShaderX
2002

ShaderX2
2003

ShaderX3
2004

ShaderX4
2006

ShaderX5
2006

ShaderX6
2008

ShaderX7
2009

GPU Pro
2010

GPU Pro 2
2011

GPU Pro 3
2012

Massively Multiplayer Game Development
Massively Multiplayer Game Development 2
Secrets of the Game Business
Introduction to Game Development
GDC Proceedings
Game Developer Magazine
Gamasutra


Graphics Programming: Polygonal Math


Geometric Anti-Aliasing Methods

Emil Persson
GPU Pro 3

Triangle Mesh Tangent Space Calculation

Martin Mittring
ShaderX4

Skin Splitting for Optimal Rendering

Dominic Filion
Game Programming Gems 6

CSG Construction Using BSP Trees

Octavian Marius Chincisan
Game Programming Gems 5

Using Geometric Algebra for Computer Graphics

Chris Lomont
Game Programming Gems 5

Fast Setup for Bilinear and Biquadratic Interpolation over Triangles

Tony Barrera (Barrera Kristiansen AB), Anders Hast (Creative Media Lab, University of Gävle), and Ewert Bengtsson (Center for Image Analysis, Uppsala University)
Graphics Programming Methods

Using Vector Fractions for Exact Geometry

Thomas Young (PathEngine)
Game Programming Gems 3

T-Junction Elimination and Retriangulation

Eric Lengyel (Terathon Software)
Game Programming Gems 3
Abstract: This article describes how to detect possible sources of these seams in complex 3D scenes and how to modify static geometry so that visible artifacts are avoided. Since T-junction elimination adds verticies to existing polygons (that are not necessarily convex), we also discuss a method for triangulating arbitrary concave polygons.

Triangle Strip Creation, Optimizations, and Rendering

Carl S. Marshall (Intel Labs)
Game Programming Gems 3
Abstract: This article focuses on how to generate triangle strips from arbitrary 3D polygonal models. We will describe and provide source code for developing long triangle strips. After describing the triangle strip algorithm, we will explain the benefits of triangle strips, the possible pitfalls encountered when creating them, and how to submit them to the graphics API. In addition, several other triangle strip creation algorithms will be reviewed and critiqued.

Subdivision Surfaces for Character Animation

William Leeson (Trinity College, Dublin)
Game Programming Gems 3
Abstract: This article introduces subdivision surfaces as a means of improving the appearance of game characters. First, we will present the different schemes available, focusing on two implementations of subdivision surfaces. Then, we will explore a number of optimization methods based on culling and preprocessing.

Tweaking a Vertex's Projected Depth Value

Eric Lengyel (C4 Engine)
Game Programming Gems
Abstract: The goal 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 graphcs 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 article presents an alternative method that modifies the projection matrix to achieve the depth offset effect.

Computing the Distance into a Sector

Steven Ranck (Midway Home Entertainment)
Game Programming Gems
Abstract: This article describes a simple and fast algorithm for determining where a point is between the edges of a 2D quad (or sector). The result is a unit floating point number, where 0 indicates that the point lies on the leading edge, and where 1 indicates that the point lies on the opposite edge. The sector may be any four-sided, 2D convex shape.

13% off discount
"Latest from a must have series"
Game
Programming
Gems 7



"Cutting-edge graphics techniques"
GPU Pro 3


"Newest AI techniques from commercial games"
AI Game
Programming
Wisdom 4






Home