unlimited planar reflections & refraction (update)

(iFlowProduction) #181

@bankbaa : I think a .blend-file would be good. Looks like an similar problem like mine.

(HG1) #182

That seems to be a different kind of fault.

Try this modified version.

(iFlowProduction) #183

Thank you HG1.
It wasn’t perfect, but after some little adjustments now it works fine.

Thank you! :slight_smile:

(Deathheart274) #184

could you please tell me, how you did change the colour of the water? that would be very nice of you, cuz
1.I’m german and not the best in english
2. i’m a total newbie if blender is the subject.
And, btw, i tried it, but how do i get this kinda underwater looking fog thingy when i’m underwater?
And does this animated light texture on the sand start at level 0?
or what do i have to do, to get it there?

(HG1) #185

Wenn du den Shader von Post #183 verwendest dann gilt folgendes.

  1. Die Wasserfarbe wird anhand der Reflexion der Umgebung und der Sonne im Shader “watershader_high” berechnet. Du musst also die Farbe des Untergrunds, des Himmels und der Sonne ändern.
    Für den Untergrund wird ein eigener Shader “Untergrunds” verwendet. In der Zeile 183 kannst du die Wasserfarbe und in der Zeile 184 die Farbe der Sonne ändern.
  2. Ich denke mal du hast den etwas älteren Shader von der ersten Seite oder vom Post #187 verwendest dann ist der Unterwassershader dort nicht enthalten.
    Den findest du im Post #132 oder meine Buggefixte Version davon im Post Post #183.
    Die Diakaustik am Grund wird mit Hilfe der Normalmap “ground” > “clay” > “Texture.002” generiert.

Du kannst deine Fragen auch im deutschen Blender Forum Belndpolis stellen http://www.blendpolis.de/viewforum.php?f=15.

If you use the shader of post # 183 then the following applies.

  1. The water color is calculated by the reflection of the environment and the sun in the shader “watershader_high”. So you need to change the color of the ground, the sky and the sun.
    For the ground, a separate shader “Untergrunds” is used. In line 183 you can change the water color and in line 184 change the color of the sun.
  2. I guess you are using the older shader from the first page or from post #187. This shader does not have an unter wasser shader.
    You can find the unter wasser shader in post # 132 or in my bug fixed version in post #183
    The caustic on the ground is generated in the shader by using the normal map “ground (object)”> “clay (material)”> “Texture.002 (texture)”.

You can alos ask your questions in the german Blender forum Belndpolis http://www.blendpolis.de/viewforum.php?f=15.

(Deathheart274) #186

okay, thx für die info :wink:
Bist mein held(für heute) :smiley:

(Deathheart274) #187

but my problem is, that the shader won’t work anyways, underwater, how do i set it up, to work, i did everything, but maybe i did it wrong wit the meshes, could ya please take a look? that would be very nice :wink:

(HG1) #188

You have forgotten to save the blend file with textures.

The under water shader is working.
You must change the order of the textures on the “clay” material (the normal map must be on the top).
You need to add the skybox and you must move the sun much more up (light down = night, light up = day).
If you want that objects in the water also be fogged you must join this objects to the ground (don’t forget, join in the right order).

(martinsh) #189

A new video of my ocean shader:

the blend will be here in next few hours

I have also updated the planar reflections/refraction setup file for those who want to use it for their own projects:



  • to reduce the 1 frame render delay, instead of delaying the camera I added a delta offset factor so the render camera is guessing the next position and orientation to render
  • …so no more messy camera system now it is almost a drag&drop setup in your project
  • fixed clipping issue on nvidia cards

(bankbaa) #190

@martinsh and other that involve in this project I love you all hahaha thanks for all hard work.

(klauser) #191

Oh my goodness martinsh, this update looks excellent. Can’t wait for the new blend. Has there been any performance increase with the newer version. I will try it out anyway but thought I’d ask and see if you had purposefully done some optimisation on it? The last version of it worked well, but it was fairly heavy on the processing side.

The new water_surface blend works great as well, getting good fps on my old(ish) laptop, so I’m going to assume it runs great on a decent desktop. Many thanks for sharing this.

(mziskandar) #192

OMG! :eek:

(Rubbernuke) #193

This somehow has to be added to the default shaders (or be included in a resource pack) because that is top grade- it looks beyond commercial game quality. A fantastic job! I showed that video to my wife and she thought it was real (until the big monkey head, anyway…).

(David Hattori) #194

Any chance you write such a water shader for Unity?

I don’t know what you do for a living. But if you would sell such a water shader in Unity’s Asset Store, I’m certain you would make several thousands a month.

Fantastic work.

(Kaerhon) #195

Just saw that update. That’s really good work. Really inspiring

(martinsh) #196

here is the download link to blend file for the last update:

Havent really thought about it, but it sounds like a good idea. I know some of my work is already in Unitys Asset Store like the Area lights, but implemented by another coder. It`s about time I take a look at Unity.

(isyedcg) #197

thanks alot ! why HDR doesnot work on my laptop…using Blender 2.67b ,Nvidia 610m, i5 3210, 8GB RAM

(SamCameron) #198

I cannot see many of the effects in the video like the waterdrops in the camera when you move out from the water or the glare effect. I have a GTX460, any idea why I cannot see these effects? Thanks.

(Akira_San) #199

When starting i get 22fps with water drops i get like 17.

(David Hattori) #200

Yes I’m aware of the area lights. Your work inspires a lot people. Your box projected cubemapping video got also numerous mentions. Even from the Marmoset people at the Unity forums.

The thing is, Unity is not bad and all. But it lacks of some really bad ass shaders. Even the default shaders suck pretty hard. Because of that I’ve learned some shader coding, to get my own basic shaders done. But what you do is beyond me. By far.

And as a long time user of Unity I can tell you, that especially a premium quality water shader like yours is one of the most desired shaders for Unity.

It would be damn great if you have a look into Unity. A lot people would appreciate that. That’s for sure.