Have you tried with water.c example from sample folder?

Code:
////////////////////////////////////////////////////////
// Water shader demo.
// Copyright 2010	by oP group Germany.							
// Commercial Edition or above required for shaders
////////////////////////////////////////////////////////
#include <acknex.h>
#include <default.c>
#include <keys.c>
#include <level.c>
#include <entmove.c>
#include <mtlFx.c>
#include <mtlView.c>

#define PRAGMA_PATH "%EXE_DIR%\\templates\\levels";

////////////////////////////////////////////////////////
var water_height,water_ripple,water_scale,hdr_threshold;

FONT* fHelp = "Arial#16bi";

PANEL* pHelp = 
{
	digits(5,5,"[1]/[2] -> water level: %4.1f",fHelp,1,water_height);
	digits(5,20,"[3]/[4] -> wave height: %3.0f",fHelp,1,water_ripple);
	digits(5,35,"[5]/[6] -> wave scale: %3.0f",fHelp,1,water_scale);
	digits(5,50,"[7]/[8] -> HDR threshold: %3.0f",fHelp,1,hdr_threshold);
	digits(5,65,"Cursor,PgUp/Dn -> move camera",fHelp,0,0);
	flags = SHOW;
}

action on_f1_event() { toggle(pHelp,SHOW); }

action water()
{
	fx_mirrorWater();
	while(1) {
		if(key_hit("1")) terrain_raise(me,-0.5);
		if(key_hit("2")) terrain_raise(me,0.5);
// skills are defined as var, but shaders use float values 
// conversion is not automatic here, thus we need floatv/fixv
		if(key_hit("3")) my.skill43 = floatv(fixv(my.skill43)-5);
		if(key_hit("4")) my.skill43 = floatv(fixv(my.skill43)+5);
		if(key_hit("5")) my.skill44 = floatv(fixv(my.skill44)-5);
		if(key_hit("6")) my.skill44 = floatv(fixv(my.skill44)+5);
		if(key_hit("7")) mtl_hdr.skill2 = floatv(fixv(mtl_hdr.skill2)+1);
		if(key_hit("8")) mtl_hdr.skill2 = floatv(fixv(mtl_hdr.skill2)-1);
		water_height = terrain_get_z(my,1);
		water_ripple = fixv(my.skill43);
		water_scale = fixv(my.skill44);
		hdr_threshold = fixv(mtl_hdr.skill2);
		wait(1);
	}
}

action blob()
{
	my.skill42 = floatv(30); // texture influence
	fx_envBump();
	ent_rotate(me,2,1.5,0.5);
}

function main()
{
	if (d3d_shaderversion<2020)
		error("Shaders require Commercial Edition!");
	d3d_antialias = 4;
	video_mode = 8;
	fps_max = 60;
// load a level, and create sky, water, and a model :
	level_load("small.hmp");
	ent_createlayer("skycube+6.dds",SKY | CUBE | SHOW,1);
	ent_create("water.hmp",vector(0,0,-5),water);
	ent_create("blob.mdl",vector(0,0,30),blob);
	vec_set(sun_color,vector(200,240,240));	
	
// set up some parameters and a HDR effect for the camera	
	vec_set(camera.x,vector(-130,0,80));
	camera.tilt = -20;
	def_move(); // activate flythrough

	mtl_hdr.skill3 = floatv(50); // exposure compensation factor
	pp_set(camera,mtl_hdr);
}




Regards, Robert

Quote
Everything should be made as simple as possible, but not one bit simpler.
by Albert Einstein

PhysX Preview of Cloth, Fluid and Soft Body

A8.47.1P