Jump to content
The Dark Mod Forums

How to make a nice looking water surface?


motorsep
 Share

Recommended Posts

So I spent two evenings trying to make good water surface using whatever capacity Doom 3 has and I found it impossible :(

 

How did you make it in TDM ? Did you have custom ARB shaders ?

 

Here is what I came up with (realtime reflection is a custom shader and has artifacts on object partially submerged into water, so unless we fix that, I won't use it):

 

 

Basically it's just a brush with 5 sides of nodraw and surface having my water material:

textures/water/water_surface1
{
	translucent
	twoSided
	noShadows
	noSelfShadow
	nonsolid		
	qer_editorimage textures/water/water_surface1_strip16_editor.tga
	{
		vertexProgram		heatHaze.glsl		
		vertexParm		0	time * .1, time * 0.08		
		vertexParm		1	2
		fragmentProgram		heatHaze.glsl		
		fragmentMap		0	_currentRender
		fragmentMap		1	normalMap textures/water/water_surface1_local.tga
	}	
	{
		blend blend
		map textures/water/water_surface1_d.tga		
		alpha 0.15
		scroll sinTable[time * .02] * .01, time * 0.02		
		shear sinTable[time * .02] * .02, cosTable[time * .02] * .02
		rotate sinTable[time * .01] * .01
	}
	{
		blend bumpmap
		map textures/water/water_surface1_local.tga		
		scroll sinTable[time * .02] * .01, time * 0.02		
		shear sinTable[time * .02] * .02, cosTable[time * .02] * .02
		rotate sinTable[time * .01] * .01
	}
	{
		blend specularmap
		map textures/water/water_surface1_s.tga	
		scroll sinTable[time * .02] * .01, time * 0.02		
		shear sinTable[time * .02] * .02, cosTable[time * .02] * .02
		rotate sinTable[time * .01] * .01
	}	
	
}

If I add cubemap reflection, it looks like crap, since it just sits there, doesn't deform or anything like that, so my water looks like ice (I tested it in stock Doom 3 and it's the same story):

 

 

I recall TDM having decent water, and I wonder how that was achieved. Thanks!

Edited by motorsep
Link to comment
Share on other sites

Yeah, I probably just copied it from somewhere else. I don't know if it does anything at all.

 

Does water ever get "bumpy" in your example? I tried using normal map to simulate waviness/bumpiness, but it seems like it's a no-go (maybe because transparent surfaces don't get interactions).

Link to comment
Share on other sites

In the video you can see that it has specularmap affected by normalmap so specular reflection looks bumpy. Also image is warped by the same normalmap. And that's only one material. The other two are for the mirror reflection and a colour.

It's only a model...

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

 Share

  • Recent Status Updates

    • peter_spy

      Deathloop – what a mess of a game. I'd love to see a post-mortem on it some day. I hope Arkane is doing okay though.
      · 12 replies
    • OrbWeaver

      I like house-cleaning and taking out the trash.
      · 1 reply
    • STiFU

      Be honest: Who of you have actually finished Cuphead? This game is freaking tough! It might even be harder than Sekiro. Dark Souls is a joke in comparison to Cuphead! :-D 
      · 8 replies
    • duzenko

      Please, can we finally group the missions by year in the game menu?
      · 6 replies
    • duzenko

      I vaguely recall someone recently complained about two-sided materials (curtains?) not getting lighting from both sides
      I just found a piece of code that's supposed to do just that
      Where was that discussed? (@nbohr1more?)
      · 9 replies
×
×
  • Create New...