Ahh, sounds close to what I was wanting to do... geesh, ya didn't have to include the source but it's *highly* appreciated!
Scott ----- Original Message ----- From: "David Yazel" <[EMAIL PROTECTED]> To: <[EMAIL PROTECTED]> Sent: Thursday, April 25, 2002 6:31 AM Subject: Re: [JAVA3D] Need a solution for road/path "decals" on terrain. > We are doing roads and paths by baking them into the ground textures. It > sounds like this won't be possible for you if you want it all downloadable > on the fly. We do have another version for places where we want super high > density roads / paths over terrain. I am attaching the relevent code. You > won't be able to compile it since it references a lot of code I am not > including. Check out getGeometry(). and work backwards from there. The > trick is to build the path to a sufficient density that it can mold itself > to work over the terrain, and then use the z polygon offset to deal with any > tiny mistakes. This algorithm takes a series of path points, builds a > spline, then builds geometry to flow along the path according to a density > you define. > > David Yazel > http://www.magicosm.net > > ----- Original Message ----- > From: "Scott" <[EMAIL PROTECTED]> > To: <[EMAIL PROTECTED]> > Sent: Thursday, April 25, 2002 1:02 AM > Subject: [JAVA3D] Need a solution for road/path "decals" on terrain. > > > I've been scratching my head over this one for weeks now. > > I want to be able to specify "roads" or "paths" in my 3D engine with a > series of 2D lines. That would give me the flexibility to have roads any > any angle, any direction, and any number/combination of intersections. > > There's two ways I see of doing it. > > First, I would start with a quad that would represent the section of road, > and it would be "dropped" down onto the terrain. Of course, the quad would > need to be broken up into as many polys neccessary to follow the shape of > the terrain, and then these polys would be rendered as part of an ordered > group on top of the terrain, and/or as a decal texture. > > Second method that I'm sure would be the obvious response, would be to > rotate the U/V for the road texture to whatever angle is needed, and do > another texture pass on my polys. The problem I see with this is I don't > want an entire terrain "block" (a simple 4x4 mesh) handled with two texture > stages for performance reasons, and second, roads/paths would be created > separately from the terrain heightmap, and I won't know when I'm creating > the terrain mesh if there's a road there or not. Also, if there's an > intersection of 2 or more roads, each would require an additional texture > stage. > > Seems to me that an extra 30-40 polygons in a "modelled" road would be > insignificant, performance-wise, compared to getting into multiple texture > passes (and I do want to add a detail texture pass later, so we'd be up to 3 > passes). Early tests I've done with multitexturing hasn't resulted in very > good performance on decent 3D hardware (1.8GHz CPU, GeForce2 and better). > > FYI, the terrain is created completely on-the-fly as height data is > delivered from the server. No pre-created geometry, or this would be a > little easier. > > Seems like there has to be a simpler solution for this sort of thing, not > much different than applying pre-calc'd lightmaps or shadowmaps or decals > like bullet holes in walls (ala Q3, Half-Life, etc). The obvious low-end > solution is a series of say 16 (or more) textures representing various > combinations of the road textures AND the terrain textures, and using those > instead of the normal terrain texture. But that limits how freely the roads > can be designed, and would duplicate the number of terrain textures I'm > loading already (which is more than I should be as it is). > > The first method makes the most sense to me, but breaking an initial quad up > into all the needed polygons is a bit beyond me, at least without spending > months developing spme really ugly code for it. > > If anyone has even the slightest suggestion I'm all ears. > > Scott > Virtopia 2 3D Project > http://vp2.onebigvillage.com > > > > =========================================================================== 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".