Reflections and Refraction in Raytracing |
Creating a Scalable Console System with STL |
Accelerated Stencil Shadow Extrusion via Vertex Blending |
Light Mapping - Theory and Implementation |
Fast Approximate Distance Functions |
Managing Unit Actions |
Frustum Culling |
An Exceptional Model |
SkinnedMesh DPlay Maze |
Modular D3D SkinnedMesh |
Pixel Shader 2.0 Example |
C++ Coding Style |
Simple Terrain Occlusion Culling |
CVS Quick Start Guide |
Adding Plug-ins To Your Application |
Five Ways I Improved My Coding Workflow |
ATI Mojo Day 2002: San Francisco |
Billboarding |
Building A Game On Your Own |
Object Outlining |
Win32 Window Skinning |
Interfacing Visual Basic And C++ |
Strayfire: Writing A "Simple" Game |
Game Institute Review |
Modeling a Simple Spaceship |
Geometry Skinning / Blending and Vertex Lighting |
NURBS Curves & Surfaces |
A Small, Portable 3D Engine |
Being A Better Programmer |
ROAM Implementation Optimizations |
Advanced 2D Graphics With DirectX8 |
A 2D Guide To DirectX 8 Graphics |
Generating Terrain Textures |
Terrain Texture Generation |
Polygon Tessellation In OpenGL |
Faster Vector Math Using Templates |
Advanced Lightmapping |
Elements Of A Game Engine |
Faster File Access With File Mapping |
Generating Names Phonetically |
Getting Inside With Inner Classes |
Fast Terrain Rendering Using Geometrical MipMapping |
Coding Bloom Filters |
Decals Explained |
C++ Exception Handling |
The Half-Edge Data Structure |
Reducing Dependencies In C++ |
Using Inheritance And Virtual Functions |
Console Variables And Commands |
Doing Your Own Lighting |
Introduction To Plücker Coordinates |
Quake 2 BSP File Format |
How To Find Memory Leaks |
BeOS Programming For The Beginner |
Advanced OpenGL Texture Mapping |
Basic Collision Detection |
Level Editing |
Sky Domes |
Back Projections |
8-bit Rendering With Translucency Maps |
Lightmaps (Static Shadowmaps) |
Improving Software Performance |
Omnidirection Point Lights |
Thoughts On Visibility Determination |
Advanced Management Of Polygonal Data |
Introduction To Octrees |
Mesh Optimization Via Face Merging |
Real-time Object Morphing |
Vertex Normals |
Adding Extreme Detail To Polygons |
Casting Shadows |
Voxel Polygons |
Mip-Mapping (Including Bi-Directional) |
Dynamic Lighting In 3D Scenes |
Real-time 3D Bumpmapping |
Real-time 3D Clipping (Sutherland-Hodgeman) |
The Coverage Buffer (C-Buffer) |
Bilinear Filtering (Interpolation) |
Method for Curved Surfaces |
Creating And Using DLLs |
Working With Menus And Dialog Boxes |
Introduction To Basic Multithreaded Programming |
Introduction To Windows Programming |
Featured Article Series & Columns: |
Raytracing Topics & Techniques by Jacco Bikker |
Raytracing Topics & Techniques - Part 7: Kd-Trees and More Speed |
Raytracing Topics & Techniques - Part 6: Textures, Cameras and Speed |
Raytracing Topics & Techniques - Part 5: Soft Shadows |
Raytracing Topics & Techniques - Part 4: Spatial Subdivisions |
Raytracing Topics & Techniques - Part 3: Refractions and Beer's Law |
Raytracing Topics & Techniques - Part 2 - Phong, Mirrors and Shadows |
Raytracing Topics & Techniques - Part 1 - Introduction |
3D Graphics on Mobile Devices by Jacco Bikker |
3D Graphics on Mobile Devices - Part 4: Polygon Rasterization |
3D Graphics on Mobile Devices - Part 3: Polygon Graphics |
3D Graphics on Mobile Devices - Part 2: Fixed Point Math |
3D Graphics on Mobile Devices - Part 1: Voxel Graphics |
3D Geometry Primer: Chapter 2 by Bram de Greve |
3D Geometry Primer: Chapter 2 - Issue 04 - Cartesian Equations and Normal Vectors |
3D Geometry Primer: Chapter 2 - Issue 03 - Planes and Parametric Equations |
3D Geometry Primer: Chapter 2 - Issue 02 - Appendix |
3D Geometry Primer: Chapter 2 - Issue 02 - More About Lines |
3D Geometry Primer: Chapter 2 - Issue 01 - Appendix |
3D Geometry Primer: Chapter 2 - Issue 01 - Points And Lines |
Plücker Coordinates for the Rest of Us by Lionel Brits |
Plücker Coordinates for the Rest of Us - Part 4 - Applications |
Plücker Coordinates for the Rest of Us - Part 3 |
Plücker Coordinates for the Rest of Us - Part 2 |
Plücker Coordinates for the Rest of Us - Part 1 |
Programming a Virtual File System by Michael Walter |
Programming a Virtual File System - Part III |
Programming a Virtual File System - Part II |
Programming a Virtual File System - Part I |
Too Fast To Be Fun by Jacco Bikker |
Too Fast To Be Fun - Part 2 - PDA Programming |
Too Fast To Be Fun - Part 1 |
Advanced String Techniques in C++ by Fredrik Andersson |
Advanced String Techniques in C++ - Part II: A Complete String Class |
Advanced String Techniques in C++ - Part I: Unicode |
3D Geometry Primer: Chapter 1 by Bram de Greve |
3D Geometry Primer: Chapter 1 - Issue 10 - Addendum: What I Didn't Tell You (Yet) |
3D Geometry Primer: Chapter 1 - Issue 09 - Barycentric Combinations |
3D Geometry Primer: Chapter 1 - Issue 08 - Point Arithmetic |
3D Geometry Primer: Chapter 1 - Issue 07 - From Vectors To Points |
3D Geometry Primer: Chapter 1 - Issue 06 - New Light On Vector Arithmetic |
3D Geometry Primer: Chapter 1 - Issue 05 - 3D Space: Righthanded Rules, And More... |
3D Geometry Primer: Chapter 1 - Issue 04 - Vector Bases |
3D Geometry Primer: Chapter 1 - Issue 03 - More On Vector Arithmetic |
3D Geometry Primer: Chapter 1 - Issue 02 - Vector Arithmetic |
3D Geometry Primer: Chapter 1 - Issue 01 - Introduction To Vectors |
3D Geometry Primer: Chapter 1 - Appendix |
3D Geometry Primer: Chapter 1 - Introduction |
DirectShow For Media Playback In Windows by Chris Thompson |
DirectShow For Media Playback In Windows - Part III: Customizing Graphs |
DirectShow For Media Playback In Windows - Part II: DirectShow In C++ |
DirectShow For Media Playback In Windows - Part I: Basics |
Theory & Practice by Greg Magarshak |
Theory & Practice - Issue 06 - Event Handling Model |
Theory & Practice - Issue 05 - Landscapes |
Theory & Practice - Issue 04 - Curved Surfaces, Part II |
Theory & Practice - Issue 03 - Curved Surfaces |
Theory & Practice - Issue 02 - Collision Detection - Part 2 |
Theory & Practice - Issue 01 - Collision Detection |
Theory & Practice - Issue 00 - Introduction |
Dirtypunk's Column by Conor Stokes |
Dirtypunk's Column - Issue 05 - AABB Trees - Back To Playing With Blocks |
Dirtypunk's Column - Issue 04 - View Independent Progressive Meshes |
Dirtypunk's Column - Issue 03 - Visibility Theory |
Dirtypunk's Column - Issue 02 - Line Dualities: Plucker Space And You |
Dirtypunk's Column - Issue 01 - Hardware Rendering Optimizations |
Multithreading by Dan Royer |
Multithreading - Part 2 |
Multithreading - Part 1 |
Realtime Voxel Landscape Engines by Alex Champandard |
Realtime Voxel Landscape Engines - Part 8 - Final Words |
Realtime Voxel Landscape Engines - Part 7 - The Engine |
Realtime Voxel Landscape Engines - Part 6 - Hardware Acceleration |
Realtime Voxel Landscape Engines - Part 5 - Quality Improvement |
Realtime Voxel Landscape Engines - Part 4 - Level of Detail and Optimisation |
Realtime Voxel Landscape Engines - Part 3 - Texture and Lighting |
Realtime Voxel Landscape Engines - Part 2 - Rendering the Landscape's Structure |
Realtime Voxel Landscape Engines - Part 1 - Introduction |
Cool, It Works! by Warren Marshall |
Cool, It Works! - Issue 05 - 32-Bit GL Textures & Log Files |
Cool, It Works! - Issue 04 - Handling Textures & Effects |
Cool, It Works! - Issue 03 - Files, Texture Effects, Coronas, & More |
Cool, It Works! - Issue 02 - Linked Lists, Overloading Operators, Sprites, & More |
Cool, It Works! - Issue 01 - Introduction |
The Art of Demomaking by Alex Champandard |
The Art of Demomaking - Issue 16 - The Final Product |
The Art of Demomaking - Issue 15 - Music And Synchronization |
The Art of Demomaking - Issue 14 - Perspective Correct Texture Mapping |
The Art of Demomaking - Issue 13 - Polygon Engines |
The Art of Demomaking - Issue 12 - Span Based Rendering |
The Art of Demomaking - Issue 11 - Particle Systems |
The Art of Demomaking - Issue 10 - Roto-Zooming |
The Art of Demomaking - Issue 09 - Static Texture Mapping |
The Art of Demomaking - Issue 08 - Fractal Zooming |
The Art of Demomaking - Issue 07 - Bump Mapping |
The Art of Demomaking - Issue 06 - Bitmap Distortion |
The Art of Demomaking - Issue 05 - Filters |
The Art of Demomaking - Issue 04 - Per Pixel Control |
The Art of Demomaking - Issue 03 - Timer Related Issues |
The Art of Demomaking - Issue 02 - Introduction To Computer Graphics |
The Art of Demomaking - Issue 01 - Prologue |
Network Game Programming by Dan Royer |
Network Game Programming - Issue 07 - I bent my Wookie... |
Network Game Programming - Issue 06 - Talk about things you like to do... |
Network Game Programming - Issue 05 - Watch your Language |
Network Game Programming - Issue 04 - cServer? I barely know her! |
Network Game Programming - Issue 03 - cClient. cClient run |
Network Game Programming - Issue 02 - cComm one, cComm all |
Network Game Programming - Issue 01 - Things that make you go "hmm..." |
Radiosity In English by Paul Nettle |
Radiosity In English - Form Factor Calculation |
Radiosity In English - The Basics |
Implementing A Scripting Engine by Jan Niestadt |
Implementing A Scripting Engine - Part 9 - Advanced Subjects |
Implementing A Scripting Engine - Part 8 - Executable Code |
Implementing A Scripting Engine - Part 7 - The Virtual Machine |
Implementing A Scripting Engine - Part 6 - Optimization |
Implementing A Scripting Engine - Part 5 - The Semantic Checker & Intermediate Code Generator |
Implementing A Scripting Engine - Part 4 - The Symbol Table & Syntax Tree |
Implementing A Scripting Engine - Part 3 - The Parser |
Implementing A Scripting Engine - Part 2 - The Lexical Analyzer |
Implementing A Scripting Engine - Part 1 - Overview |
Harmless Algorithms by Edward Kmett |
Harmless Algorithms - Issue 04 - A Hybrid Approach to Visibility |
Harmless Algorithms - Issue 03 - Design Patterns And 3D Gaming |
Harmless Algorithms - Issue 02 - Scene Traversal Algorithms |
Harmless Algorithms - Issue 01 - Fine Occlusion Culling Algorithms |
Building a 3D Portal Engine by Jacco Bikker |
Building a 3D Portal Engine - Issue 17 - End Of Transmission |
Building a 3D Portal Engine - Issue 16 - More On Portals |
Building a 3D Portal Engine - Issue 15 - Space Partitioning, Octrees, And BSPs |
Building a 3D Portal Engine - Issue 14 - 3D Engine Architecture |
Building a 3D Portal Engine - Issue 13 - More Portal Features |
Building a 3D Portal Engine - Issue 12 - Collision Detection (Guest Writer) |
Building a 3D Portal Engine - Issue 11 - 3D Portal Rendering |
Building a 3D Portal Engine - Issue 10 - Intermezzo - 8/15/16/32 Bit Color Mixing |
Building a 3D Portal Engine - Issue 09 - 2D Portal Rendering |
Building a 3D Portal Engine - Issue 08 - Polygon Filling |
Building a 3D Portal Engine - Issue 07 - 2D & 3D Clipping: Sutherland-Hodgeman |
Building a 3D Portal Engine - Issue 06 - Hidden Surface Removal |
Building a 3D Portal Engine - Issue 05 - Coding A Wireframe Cube |
Building a 3D Portal Engine - Issue 04 - Data Structures For 3D Graphics |
Building a 3D Portal Engine - Issue 03 - 3D Matrix Math |
Building a 3D Portal Engine - Issue 02 - Graphics Output Under Windows |
Building a 3D Portal Engine - Issue 01 - Introduction |