Jason Doucette / Xona Games
hometown – Yarmouth, NS, Canada
residence – Seattle, WA, USA
university – Acadia University
college – COGS
contact – (other methods)
    social networks
    tech – Project/Games · Graphics Tech · Artificial Intelligence · World Records/Number Theory
personal – Home · Resume · Transcripts · Contact
twin – Matthew Doucette of Xona Games
old – Petzold's Programming Windows 5th ed Errata · Domain Hacks · Wallpapers
blog – The First Pixel

Computer Graphics

Back to Main Resume Page

The following graphic samples are all software, programmed in MS-DOS. They all run real-time, even on a 486/66Mhz class machine (on which most of these were programmed). Each real time computer graphic engine is similar to those required for interactive video games and simulation software. None of the following effects are created via 3D graphic accelerators. Each of these effects is 100% responsible for the display of every individual pixel, manually computed by CPU directly from my software. Also, none of the programs use a graphics API (such as DirectX or OpenGL) which would perform most of the calculations for you. Any 3D program uses the basic 3D formula for converting a 3D point into a 2D screen position which I developed myself in grade VIII without the aid of textbooks or any other graphic / art sources. All the effects included tweaked VGA modes, hi-color modes, and other video card tricks are 100% software.

All code is original and self-taught. Pictures are shrunk down from the actual screen shots. All effects, including hi-color effects, run under standard VGA. Some run under any non-standard Mode-X resolution (up to 360x480, 376x564, and 640x400).

It should be noted that standard VGA does not have a hi-color mode. In its standard mode 13h, the screen has a resolution of 320x200. The pixels have an anisotropic ratio of 6:5. It has a maximum of 256 colors on the screen at any given time. It only has one frame buffer, which implies a 64,000-byte memory copy from a virtual screen buffer for each frame.

In the non-standard Mode-X modes, there are several screen resolutions available. The initial problem is to tweak the registers in an unpublished, non-standard way to achieve these modes. They also have a 256 color limit. Their pixel aspect ratios vary with the modes (320x240 has perfectly square pixels, where as most of the other resolutions do not). If the screen buffer is sufficiently small (131,072 bytes or less), Mode-X offers more than a single screen buffer. However, unlike mode 13h, is it non-linear. It exists in four planes, in which each plane accesses one fourth of the screen. Each plane skips three intermediate screen pixels, making it very difficult for drawing procedures - even for a virtual screen buffer copy, which is necessary for modes with only one screen buffer.

The knowledge and wisdom gained from my extensive experience in programming these software engines can be used for the implementation of such engines in the current release of 2D systems, such as PDA devices and the Game Boy Advance (GBA). If you have an interest in any of my technologies, please contact me at .

Wire Mesh 3D Glasses
Wire Frame Space Shuttle Wire Frame 3D Glasses
Download 3dglasses.zip (56KB)
Anti-Aliased Lines
Anti-Aliased Lines
Download antialiasing.zip (20KB)

Polygon Tunnel
Polygon Tunnel
Download polygontunnel.zip (14KB)
Light-Source w/ Shadow 3D Parameterization
Light-Source Polygon Shadow
Download lightsourceshadow.zip (17KB)
3D Parameterization
Download 3dparameterization.zip (297KB)

Texture Mapping Texture Mapping
w/ Color Quantized Fade
Texture Mapping
Download texturemapping.zip (23KB)
Texture Mapping w/ Color Quantized Fade
Download texturemappingfade.zip (79KB)
Texture Mapped Tunnel Rotation, Scaling, Mip-Mapping
Texture Mapped Tunnel
Download texturedtunnel.zip (24KB)
Download rotation.zip (396KB)

Gouraud Shading
Gouraud Shading Gouraud Shading
Download gouraudshading.zip (62KB)
Environment Mapping Phong Shading
Environment Mapping

Environment Mapping

Environment Mapping
Download environmentmapping.zip (127KB)
Phong Shading

Phong Shading

Phong Shading
Download phongshading.zip (46KB)
Gouraud Texture Perspective Texture
Gouraud Texture Perspective Texture
Download perspectivetexture.zip (44KB)

Polygon Blur Gouraud Texture Blur
Polygon Blur Gouraud Texture Blur
Download gouraudtextureblur.zip (254KB)

Spring Theory Gravity Simulation
Spring Theory
Spring Theory
(on my Projects/Games page)
Gravity Simulation
Gravity Simulation
(on my Projects/Games page)
Anit-Gravity Arkanoid Physics
Anti-Gravity Simulation
Anti-Gravity Simulation
(on my Projects/Games page)
Arkanoid Physics Engine
Arkanoid '97
(on my Projects/Games page)
Road Simulation
Road Simulation
Road Engine for Full Tilt
(on my Projects/Games page)

Voxel Terrain Technology (Height Mapped Engine)
Photo-Realistic Height Mapped Terrain
Voxel Terrain Engine
(on my Projects/Games page)
Bump Mapped Shading Vector Balls / Compiled Sprites
Bump Mapped Shading
Download bumpshading3.zip (19KB)
Vector Balls
Download vectorballs.zip (155KB)
Maze Generator / Solver
Maze Generation     Maze Solver
Download mazegeneration.zip (35KB)

Spinning Copper Bars Bitmap Plasma Distortion
Spinning Copper Bars
Download copperbars.zip (18KB)
Wavy Bitmap
Download bitmapdistortion.zip (73KB)
Color Wheel / Fake 12-Bit Color Wave Interference

Download 12bitcolor.zip (15KB)
Wave Interference
Download waveinterference.zip (36KB)
Mandelbrot Set 3D Sierpinski Triangle /
Sierpinski Gasket
Mandelbrot Set
Mandelbrot Set Images
(on my Wallpapers page)
3D Sierpinski Triangle / Sierpinski Gasket
Liquid Motion Fire
Liquid Motion
Download liquidmotion.zip (21KB)
Download fire.zip (28KB)

Some of these graphic engines have been used in projects I have on display in my Projects/Games page.

My brother, Matthew Doucette, also has a page which showcases his talents in Real Time DOS Graphics. He also has a page that displays his Real Time 3Dfx Graphics.

[an error occurred while processing this directive] visitors since May 13th, 1999
[an error occurred while processing this directive] total page views since May 13th, 1999
Jason Allen Doucette | Xona Games | The First Pixel