Sure!
`--------------------
` Water+Terrain
`--------------------
` By Evolved
` http://www.vector3r.com/
`--------------------
`Set Up Display
set window on
set window title "Water+Terrain"
load dll "user32.dll",1
Sw=call dll(1,"GetSystemMetrics",0)
Sh=call dll(1,"GetSystemMetrics",1)
delete dll 1
set display mode Sw,Sh,32,1
maximize window
sync on : sync rate 0
`Set Text
set text font "Verdana"
set text size 13
set text to bold
ink rgb(175,175,175),0
`Setup Camera 0
autocam off
position camera 0,250,0
set camera range 1,100000
set camera fov 65
backdrop off
`Make world
MakeWorld()
`Make Water
MakeWater()
`--------------------
`Start loop
do
`Control Camera
cr#=0:cf#=0
if rightkey()=1 or KEYSTATE(32)=1 then cr#=-5
if leftkey()=1 or KEYSTATE(30)=1 then cr#=5
if upkey()=1 or KEYSTATE(17)=1 then cf#=5
if downkey()=1 or KEYSTATE(31)=1 then cf#=-5
ncr#=curvevalue(cr#,ncr#,5)
ncf#=curvevalue(cf#,ncf#,5)
cx#=cx#+mousemovey()*0.2
cy#=cy#+mousemovex()*0.2
if cx#>80 then cx#=80
if cx#<-80 then cx#=-80
ncx#=curveangle(cx#,ncx#,2)
ncy#=curveangle(cy#,ncy#,2)
move camera ncf#
rotate camera 0,wrapvalue(ncy#-90),0
move camera ncr#
rotate camera 0,wrapvalue(ncy#+90),0
rotate camera ncx#,ncy#,0
`Position sky box to camera
position object 2,camera position x(),camera position y()+100,camera position z()
`Show Textures
if shiftkey()=1 then paste image ImgNum,0,0
if controlkey()=1 then paste image ImgNum+1,0,0
`Text
center text 400,15,"W/A/S/D - Movement Ctrl/shf - Show Textures"
center text 400,40,"FPS "+str$(screen fps())
`Update Water
UpDateWater()
`Sync/loop
sync
loop
`------------------
` Create World
`------------------
function MakeWorld()
`Make terrain
load image "data/texture.bmp", 1
load image "data/detail.tga", 2
make object terrain 1
set terrain heightmap 1, "data/map.bmp"
set terrain scale 1,19.535, 3.5,19.535
set terrain split 1, 16
set terrain tiling 1, 4
set terrain light 1, 1, -0.25, 0, 1, 1, 0.78, 0.5
set terrain texture 1, 1, 2
build terrain 1
position object 1,-2500,0,-2500
`Make Skybox
load object "data/skybox.x",2
set object light 2,0
scale object 2,20000,15000,20000
set object texture 2,2,1
set object cull 2,0
endfunction
`------------------
`------------------
` Create Water
`------------------
function MakeWater()
`Globals
global ObjNum=500
global ImgNum=500
global FXNum=500
global WaterHeight#=90.0
global WaterCamY#
`Setup Refraction Camera
make camera 30
set camera range 30,1,15000
set camera aspect 30,1.325
backdrop off 30
set camera to image 30,ImgNum+1,512,512 ` set to 256 to speed things up <<<<<THIS IS MY EDIT
set camera fov 30,65
`Setup Reflection Camera
make camera 31
set camera range 31,1,15000
set camera aspect 31,1.325
backdrop off 31
set camera to image 31,ImgNum+1,512,512
set camera fov 31,65
`Make Water plain
load image "Data/Waves2.dds",ImgNum+2
load image "data/WaterMask.bmp",ImgNum+3
make object plain ObjNum,5000,5000
texture object ObjNum,0,ImgNum+2
texture object ObjNum,1,ImgNum
texture object ObjNum,2,ImgNum+1
texture object ObjNum,3,ImgNum+3
load effect "FX/Water.fx",FXNum,0
set object effect ObjNum,FXNum
xrotate object ObjNum,270
set object transparency ObjNum,1
endfunction
`------------------
`------------------
` UpDate Water
`------------------
function UpDateWater()
`UpDate Water plain
position object ObjNum,object position x(ObjNum),WaterHeight#,object position z(ObjNum)
WaterCamY#=camera position y()-WaterHeight#
Hide object ObjNum
`Upade Refract/Reflect cameras
UpDateRefraction()
UpDateReflection()
`Show Water
show object ObjNum
`Mask
sync mask 0x3fffffff
endfunction
`------------------
`------------------
` Refraction Update
`------------------
function UpDateRefraction()
`UpDate Refraction camera
position camera 30,camera position x(),camera position y(),camera position z()
rotate camera 30,camera angle x(),camera angle y(),camera angle z()
`Clip Camera
set camera clip 30,1,0,WaterHeight#+(5+WaterCamY#/25),0,0,-1,0
set camera clip 31,0,0,0,0,0,0,0
`Only sync Camera 30
sync mask 0x40000000
fastsync
endfunction
`------------------
`------------------
` Reflection Update
`------------------
function UpDateReflection()
`UpDate Reflection camera
position camera 31,camera position x(),WaterHeight#-WaterCamY#,camera position z()
rotate camera 31,-camera angle x(),camera angle y(),camera angle z()
`Clip Camera
ClipY#=WaterCamY#
if ClipY#>100 then ClipY#=100
set camera clip 31,1,0,WaterHeight#-(1+(ClipY#/25)),0,0,1,0
set camera clip 30,0,0,0,0,0,0,0
`Only sync Camera 31
sync mask 0x80000000
fastsync
endfunction
`------------------
I check the other water shader in the package but it`s not that easy to make it work like this one.It have the same problem, some graphics in the water...
Look at this tread also it`s the same example but this dude make it even better looking.
http://forum.thegamecreators.com/?m=forum_view&t=166708&b=1
P.S. Your signature is very provocative.Can i see some work of yours?I`m not that good with photoshop.
Where there is a will, there is a way.