PDA

View Full Version : Water refraction


Metakill
31st Mar 2001, 03:40 AM
Will Unreal II properly handle water refraction, the distortion of depth as seen by viewers looking down at it? Well, this may seem like a trivial thing, but it is really the only thing left in these 3-d games which is not true to life. And I'm sure todays gfx cards could handle it if someone was clever enough to invent an efficient algorithm. If you don't know what I'm talking about, look into the deep end of a pool (in real life) and observe that it looks shallower than when you are actually in it.

cairey
31st Mar 2001, 01:49 PM
Ah, I don't think will see this for a while. You would need some serious hardware to pull this off. Think of all the different angles. Where the light source is brightness, colour

Metakill
31st Mar 2001, 06:48 PM
Yes, to be sure, it would be very difficult to actually model it after real light refraction, but it wouldn't be so hard to, say, make a quick and dirty algorithm that treated the surface of the water as a viewport with different depth properties than air. After all, considering the rumored polygon-density of Unreal II, it's going to be making multi-million 3d calculations per second; I bet somebody who was really clever could pull it off.

StormHammer
8th Apr 2001, 04:22 PM
I think Metakill is right. It should be possible with all the recent technological advancements that have been made in game engines.

Red Faction has its GeoMod tech, Severance has it's great shadows and rippling reflections, and there are other games out there implementing realistic ballistics tech so you have to start thinking about wind velocity when targeting at range.

Why not use a simple portal to emulate the effect of water refraction?

Water (or any transparent/translucent liquid) has always been tricky to show in games. Noone has yet developed an engine that shows water realistically. Some have proper rippling reflections (like Severance), some have translucency (like Unreal), but few have both, and none to my knowledge currently have water refraction.

If any engine should be able to pull this off, it should be the Unreal 2 engine.

However, it depends how hard it is to do, and whether or not the time spent putting such a feature in is considered worthwhile enough. If it has no real effect on gameplay, then they should leave it out, and concentrate on making the game longer and more complex, IMHO.

Deathwing
8th Apr 2001, 06:12 PM
The technology may be there, but not the hardware to run it. That'll come eventually, but not as soon as Unreal 2.

Metakill
9th Apr 2001, 05:31 AM
I think all this newer technology has made programmers lazier. No computer ever reaches its full potential before its replaced by something more "convenient" to work with. All it takes is one clever wise-ass to find an easy way to do this. I think I'll get started...

P.S. I think something like this definitely affects gameplay because it creates much more suspensioin of disbelief.

Metakill
14th Apr 2001, 04:30 AM
The FOV # command lets you change your field of view, distorting your perspective (the wider your view, the more fish-eyed it becomes). It should be easy to use the surface of the water as a viewport that simply had a different FOV than the air.

I think increasing the FOV and forshortening the depth in relation to the actual water depth would create a very realistic effect.

Requiem
14th Apr 2001, 06:41 PM
I don't see any technological problem in this subject.
The depth/size of an object in a liquid is calculated by a simple optics formula. (the ones who studied optics will know what I'm talking about). It does NOT depend on light sources of any kind. It only depends on your angle of view, along with the liquid's light transparency.

Slick_Willy
16th Apr 2001, 11:14 AM
The GeForce3 has hardware Refraction and Reflection:

http://www4.tomshardware.com/graphic/01q1/010227/geforce3-12.html

http://www4.tomshardware.com/graphic/01q1/010227/images/reflectandrefract.jpg

Whether it will be used or not remains to be seen

Lodev
16th Apr 2001, 03:00 PM
Hehe :)

I'm just for fun making, from scratch, a 3D engine with powerbasic. This is the ugliest and slowest 3D engine that ever existed, BUT, it has refraction :D It traces every ray from your eye to the level, for every pixel seperately, and the refraction is simple to make by just bending the rays.

But now I have to solve some trigonometric problems first otherwise I'll never be able to rotate the camera around...

Metakill
17th Apr 2001, 12:43 AM
Bet it wasn't as ugly as the one i made on my old Amiga 1000. It had light sourcing, but no ray tracing or transparacy. However, for a 12 Mhz machine, it ran like lightning. It could handle about 30 polygons before the frame rate became intolerable. I used fixed point math to speed everything up.

Lodev
17th Apr 2001, 12:27 PM
Mine doens't even have polygons! Space is described in the form of small dots, like molecules but of course not that small :) I think it's called voxels

if powerbasic would have supported more than 16 colors, I'd be able to make the whole thing a little nicer already