Submitted by , posted on 08 July 2002

Image Description, by

Hi Flipcoders!

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 recent os's.

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 plastic!!

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,
Clint Brewer

Image of the Day Gallery



Copyright 1999-2008 (C) FLIPCODE.COM and/or the original content author(s). All rights reserved.
Please read our Terms, Conditions, and Privacy information.