Welcome to Hplus Graphics Page!

This is my old home page which has accrued stuff since forever. A more modern version is found at enchantedage.com.

skinningHow to draw soft-skinned animated characters using openGL. 2009-06-23
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). 2009-06-23
fire-particlesA simple particle system makes for a camp fire. 2009-06-23
simple-sceneA simple set of patterns that go together to create a solid system of rendering geometry in a game. 2009-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). 2009-06-23
heightfield-interpolationUsing cubic Hermite interpolation to determine the height of intermediate positions in a height field. 2009-06-23
ripplesSimple demo of ripples in a connected mesh. 2009-06-23
skyboxHow to draw a sky box with no seams 2009-06-23
opengl-perfAn answer I wrote on opengl.org concerning graphics card performance. 2009-06-23
nuxporterExport .X meshes with good face normals from the DeleD Pro level editor. Also includes some other features. 2009-06-23
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. 2009-06-23
xskinexpThe Microsoft DirectX SDK .X File exporter for 3dsMax 5, converted to better preferences and to use the ISkin modifier rather than Physique. 2009-06-23
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. 2009-06-23
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). 2009-06-23
camera-descriptionA description of the implementation of my simple camera system. 2009-06-23
opengl-pixel-perfectThings to know in order to do pixel-for-pixel matching between textures and on-screen pixels. 2009-06-23
matrix-layoutDescribes the difference between DirectX and OpenGL matrices (as well as the ODE library) 2009-06-23
scene-graphMy two cents in the perennial scene graph argument. 2009-06-23
laserboltHow to draw a laser bolt in 3D using a combination of billboarding and oriented quads. 2009-06-23
circleQuick explanation of how to rasterize a circle using the mid-point algorithm. 2009-06-23
vdbumpHow to account for surface roughness self-occlusion with normal mapped surfaces 2009-06-23
vert_weightingA quickie explanation of how vertex weighting (skeleton skinning) works. 2009-06-23
dofReal-time Depth of Field; quick and dirty implementation using only vanilla OpenGL. 2009-06-23
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. 2009-06-23
d3dx-animationThe D3DX animation API for .x mesh files leaves a lot to be desired. 2009-06-23
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. 2009-06-23
dds-infoSome code that shows how to load DDS texture image files. 2009-06-23