12/14/04
I know… it’s been awhile since my last update. What a
terrible webmaster I am. Why, just the other do I was
writing up some cool samples and thought to myself, “Hey, I
should help some people out and post these samples for
download”, but instead, I decided to pimp my site out to
Google by plastering a bunch of ads all over it. I know
some people won’t like this, so if it really irks you, you
can send me an email and I’ll make sure to forward it to my
personal assistant who just happens to be a Nigerian Prince.
I’m sure he’ll know just what to do with it.
But seriously people, the ads are not so bad. They're at
least targeted at developers so a few of them should prove
interesting. Heck! Even I would like to click on a few of
them, but that's strictly forbidden. If Google found out,
their ad police would hunt me down and cut off my
mouse-clicking finger!
Anyway, I’ve been working on a new PowerPoint based tutorial
for Python, so I haven’t been totally idle. HA! I haven’t
been - “IDLE”! Get it?
Hmmm… I guess not.
Well read
the tutorial and you will...

Learn Python 2.4 Now!

10/07/04
For those of you who know
Python and are itching to code up some old school 2D
games, I’ve added several new Python
scripts, which use
Pygame. Pygame is an easy to use add-on module for
Python, which makes writing 2D games fun and easy. For the
total newbie, the combination is truly an excellent way to
learn programming. For the more experienced, the combination
is useful for quickly prototyping 2D game concepts or just
hacking around and having some fun. Either way... it's fun!

10/06/04
All of the GLslang shader samples have been updated and I
would like to thank Javier Peña for pointing out the goof
up. Basically, the calls to glUniform1iARB were passing the
texture’s ID for the second argument when it should have
been passing the texture unit to use. There was also a
order-of-execution problem concerning the call to
glUseProgramObjectARB(), which was causing some confusion.
I would also like to thank Damien for the heads-up on my
usage of D3DXMatrixPerspectiveFovLH, which takes radians – not
degrees - like OpenGL's gluPerspective() function does. Oops!

09/25/04
All of the samples on the Miscellaneous Source
page have been updated with .Net 2003 project files. I also
added two new C++ samples dealing with
smart pointers
and reference
counting, which are two very useful techniques that any
good C++ programmer should be aware of. 
08/24/04
Ported the
NV_occlusion_query sample to use the newer OpenGL
extension, ARB_occlusion_query. 
08/12/04
All the Linux samples that
ship with eclipse
project files have been updated to work with the new
eclipse
3.0 release. If you have any problems, let me know. 
07/23/04
Now, that nVIDIA
has finally released a driver that supports GLslang
(61.76) I’ve decided to update all my GLslang samples
and add a new one as well by
porting the popular Anisotropic Shader over.
Unfortunately, I’m having some trouble writing samples that
use only a vertex shader with out a fragment shader. For
now, my GLslang samples attach both a vertex and fragment
shader even when they only need a vertex shader. Why? I
don’t know. It’s probably just a stupid oversight on my
part, and hopefully someone will let me in on the secret of
using only a vertex shader. 
07/14/04
I added a new Cg
shader sample to the OpenGL page,
which demonstrates how to write a fragment shader to convert
standard triplet RGB colors into their gray-scale equivalents.
I also updated
the
DDS texture loading sample to use the famous Lena image,
which is a better choice for image compression tests than
the Mandrill image. 
05/11/04
The very popular DirectX
8.1 sample, which demonstrates how to write a simple
2D side-scrolling shooter style game has finally been ported
to DirectX 9.0. The biggest difference between the
two samples is that the newer sample uses D3DXSprite
instead of performing bit blits to the back-buffer.

04/20/04
I’ve got two new DirectX 9.0 samples, which both
deal with managing Direct3D devices.
The first sample demonstrates
how your application can recover from a “lost device”.
Typically my samples do not bother in handling this event,
but in real-life this potential problem is very important
and should be handled by any commercial-grade application
or game.
The second sample deals
with resizing the device’s front and back buffers
to match a size change in the main application’s
window. This involves calling IDirect3DDevice9::Reset on
the device which is somewhat similar to recovering from
a lost device by the necessity of having to invalidate
and recreate all objects which were created using the device.
This feature may or may not be important to you since many
developers simply lock the application to one size and
do not allow the user to smoothly resize the application’s
window.

04/09/04
I don’t have any new samples to post right now, but I
did reorganize the Miscellaneous
Source page by renaming the samples with new prefixes.
The usage of prefixes and postfixes in sample names is
more for my benefit than yours, but if you’re interested
here are the prefixes and postfixes that I currently use
on the site:
Prefixes:
dx9_ - DirectX
9.0 sample
dx8_ - DirectX
8.1 sample
ogl_ - OpenGL
sample
trq_ - Torque
Game Engine sample
sdl_ - Simple
DirectMedia Layer sample
py_ - Python
or Python/C++ sample
w32_ - Windows
only or Win32 specific sample
cpp_ - General
C++ sample
stl_ - Standard
Template Library sample
dp_ - Design
Patterns sample
Postfixes:
_eclipse - Sample
ships with eclipse project files
_linux - Sample
will only run on Linux (uses gmake makefiles)
_nv - Sample will only run
on nVIDIA video cards
If you have any problems downloading, compiling, or running
the samples after these changes, please let me know.

03/21/04
If any of you have had problems accessing my website
recently, you’ll be glad to know that this problem
should stop. For the last few months the site has been
going down towards the end of the month because it was
violating its bandwidth limit.
At the end of the first month, which suffered a shutdown,
the site was down for only two or three days, but the problem
has been getting worse as the popularity of the site increases.
This month, the bandwidth limit was reached with the month
barely half over. This, of course, does not make for happy
visitors, so I’ve decided to move my site to a new
web host which not only gives me more bandwidth, but is
slightly cheaper.
Of course, this means that I have to transfer the site
from one host to the other and make a few DNS changes to
get things up and running so if you have any problems accessing
anything on the site, please let me know.
Enjoy.

03/04/04
Added a new DirectX
9.0 sample which shows how to use multiple Direct3D
devices to render to multiple windows. This sample is
actually meant to further clarify why the Swap
Chains sample is useful, so you may want to check
it out as well if you're interested in this subject.
I also fixed a lighting problem in the Emboss
Bump Mapping samples on the DirectX 9.0 page. The
textures were darker than I had intended because the
lighting was set up incorrectly.
More Site News... |