Local developer resources
When writing my tutorials I'm assuming that the reader has basic knowledge
of C++. If you don't then I suggest you pick up a good book on the subject at
you local bookstore and start learning it before continuing.
When you read the tutorials you have to keep in mind that there are many
solutions to the same problem. My tutorials are only meant to give you a
starting foundation to build your own solutions on.
Unless stated otherwise, the source codes are available for educational
purposes only, i.e you may download them and learn from them but you may not
use them in your own projects without my expressed permission.
A = article, E = executable, S = source code
DirectX 9
This little sample shows how to write text using bitmap fonts. The bitmap
fonts are generated by
BMFont, and rendered
with CFont from the
AngelCode Tool Box.
This little sample shows how to do tangent space normal mapping.
This little sample shows how to do shadow mapping.
DirectX 8
Metaballs are very popular in computer demos and have been around for a long
time. I've always been fascinated by them and the forms they create. In this
article I describe briefly how to compute metaballs, but I'm going to focus on
an algorithm I came up with that let's you make them fast, very fast.
DirectX 7
This demo will show an animated image like an old TV without signal on your
desktop, under your windows and icons. It does this by using DirectDraw overlay
surfaces that are masked to the desktop background color.
I initially intended to write a tutorial for this particle system. But lack
of time and motivation put an end to that project. Luckily I had finished the
program before that. So I present it to you now in the form of a demo with
hopefully easily understandable code. I would also take the time to thank
SHilbert, Shinkage, and Ysaneya from the GameDev.net forums for giving me some
helpful pointers on how to make it more efficient.
This is a program I did to test the properties of the triangular bezier
patch. The reason for the program was that I wanted to examine different ways to
smooth geometry based on triangles to give the illusion of higher detail.
Unfortunately the triangular bezier patches have troubles at the edges between
surfaces, it is very hard to get a smooth surface there.
In this tutorial we will expand our simple window, and add
some Direct3D to it. You will learn how to initialize Direct3D with the help of
Direct3DX and then render a rotating colored triangle. This tutorial is only meant as
an introduction to Direct3D and Direct3DX.
Graphics theory
I explain how the world and the view matrix works in an ordinary 3D
geometry pipeline. This article is for the people that are new to 3D
graphics, and as such I try to minimize the mathematical talk.
Procedural textures
Here you will find both an application that allows you to experiment
various algorithm through an easy to use scripting language and several
example scripts for generating different procedural textures.
This article describes both the theory and practical implementations of the
perlin noise. It doesn't tell you what to use perlin noise for though, for that
you'll have to use your own imagination.
Scripting
AngelScript is an open source free library with a script compiler and virtual
machine. It is designed to easily interact with C++ applications as such it
shares many features with C++ such as data types and syntax.
I had a few hours over at work and decided to put some usefulness to them instead of surfing the net.
I wrote this fully functional calculator in about 5 hours. It allows you to write mathematical expressions
that it calculates for you. You can use all the standard mathematical operations as well as nested parenthesis
and some built-in functions such as sin(a), mod(a,b), and more.
Windows API
This little test program was made to show how to draw on the
desktop without hiding the icons. It uses windows hooks to monitor
the messages sent to the desktop window and makes its own drawing
between the drawing of the wallpaper and the icons.
This small tutorial will teach you how to use a windows hook to catch the creation of a window in order to couple the window handle with a data object. This is very useful when creating wrapper classes for windows.
Since for almost all windows application you need to create a window and handle
its messages, I have decided to write a small tutorial on just how you go about to
do that. The application that I have created for this tutorial doesn't do anything
fancy, it just sits there on the screen allowing the user to resize and move it.
Miscellaneous
This is a study on calling conventions in C++ and how they are implemented on various compilers. Can be used as guideline for those who are interesting in adding support for more compilers.
This little demo shows the simplicity of the TEA block algorithm, an 128 bit symmetric encryption algorithm.
For those of you that like to dig deep, this tutorial will give a taste on MMX and how it works, as well as why and when to use it. Assumes you have some knowledge of assembler already.
This is an introductory article that explains what the Discreet Wavelet
Transform is and how it works. It does this without going into too much
mathematics, that is left to the mathematicians.
This tutorial is for those of you who don't already know how to utilize time
in your projects to get smooth movements of your game objects. It also explains
how to compute FPS for measuring the performance of your game.
Tips, tricks, and code snippets