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.

dds-infoSome code that shows how to load DDS texture image files. 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
skyboxHow to draw a sky box with no seams 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
ripplesSimple demo of ripples in a connected mesh. 2009-06-23
heightfield-interpolationUsing cubic Hermite interpolation to determine the height of intermediate positions in a height field. 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
skinningHow to draw soft-skinned animated characters using openGL. 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
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
laserboltHow to draw a laser bolt in 3D using a combination of billboarding and oriented quads. 2009-06-23
dofReal-time Depth of Field; quick and dirty implementation using only vanilla OpenGL. 2009-06-23
vert_weightingA quickie explanation of how vertex weighting (skeleton skinning) works. 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
vdbumpHow to account for surface roughness self-occlusion with normal mapped surfaces 2009-06-23
circleQuick explanation of how to rasterize a circle using the mid-point algorithm. 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
camera-descriptionA description of the implementation of my simple camera system. 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
opengl-perfAn answer I wrote on opengl.org concerning graphics card performance. 2009-06-23