Submitted by , posted on 08 July 2002
Image Description, by
I've been looking at the IOTD's for well over a year now, and they are
all inspiring, thanks for all the submissions in the past.
Here's some stuff I've been working on for Haptek Inc.
lately. Haptek makes a real-time 3D Avatar / character animation
system. We've got an activex control, or a dll you can use to add a
character to any program fairly easily. It only works on Win32 right now
though. So like, if you are making a database program and you are bored
to tears, you could add a haptek character window to it and have it
speak to the database users ;)
The top two windows are KATE (Kick Ass Talking Emoticon) It's a plugin
for the Sonork Instant Messenger. It uses the
Haptek player to render who you are talking to, and a SAPI TTS engine to
say what they type. If someone types an emoticon like :) or :( then
it will change the emotion of the character to be happy or sad. It's
using a DirectX 6 renderer so it'll work on default installs of more
The bottom 3 windows are probably more interesting you folks here. They
are a proof of concept of using the haptek api to animate a character in
a completely different renderer. I'm just using a simple Glut window
here, using only opengl. I used DevIL to load the texture maps, which
is a wonderful program, I'm definitely going to use it in my own
projects. I also recently upgraded my old TNT2 card to a GeForce4 ti
card so I just had to play around with some of the fancy things it can
do in one pass :)
The middle old guy with the lip gloss on is my first attempt at bump
mapping. It does both diffuse and specular using a gloss map to define
how much of the specular comes through. Our artist made the normal map.
notice the bone structure on the skull, that's all the normal map. it
really does look good when you are moving it around.
The bottom left guy is doing some toon rendering. I wasn't very
convinced about the coolness of toon rendering for a while, but it
really is neat to see it running in real time, I like it better than the
bump mapping. It's using the anisotropic rendering algorithm with just
a simple 1d texture for shading. then using another 1D texture to do the
black outlines using E dot N to determine texture coordinates.
And Last but not leas is the bottom right girl. She is rendered using
the fresnel term to blend an environment map over her. I'm working on
this mainly to get realistic looking eyes, but she looks cool encased in
One final note, in the opengl windows at the bottom I'm using the new
cg stuff from nvidia, it was fairly easy to get going, and while it
still needs a lot of work, it's pretty easy to work with. I set up a
system very similar to the D3DX Effects file format so that I could
quickly prototype different things in the opengl app. It paid off
really quickly, and I highly recommend adding some sort of more
"programmability" to your own engines, where you can specify alpha
blending, and multi pass rendering stuff in a text file.
Feel free to e-mail if you have any questions,