7.22.06
Finally married! We'll be gone for the week.
6.30.06
I just uploaded aQuaterra v1.0. I also made a new project page explaining some of the things I worked on. Let me know what you think!
6.13.06
Great news! I got an internship at Epic Games here in Raleigh. Today was my first day. I now have 3 part time jobs on top of full time summer school, so something is going to give. Yep, I have to stop working on aQuaterra. But life goes on, somehow.

I'm going to try to release a demo of what I have so far, and just stop working on new features. The problem is, I'm in the middle of some cool stuff like 3d sounds so I want to finish that first.
6.03.06
James Blake is the last American male tennis player in the French Open. He's playing Gael Monfils next, and I know he'll win. How you ask? Because I have seen a sign! (important parts circled in red =)
6.02.06
I now have some decent grass, and it's a huge improvement. The ground no longer looks bare and dead. Here's a shot looking over the lake and looking up the mountain. The grass grows dynamically around the camera. The best thing about the grass system is that it uses tons of random variables for each grass cluster to get variation and yet the attributes can be artist specified too. For example, here's a grass density function that I painted onto the terrain. White texels indicate that grass is more likely to be planted there. This way I can have patches of flowers, grass that doesn't grow in the water, ferns under trees etc. Currently the only other controllable attribute is the scale, but I can easily add others that might be useful.

I've also conquered one of my long-time enemies, THE REFLECTION GLITCH! Boom! I used a heightmap texture in the water shader, scaled it so that it ranged from 0 near the shore to 1 just a little further out, and used this to scale the reflective distortion. Interestingly I also got the ability to smoothly blend out the water edges for free! Here is the hard edges that i had before, and here is the new soft edges.

I'm still toying with the volumetric lighting / sun rays idea. It would require an extra pass to get the scene's depth and then an extra pass to get the sun's depth, not to mention running a complex pixel shader on every pixel on the screen. I'm not sure if it's worth my time implementing, escpecially if it turns out to dominate the performance. But it would be the effect that put aQuaterra over the top. Unfortunately the only way to know is to implement it.
5.21.06
Well the schooling is working, and I really like the results. The fish move as a group, avoiding environment obstacles and wandering around the lake. The best part is that they frantically run from the camera when it is near! They're not as smart as real fish though, and they're pretty easy to corner. At first I had some problems with them escaping the lake area but now they rarely do.

The flocking algorithm ideas are simple, but the implementation is a little trickier because there are so many forces to balance to get a convincing result. In my version there are at most 7 and at least 4 separate forces all trying to steer each fish. On my computer aQuaterra is still GPU limited due to the water shader and the post processing effects, but the physics for the schooling weighs in pretty heavy on the CPU side. Even with a lot of optimizations I can only simulate a few hundred at once. 300 fish is overkill for my level anyway =)

I also smacked a phong lighting model on the GPU skinned fish since phong specular looks good on low poly models. Next up is grass, which is looking a lot more challenging than I anticipated it. But it will be a huge improvement if i can get it working well.
5.15.06
Finally time to work on aQuaterra again! I never found a good solution to the reflection glitch, and didn't get time to look into godrays. I got the bloom to be more effective though by carefully maintaining the color balance in the scene. I've decided to put development on the water on hold since I'm mostly satisfied with it, and it is already a very expensive shader, and work on the environment. I setup a vegetation LOD system and things are looking great, barely slowing down even with hundreds of trees. There's no grass though, grass needs to be handled differently but it's near the top of my list. Another thing I have been working on is an implementation of Craig Reynold's flocking algorithm, although it's really schooling in this case. I put in support for skeletal animation and tested it out with that little fish. Once I have them doing collision avoidance with the environment I'll get them in aQuaterra and have fish swimming around!
4.01.06
Work on aQuaterra has slowed to a crawl because of the massive amount of projects i have to do. Caustic effects on the terrain floor are looking good. Next up is the reflection glitch. I have some good ideas for improving bloom, unfortunately my current beautiful sky will have to go since it's too bright. And then I want to make some awesome godrays like these from the Typhoon engine.
3.23.06
It took forever but I have an aQuaterra demo up. I disabled the specular highlights since I can't get them to look right with the scrolling surface model. Also I mainly worked on the shaders and engine, of the media only the sky and heightmap are mine.

My new top priorities are to get some good looking caustics, do something about that vicious reflection glitch (where the terrain meets the water, i've gotten some great ideas from gamedev.net) and find a good solution for the streak / bloom problems I'm having.
3.20.06
I've decided to call this project aQuaterra. Things have been progressing along and I got some cool new effects working. The most notable are a new level, underwater scattering and a new surface model.

The new level is the San Antonio Reservoir in California. It's a beautiful lake at the feet of a highly eroded mountain.

Underwater scattering is working great, causing the deep areas to be darker, and it darkens them almost correctly when the camera is underwater, still gotta work on that.

The new surface model is based on scolling high and low frequency normal maps so that no repeating is visible. I think it looks better from above the water, but it doesn't make as pretty of a refraction from below.

I'm looking into some more props like vegetation for the scene, but I hate using content that's not mine and most of the free stuff out there is crap anyway. And then there's the issue of lighting and shadowing the vegetation. Lighting will be easy but shadowing will be trickier.
3.13.06
Lately I've been working on some really fun stuff. After reading that article by Tiago Sousa I was inspired to get some decent water going with reflection, refraction and the works. I had a lot of time this past week (for once) as it was spring break so I got a bunch of stuff working. So far I have dynamic reflections and refractions, blended together using a fresnel term, and a specular effect. Take a look: shot1 shot2 and shot3. Thanks to David Tredwell for the awesome NCSU belltower model. Unfortunately single frames don't do the animated water justice. Now I am working on some kind of underwater fog, a streak filter to make the specular highlights really stand out, underwater caustics and different surface representations. This has been one of my most fun projects to date so I will certainly make a projects page and put up a download when it's ready.
3.07.06
Big update today! The Awakening Projects page has been added. Check it out!
2.28.06
I recently bought GPU Gems 2 (saved $20 for being a registered Nvidia developer!). I was reading the excellent article by Tiago Sousa called 'Generic Refraction Simulation', and I came across a pretty funny statement. Tiago says,

"For Far Cry we used an animated bump texture, which worked out really well. In later experiments, however, we achieved even better results by using multiple bump-map layers for animating waves"

Even better than Far Cry's water? Impossible!
2.26.06
Well I spent a ton of time this weekend trying to wrap up the Awakening project, but things are going worse than I expected. The bots have a path to the nearby objective, but instead they try to go halfway across the map to get a weapon which isn't even reachable! (until after the objective) Also it takes about 15 minutes to rebuild the bot paths in Unreal Ed so I can't just tweak things to narrow down the problem.
2.21.06
Today is Amanda's 22nd birthday! Tell her happy birthday if you like. (her site)

I've been scrambling to get things done this week, as usual. I need to make Amanda's birthday special, then I have a bunch of homeworks and a presentation tomorrow, and then a project due thursday. And I'm up at 3am! Free time was a luxury of the past.
2.18.06
I’m online! Thanks to my fiancée Amanda for making this site for me. What would I do without you?