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...