Reading Siggraph 2005 papers...

I’m reading Siggraph 2005 preprint papers that are nicely gathered here. Some of them are really amazing! What I’m impressed with so far:

Texture Montage: looks cool. Just made me realize how primitive the “usual” texturing tools are… It makes me want to create some texturing tool…

LDPRT and Local PRT are steps in the needed direction for precomputed radiance transfer. Though Ignacio says that CPCA compression of SH is patented my M$… Bah!

Relational Debugging for the Graphics Pipeline is like NVPerfHud on steroids!

Reading on…


Mesh seamless texturing tool released

Finally I’ve put the MeshTexer tool online, with some documentation, the tool itself and some sample data. Basically, it takes a mesh with unique UV mapping, a normalmap and a tileable texture, and “wraps” the texture (nearly) seamlessly onto the given model. Well, the truth is that it just projects the texture onto the model from several sides, weighting by normal.

However, it worked like a charm during in.out.side demo production. Paulius has written whole texturing workflow here - the tool was used to generate base material textures, material blend maps, gloss maps etc. Later these were hand-painted in “strategic” places and combined into final textures.

Enjoy!


On some demos

Watched some new&old demos in the last couple of days. Here (when there’s a link to Lithuanian page, the ‘download’ looks like ‘parsisiųsti’):

Rapid Eye Movement by Matt Current. Now that’s unreal; technically simple but excellent composition and creates a very strong feeling. The similar feeling I only remember from The Planet by mfx. Also, I think the concept of “rapid eye movement” (i.e. the phase of the sleep) is done very well. I want to (be able to) do this!

Aether by mfx. The first time it didn’t leave me very impressed. However, I recommend watching it for the second time. Fascinating, though I can’t say what exactly.

Old ones with a very strong music: A Significant Deformation Near the Cranium by kewlers and Coma (on the dance floor) by Cocoon. I want that music :)


Japan, here we come

The results of ImagineCup05 rendering compo were finally announced!

The best thing of course is that our demo in.out.side: the shell took the 1st/2nd place (a tie). That means that both winning teams will go to the finals in Japan at the start of August. The final winner will be somehow decided there.

That’s going to be pretty interesting, methinks. We’ve got the 2nd place last year; the other winning team got the 1st place last year. This year, the same teams meet again, but it’s still not clear which one will win. Cool.

I wonder how the winner will be decided. Will we need to to some “presentation” (techniques/algorithms/workflow/hacks used)? Maybe there will be an additional “fast demo” competition (e.g. make a new demo in 1 day)? Interesting. Waiting…


While waiting for ImagineCup results...

Aargh, the ImagineCup crew postponed the results announcement again (that is, 3rd time already)! First it had to be on June 13th, now it’s scheduled for Real Soon Now, Really!

Meanwhile, I’m doing a game that surely will revolutionize the whole gaming industry, blah blah etc. That is, a letter learning game for my daughter; in Lithuanian. There are lots of these (example), but the problem is that they’re in all languages except the one you need.

Now, the most obvious implementation would be in Flash. Alas, I don’t have Flash authoring tools nor do I want to learn them and it’s ActionScript. I thought about going Lua+SDL all the way, without C++ at all. Guess what - SDL doesn’t have any high level audio playing stuff; I’m too lazy to bind it’s sdl_mixer to lua; there’s no nice IDE and there were lots of other obstacles. So I just went and am doing this in C++, abusing our demo engine. Oh well, I’m just lazy.

While implementing it I found out that I have no good tool to pack lots of arbitrary images into nice power-of-2 texture atlases. nVidia’s Texture Atlas Tools do almost that, but they rescale textures to be power-of-2 (which is usually ok, but not for my case). So I just had to fork the AtlasCreationTool (just SVN link for now) to do what I want. While at it, I removed it’s dependency on D3D sample framework (hey, removing code is always good!), forced it to support non-pow-2 textures and to pack them better. It’s probably not that good for the usual case (where you want to place textures at block boundaries in the atlas to minimize mipmap artifacts), but packs arbitrary sized images pretty nicely. Yay!