Tuesday, April 04, 2006

I've added water to the engine. So far there's only reflections but refractions are coming up.

Now I need to render the scene multiple times per frame. The geometry that is going to show up in reflections is first rendered to a texture. This texure is then used in a second pass where the scene is rendered as normal but the reflection texture is projected onto the water plane. The same has to be done for refractions. The reflection pass is done with a lower LOD setting to increase speed, and the distortion of the water makes it very hard to notice the decreased LOD anyway.

I'm not totally happy with the way these multiple render passes are handled by the engine, so I think I have to redesign a bit. That's why I left out refractions for now.


Johan said...

Hey, this looks great! I just discovered your blog yesterday and I think I'll check it more often :) Keep up the good work!
Also, your work inspires me to work a little harder on my own engine ;)

Anonymous said...

I agree, the water and sun effects are just amazing... 2 things I havent had a chance to do because Ive moved on to networking and game play issues... but definitly inspiring.

Mr. Volckmer said...

You own. I must now absorb your knowledge.

Anonymous said...

I was wondering if you intend to have this project open source or not? I ask as I am very interested to see the source code if this is possible.

Anonymous said...

I was wondering if this project was going to be open source at all? The reason I ask is that I am very interested at looking at the source code if this is possible.

Thanks, and amazing work btw!

Jonas Risbrandt said...

Thanks for the kind words everyone.

I have no plans to release the source in the near future mainly becourse I'm kind of a perfectionist when it comes to code I put up for public display. In it's current state it's simply not pretty enough;) Right now I don't have time to address that.

But I'll be glad to explain details about how things are done and maybee show specific parts of the code if you have questions.