Sign in to follow this  
duskndreamz

Directx 9 - Water rendering on road

Recommended Posts

duskndreamz    179
Hi,

I am attempting to render realistic water on road surface. for a car simulation game.
I am using Directx 9 , and have written the engine ground up.

Requesting the forum members to suggest good and cost effective rendering techniques for the same.

Regards,

Share this post


Link to post
Share on other sites
gfxgangsta    806
I'm not sure what you're looking for when you say "realistic water", but if you mean reflection and refraction, then... I've relied on these two resources before:


http://www.riemers.net/eng/Tutorials/XNA/Csharp/Series4/The_water_technique.php

http://habibs.wordpress.com/


Riemer's is XNA, but shouldn't be *too* complicated to port to C++/DirectX9.

Share this post


Link to post
Share on other sites
Hodgman    51237
How are you currently rendering your road?

The simplest is to perform your specular lighting twice, with the second time using a different mask/power for water. Also, try using the per-vertex normal for the water layer instead of the normal-mapped normal.

e.g.Road diffuse with Lambert + Road specular with Blinn-phong + Road "wet surface" specular with Blinn-phong.
[code]result = pow( dot(VertN, H), waterSpecPow ) * (waterSpecPow+2)/8 * saturate(dot(VertN, L)) * waterSpecMask * lightEnergy;
lightEnergy = (1-waterSpecMask) * lightEnergy;
result += pow( dot(N, H), roadSpecPow ) * (roadSpecPow+2)/8 * saturate(dot(N, L)) * roadSpecMask * lightEnergy;
lightEnergy = (1-roadSpecMask) * lightEnergy;
result += saturate(dot(N,L)) * roadDiffuse * lightEnergy;[/code]

Share this post


Link to post
Share on other sites
duskndreamz    179
The kind of effect I am targetting is shown in this image.

[img]http://picturepush.com/public/11722119][IMG]http://www1.picturepush.com/photo/a/11722119/220/11722119.jpg[/img]

Share this post


Link to post
Share on other sites
GeniusPooh    161
hmm

reflaction and blurr and distortion required..

mostly reflaction earn by render cars flip down by road surface.

and you can blur( or low resolution ) and distortion by shader distortion can earn by sin, cos function or some texture map's offset.

It's not hard to do

and realistic scene need very detail gesture.

how about wave about raindrop at road

I sujest that kind of gesture or water wave by tires

It can acheive by dynamic texture of distortion .

if you need deeper opinion I will descripe it more :)

Share this post


Link to post
Share on other sites
duskndreamz    179
[quote name='GeniusPooh' timestamp='1355963678' post='5012652']
hmm

reflaction and blurr and distortion required..

mostly reflaction earn by render cars flip down by road surface.

and you can blur( or low resolution ) and distortion by shader distortion can earn by sin, cos function or some texture map's offset.

It's not hard to do

and realistic scene need very detail gesture.

how about wave about raindrop at road

I sujest that kind of gesture or water wave by tires

It can acheive by dynamic texture of distortion .

if you need deeper opinion I will descripe it more [img]http://public.gamedev.net//public/style_emoticons/default/smile.png[/img]
[/quote]

Thank you for your response.

Requesting you for more description of the same.

Share this post


Link to post
Share on other sites
GeniusPooh    161
[quote name='duskndreamz' timestamp='1355981746' post='5012715']
[quote name='GeniusPooh' timestamp='1355963678' post='5012652']
hmm

reflaction and blurr and distortion required..

mostly reflaction earn by render cars flip down by road surface.

and you can blur( or low resolution ) and distortion by shader distortion can earn by sin, cos function or some texture map's offset.

It's not hard to do

and realistic scene need very detail gesture.

how about wave about raindrop at road

I sujest that kind of gesture or water wave by tires

It can acheive by dynamic texture of distortion .

if you need deeper opinion I will descripe it more [img]http://public.gamedev.net//public/style_emoticons/default/smile.png[/img]
[/quote]

Thank you for your response.

Requesting you for more description of the same.
[/quote]

I must clear about how much you understand but...

I just tell the brief..

and I think you are very familiar with reflection.. flip car and render at road side. you can render that car to new texture with low resolution..

and you can distort it with sin or cos curve.

this is basic thing to do.

next you can render tire trail to road in new texture buffer and tire tail must vague by time

so you have texture with tire trail..

with tire trail texture you can distort water mark or normal or water surface

so you have flipped low resolution car image and wave term by sin or cos (or anything) and tire thread's power on the road

so you can composite final scene with this you can add flipped car for mirror image and distort it with term and you can distort it more with tire tread and you can add specular on tire tail..

I'm not good at English but I try to explain about it.

Hmm.. I worry how much knew about reflection and shader and post processing.. Edited by GeniusPooh

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

Sign in to follow this