Welcome to Hplus Graphics Page!

It's not like I spend all my waking hours updating this page. However, you can find these things here: (dates are off because of a sloppy disk migration)

   
direct3d-pixel-centerA brief description of how to map coordinates to the center of pixels and texels in Direct3D/D3D9. Also illustrates how these rules are different from OpenGL. 2007-11-29
kwxportA .X file exporter for 3dsmax version 8 which properly exports geometry and animation under many situations where the SDK exporter or PandaSoft exporter do not. 2007-07-16
skinningHow to draw soft-skinned animated characters using openGL. 2007-07-13
scene-graphMy two cents in the perennial scene graph argument. 2006-09-30
laserboltHow to draw a laser bolt in 3D using a combination of billboarding and oriented quads. 2006-06-10
dds-infoSome code that shows how to load DDS texture image files. 2006-06-10
nuxporterExport .X meshes with good face normals from the DeleD Pro level editor. Also includes some other features. 2006-04-29
d3dx-animationThe D3DX animation API for .x mesh files leaves a lot to be desired. 2006-03-05
matrix-layoutDescribes the difference between DirectX and OpenGL matrices (as well as the ODE library) 2006-01-11
opengl-pixel-perfectThings to know in order to do pixel-for-pixel matching between textures and on-screen pixels. 2005-01-28
cx-fileA simple Max 5.1 geometry exporter and mesh file format, supporting animation, skinning, multiple vertex channels, multiple materials, skeletons, attachment points, and other miscellanea. The page also has source and compiled plug-in for an ATI RenderMonkey geometry loader for the Cx format. 2004-09-12
heightfield-interpolationUsing cubic Hermite interpolation to determine the height of intermediate positions in a height field. 2004-07-04
camera-descriptionA description of the implementation of my simple camera system. 2004-06-23
expand-bitsHow to properly expand pixel values or sound sample values from a lower bit range (say, nybbles) to a higher bit range (say, bytes). 2004-06-03
fire-particlesA simple particle system makes for a camp fire. 2004-05-04
simple-sceneA simple set of patterns that go together to create a solid system of rendering geometry in a game. 2004-03-31
simple-gl-cameraI've answered the question "how do I make the camera move independently from my objects in OpenGL" often enough. Here's how. 2004-03-18
game_loopHow to structure a game main loop to support fixed physics time steps, yet support a wide range of graphics solutions (including those that run faster than your physics engine). 2004-02-07
xskinexpThe Microsoft DirectX SDK .X File exporter for 3dsMax 5, converted to better preferences and to use the ISkin modifier rather than Physique. 2004-01-04
dofReal-time Depth of Field; quick and dirty implementation using only vanilla OpenGL. 2003-01-26
skyboxHow to draw a sky box with no seams 2003-01-21
ripplesSimple demo of ripples in a connected mesh. 2003-01-04
vert_weightingA quickie explanation of how vertex weighting (skeleton skinning) works. 2003-01-04
vdbumpHow to account for surface roughness self-occlusion with normal mapped surfaces 2002-11-27
vertex-arraysHow to turn separately indexed vertex and and texture index arrays (such as found in a 3DSMax model, or almost any other modeling package) into an appropriately factored single-index vertex array, as used by accelerated 3D hardware (both openGL and Direct3D). 2002-04-09
circleQuick explanation of how to rasterize a circle using the mid-point algorithm. 2002-02-02
opengl-perfAn answer I wrote on opengl.org concerning graphics card performance. 2001-10-16