Hi Roy, I have thought about a similiar problem and I'm wondering if one solution is to move the earth surface a short distance away from the water sphere.
I know this means you have to traverse and modify all your coordinates for the earth surface, but this will not take that much time even with large datasets (500 000+ coordinates). If you do not think that this is a solution could you please explain why. Roy Duffy wrote: >We have been running into a problem in Java3D for over a year now, and >we are looking for a better solution to the problem than we are >currently using. The >problem is this: we have a database of polygons that make up the >earth's surface, but just for land, not for the oceans. There is no >easy way using the data to >separate out the coastline, so we can't really generate the water >ourselves. > >So, what we want to do is render a high-resolution blue sphere, and then >render the land on top of the sphere. The two parts are coplanar (there >is no >elevation data in our dataset), so we clearly need to do something to >get around the Z-fighting problem. We have tried a variety of things, >but none of them >seem to work: > > 1.The correct solution would be to use a DecalGroup (since that is >what it was created for in the first place!!!) Unfortunately, there is >a known bug in > Java3D (BugId 4476109) that messes up the depth buffer when using a >DecalGroup on Nvidia cards. We > submitted this bug report a year ago, and it has not yet been >resolved. > 2.Our second attempt was to use an OrderedGroup instead of a >DecalGroup, setting setDepthBufferEnable(false) and > setDepthBufferWriteEnable(false). This had the exact same problem >as the DecalGroup attempt. > 3.The third attempt was to use the polygonOffset to try to bump the >Z-buffer value of the land to prevent Z-fighting. This was CLOSE to >working, but > there was still Z-fighting in certain spots. And besides, the >Java3D archives are full of messages saying "be careful with >polygonOffset. It works > differently on different graphics cards" > 4.The only way we were able to get it working (and I use that term >loosely) is to set a transparency attribute on EVERY object in the >scene. So, we are > effectively disabling the depth buffer and rendering every object >using alpha blending. Which means that you have some objects rendered >in front of > other objects even though they should be behind them, and even the >objects themselves are sometimes drawn backwards, with parts of the >object > incorrectly in front of other parts. > >So, what I'm looking for is (a) a brilliant solution to the problem, (b) >a kludgy solution that works better than what we have, or at least (c) a >better feel for >when (and more importantly, IF) the bug mentioned above will ever be >fixed. > >Thanks, > -Roy Duffy >[EMAIL PROTECTED] > >=========================================================================== >To unsubscribe, send email to [EMAIL PROTECTED] and include in the body >of the message "signoff JAVA3D-INTEREST". For general help, send email to >[EMAIL PROTECTED] and include in the body of the message "help". > > > =========================================================================== To unsubscribe, send email to [EMAIL PROTECTED] and include in the body of the message "signoff JAVA3D-INTEREST". For general help, send email to [EMAIL PROTECTED] and include in the body of the message "help".