Jump to content

  • Log In with Google      Sign In   
  • Create Account

Directx 9 - Water rendering on road


Old topic!
Guest, the last post of this topic is over 60 days old and at this point you may not reply in this topic. If you wish to continue this conversation start a new topic.

  • You cannot reply to this topic
9 replies to this topic

#1 duskndreamz   Members   -  Reputation: 140

Like
0Likes
Like

Posted 05 November 2012 - 08:33 AM

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,

Sponsor:

#2 kemthichem   Members   -  Reputation: 104

Like
0Likes
Like

Posted 05 November 2012 - 11:58 AM

up

#3 gfxgangsta   Members   -  Reputation: 583

Like
0Likes
Like

Posted 05 November 2012 - 12:34 PM

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.

#4 duskndreamz   Members   -  Reputation: 140

Like
0Likes
Like

Posted 06 November 2012 - 10:59 PM

I am actually trying to render a scene where i can render the road as wet, to enable it to show as if it had just rained.

any pointers for that?

#5 Hodgman   Moderators   -  Reputation: 30353

Like
0Likes
Like

Posted 06 November 2012 - 11:22 PM

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.
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;


#6 duskndreamz   Members   -  Reputation: 140

Like
0Likes
Like

Posted 19 December 2012 - 05:03 AM

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]

#7 duskndreamz   Members   -  Reputation: 140

Like
0Likes
Like

Posted 19 December 2012 - 05:07 AM

Image Link
http://picturepush.com/public/11722119

#8 GeniusPooh   Members   -  Reputation: 157

Like
0Likes
Like

Posted 19 December 2012 - 06:34 PM

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 :)

Beauty is only skin deep , ugly goes to bones

 

World's only 3D engine tunner and 3D engine guru.

 

and real genius inventor :) but very kind warm heart .. and having serious depression for suffering in Korea

 

www.polygonart.co.kr ( currently out dated and only Korean will change to English and new stuff when I get better condition :) sorry for that)


#9 duskndreamz   Members   -  Reputation: 140

Like
0Likes
Like

Posted 19 December 2012 - 11:35 PM

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 Posted Image


Thank you for your response.

Requesting you for more description of the same.

#10 GeniusPooh   Members   -  Reputation: 157

Like
0Likes
Like

Posted 20 December 2012 - 08:08 AM


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 Posted Image


Thank you for your response.

Requesting you for more description of the same.


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, 20 December 2012 - 08:09 AM.

Beauty is only skin deep , ugly goes to bones

 

World's only 3D engine tunner and 3D engine guru.

 

and real genius inventor :) but very kind warm heart .. and having serious depression for suffering in Korea

 

www.polygonart.co.kr ( currently out dated and only Korean will change to English and new stuff when I get better condition :) sorry for that)





Old topic!
Guest, the last post of this topic is over 60 days old and at this point you may not reply in this topic. If you wish to continue this conversation start a new topic.



PARTNERS