Beautiful Dave! Excellent work! I wish I had the time to make Pernica's landscape as beautiful as Magicosm's landscape! (you have me regretting my approach of having our 3D modeler hand craft the entire terrain)
- John Wright Starfire Research David Yazel wrote: > > I have solved most of the performance issues I was encountering with terrain > splatting. I pushed all the level 0 patches up to level 1 and made 64x64 > meters the size of level 0 patches in the quadtree. Level 1+ textures are > pre-calculated for all patches and level 0 is a combination of dynamic > splatting and level 1 textures. I need to do some more work on smoothly > transitioning level 0 -> level 1. I think I will try Chris Thorne's > suggestion and place alphas into the mipmap at level 0 to force a smooth > fade out at the edges. What is nice about this whole thing is that it is an > enhancement to the terrain system which can be optimized by the user. In > other words the amount of "detail" can be set by the user or turned off > completely. I have not yet tested this with GeforceII, but I tend tho think > this will work well on that card also. Here are some preliminary "unpretty" > screenshots. Prob by the end of the weekend I will have screenshots which > better show how nice this effect can be. > > http://www.magicosm.net/screenshots/cosm829.jpg > http://www.magicosm.net/screenshots/cosm826.jpg > http://www.magicosm.net/screenshots/cosm825.jpg > > The real trick to terrain looking nice is to have organic flow (rock, > grass,etc) and natural organization of the terrain elements (cracked mud by > river, moss on rocks, etc). Add to this proper use of vegetation where > needed (weeds on grass, flowers in rock cracks) and it comes together. We > should have all those elements working within a few days. > > Dave Yazel > > ----- Original Message ----- > From: "Yazel, David J." <[EMAIL PROTECTED]> > To: <[EMAIL PROTECTED]> > Sent: Thursday, August 15, 2002 11:39 AM > Subject: [JAVA3D] Advanced terrain texturing - continued > > We implemented the technique described in this document: > > http://www.cbloom.com/3d/techdocs/splatting.txt > > I re-wrote our level 0 patch renderer to use layered alpha blended textures. > Each of these patches is 128 meters x 128 meters. All of the level 1+ > textures continued to use the pre-rendered textures, but for the level 0 we > layers splats onto the terrain with blending. > > Each level 0 patch is rendered with a series of "splats" in a decal group. > 1 to N splats are layers and rendered with repeated passes. Each splat has > a high density tiled seamless texture in texture unit 1 and a greyscale > alpha map in unit 2. Tye alpha mask is unique per patch and per splat. We > combine using the alpha from unit 2 and the rgb from unit 1. After fooling > around with various options we found that using an alpha map of 64x64 texels > was sufficient for nice blending between between splats. This allows for > moss to be blended into rock and so forth. You can use a perlin noise > filter to set the alpha so that the alpha for each splat is contiguous, > seamless and organic in nature. The advantage is that the density of the > terrain texturing is exceedingly high, but you are really only re-using the > same 10,20 or 30 textures across your terrain, just blending them together > differently. > > The tests from last night was on a Geforce 4 with 128 MB and a 2 GH Athelon. > With level 0 patches visible to 500 meters the frame rate with 4 blended > splats ( which is 4 multitextured passes per patch ) we had frame rates drop > from 90 to 70, and sometimes as low as 60. I do not yet know about the > Geforce II, but can test that tonight. But losing that much frame rate is > probably going to be unacceptable. However I have not given up hope yet. I > think I will add one more level of patches (down) to a 64 meter x 64 meter > range and see how splatting works with a reduced number. Perhaps the trick > is to render the area immediatly around the user with a moving mesh and > merge it with the less dense textures at level 1+. > > One thing which troubled me. (And a question for the Sun engineers) In a > few cases I could see a blended splat *through* a hill. So the texture was > for an occluded patch, yet the alpha splat was visible through the hill. > This suprises me since I am using decal groups for the shapes. Since the > bottom texture is *not* transparent and only the coplanar ones are, then I > would assume this would not be rendered in a seperate alpha pass. For me to > see a layer through an opaque hill it would require that Java3d was > rendering all the layers as transparent objects *and* disabling zbuffer > writing for all layers. This could also contribute to a performance > degradation since that means even more overdraw than is necessary. > > Dave Yazel > > =========================================================================== > 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". =========================================================================== 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".
