Game Development Community

Large Block size Water Texture issues!

by Tyler Walton · in Torque Game Engine · 02/21/2003 (8:54 am) · 8 replies

Ok, here's a good topic for the community to ponder:

When I use large terrain block sizes (above 8) the surface texture for the water does not exisit! There are areas where the texture shows but there are large "holes" in the water texture that make the water look incomplete.

From the research I have done this is based on the engine attempting to cut holes out for the terrain peaks. When I put the water above the highest peak the surface texture is completely rendered. When it's lower than the hills I find large holes if any surface texture at all. The lower the water level the more holes I find. What I want to do is remove the check from the engine where it looks for the peaks and cuts the holes into the water texture so that it renders the surface texture completely. Does anyone know where this is or how to do it?!

About the author

Originally from Beaverton, OR I'm hoping to leave this online so my old friends from there can find me. Real name is Tyler Walton Find me on facebook: www.facebook.com/gokouzwar


#1
02/21/2003 (9:49 am)
On the water: Just some quick questions. How big is the water block? If it's less than 2048x2048 then you need to have the edges buried in the terrain. Have you relit the scene? There was a bug with the 'patchy' rendering of the water in T2 long ago, don't remember what the problem was. Zear would more than likely remember/know. Might want to look into the water rendering code, you may have to resize the water to match the terrain(?). Just a shot in the dark.

On your heightfield question in the other post: You need to create a heightscripts directory. The directory should be /common/editor/heightscripts.
#2
02/22/2003 (1:13 pm)
I have the exact same problem, I'm using terrain size 32. If I move the waterblock around different parts of it appear and vanish.

-brad
#3
02/24/2003 (7:35 am)
Here's the info directly from my MIS file:

new TerrainBlock(Terrain) {
rotation = "1 0 0 0";
scale = "1 1 1";
detailTexture = "~/data/terrains/details/detail1";
terrainFile = "./waterWorld.ter";
squareSize = "32";
emptySquares = "99703 99744 443522 443778 444034";
position = "-1024 -1024 0";
locked = "true";
};
new WaterBlock(Water) {
position = "-1024 -1024 0";
rotation = "1 0 0 0";
scale = "2048 2048 200";
liquidType = "RiverWater";
density = "1";
viscosity = "5";
waveMagnitude = "3";
surfaceTexture = "~/data/water/water";
surfaceOpacity = "0.8";
envMapTexture = "~/data/skies/day_0007";
envMapIntensity = "0.2";
removeWetEdges = "0";
};

Scale is set at 2048 x 2048, so I dunno exactly what to do. Can it go larger? I was thinking that the relative size is 4 times larger, so shouldn't it be 8192 x 8192? After Testing that it didn't change anything.

GokouZWAR
#4
02/27/2003 (1:01 am)
bump, this is discussed on about 20 threads with no solution (Desmond, your changes do not work for me).

-brad
#5
02/27/2003 (7:08 am)
Are you also changing the terrain position when you change the squaresize? That was my problem, when using sizes < 8. I'd guess you'd want to have it as -4096 -4096 0 if you have a squaresize of 32.
#6
02/28/2003 (7:00 am)
No I wasn't changing the position, I'll give that a shot and let you guys know. Any other ideas in case that doesn't work?
#7
03/02/2003 (5:49 pm)
Well I tried that one with no luck. Someone from one of the other posts suggested I change the block size in the terrdata.h files. Anyone know how to go about changing that?

GokouZWAR
#8
09/28/2005 (10:56 am)
There is a solution to this problem in this thread. Good luck!