Sorry your browser is not supported!

You are using an outdated browser that does not support modern web technologies, in order to use this site please update to a new browser.

Browsers supported include Chrome, FireFox, Safari, Opera, Internet Explorer 10+ or Microsoft Edge.

Work in Progress / A terrain system I've been working

Author
Message
Aslyum
20
Years of Service
User Offline
Joined: 21st Jan 2004
Location:
Posted: 11th Feb 2004 15:50
You can check out the screenies on my site:
http://www.leadartist.com/Rants.htm

Uses memblocks and optimized .x files (fvf 338).

- Asylum Hunter
walaber
20
Years of Service
User Offline
Joined: 22nd Oct 2003
Location: Los Angeles, CA
Posted: 11th Feb 2004 16:22
that looks really, really, really nice!!! fantastic textures!!!

Go Go Gadget DBPRO!

Athlon XP 2400+ || DDR-SDRAM 1GB || Nvidia Ti4200 AGP 8x 128MB
Van B
Moderator
21
Years of Service
User Offline
Joined: 8th Oct 2002
Location: Sunnyvale
Posted: 11th Feb 2004 16:39
Awesome work, there's never a demo though.

Me Want Demo!

What kinda frame rates are you getting?


Van-B


The nature of Monkey was irrepressible!.
kevil
21
Years of Service
User Offline
Joined: 24th Nov 2002
Location: Netherlands
Posted: 11th Feb 2004 17:31
Looks very nice!

How do you do the texturing?????

Kevil
arras
21
Years of Service
User Offline
Joined: 3rd Feb 2003
Location: Slovakia
Posted: 11th Feb 2004 18:02
Do you use tilled textures or one texture applied on whole mesh?

Nice work, looks wery good
Van B
Moderator
21
Years of Service
User Offline
Joined: 8th Oct 2002
Location: Sunnyvale
Posted: 11th Feb 2004 18:22
I'm guessing 1 high res texture (like 1024x1024!) that covers a good 10x10 tiles, and a huge texture over a ghosted copy of the terrain.

WHERE IS PATCH 6 WITH ME MULTITEXTURING! - Save us all a lot of hassle!.


Van-B


The nature of Monkey was irrepressible!.
David T
Retired Moderator
21
Years of Service
User Offline
Joined: 27th Aug 2002
Location: England
Posted: 11th Feb 2004 18:56
W o w.

that landscape is breathtaking

"They misunderestimated us" - George Bush
"The box said 'Requires Windows 95 or better'. So I installed LINUX. "

Formerly David89.
kevil
21
Years of Service
User Offline
Joined: 24th Nov 2002
Location: Netherlands
Posted: 11th Feb 2004 20:35
Van-B: I was actually hoping he didn't use that, I hope he has a better way . And I somehow get the impression the detail map (or ghosted copy) is not the same everywhere, but I might be wrong. But if I'm right, he must use diferent texture tiles on his ghosted copy or use a different method.

Kevil
AluminumPork
20
Years of Service
User Offline
Joined: 28th Oct 2003
Location: Duluth, MN, USA
Posted: 11th Feb 2004 20:43
Uhh... THAT IS THE ABSOLUTE MOST AMAZING TERRAIN that I've ever seen. Especially for DB. You should release for money, would be very useful to many many people.

Excellent work!

P4 2.4Ghz HT, 512MB RAM, ATI Radeon 9600 128MB, 19" Viewsonic, 80GB HD

David T
Retired Moderator
21
Years of Service
User Offline
Joined: 27th Aug 2002
Location: England
Posted: 11th Feb 2004 20:45
Quote: "should release for money"


Shhhhhhh!

"They misunderestimated us" - George Bush
"The box said 'Requires Windows 95 or better'. So I installed LINUX. "

Formerly David89.
ReD_eYe
21
Years of Service
User Offline
Joined: 9th Mar 2003
Location: United Kingdom
Posted: 11th Feb 2004 21:31
damn nice, DEMO! DEMO! DEMO!


GO TO THE ETERNAL DESTINY FORUMS!!! http://forums.eternaldestinyonline.com
Do it now!!!
Leroy Frederick
21
Years of Service
User Offline
Joined: 26th Sep 2002
Location: London, England
Posted: 11th Feb 2004 23:03
WOW , nice work Aslyum, have to agree with every1 else, looks great, the textures r sexy, landscapes look tight. As like Van B, I'm intrigued to know whats the frame rate @?

Other then that, look forward to trying it out! Well done!

Defanual
Aslyum
20
Years of Service
User Offline
Joined: 21st Jan 2004
Location:
Posted: 12th Feb 2004 01:55
Hey Thanks,

I have a demo I'll be releasing very soon, once I have the rest of the art complete(trees, buildings, rivers, sky system etc.).

The frame rates are not an issue. This is a very fast method for creating and rendering high res terrains with blended layers (not multi-texture) with vertex colors. The screenies were captured from a 1200x1024x32 and runs at full screen refresh (much better in full screen mode) on a p4 2ghz Ti 4600 . The process of creating the layers is less intuitive but the freedom is rewarding.

Some key factors I wanted to maintain:

1.Vertex Colors
2.Blended textures anywhere (no limit to the layers)
3.Full Collision
4.Free Form Non-uniform layered mesh for optimization and culling(not Matrix)
5. Animated texture layers
6. Self illumination control over dynamic lit layers
7. Vertex Deformation (interactive)
8. High res texture blending with only a few textures


The terrain sytem works like this:

Primary Layer:
- 3DS Max landscape (whatever size you want) single texture 512x512 tiled to whatever suits (I use 16x16).

- Blended Layers: (this is where it gets a little funky to explain).

In max (on the the primary layer) I paint grey scale vertex colors to represent where I want the next layer to blend through (e.g. Rock on Grass). I then extract this layer to a new file with only those verts that have VC above 0. This is imported into the engine where it is conveted to 32 bit vertex color (alpha verts) through a process of scanning the primary layer and combining the grey verts of the additive layer (this conversion is then saved so I don't have to preprocess again).

I do this 4 or 5 times (or for as many layers as I want).

Using this method you can have as many blended textures as you need and exact control of the blend levels with unlimited texture placement on a fully optimized mesh. The terrain currently has about 24k tris and is also subdivided within each layer for fast culling. It's pretty sweet, and it has a lot of potential. I'll be continuing to work on it over the next few weeks so stay tuned (check my website for updates) http://www.leadartist.com

BTW. The textures where all captured from the same region in Scotland.

Cheers

- Asylum Hunter
Van B
Moderator
21
Years of Service
User Offline
Joined: 8th Oct 2002
Location: Sunnyvale
Posted: 12th Feb 2004 10:30
Cool! - very clever method you got there.

You can set the alpha on verts in memblocks (did you know that Kevil?) using alpha in the vertice colour value, so you should be able to use a heightmap and generate everything with a single memblock mesh!. Make a little terrain editor for it and you'd have a terrain system you could easily sell.

Good to know the terrain has a Scottish flavour .


Van-B


The nature of Monkey was irrepressible!.
arras
21
Years of Service
User Offline
Joined: 3rd Feb 2003
Location: Slovakia
Posted: 12th Feb 2004 11:08
what is the size of your world (maximum vissible diameter in real measurement units and hove big is it in DB units)
...and to hove many squares is it split in x/z axis in your terrain engine?
Zeal
21
Years of Service
User Offline
Joined: 10th Oct 2002
Location: Colorado Springs, CO
Posted: 12th Feb 2004 12:14
Whoa now! Back up a second... PLEASE explain one more time how you do those different blended layers. You say you control the alpha for the vertices? How? Are you using multiple objects stacked on top of each other for each different texture/layer?

Man id love to know how you did that, would really REALLY appreciate a better (perhaps more newb friendly) description.

Thanks!

All you need is zeal
Van B
Moderator
21
Years of Service
User Offline
Joined: 8th Oct 2002
Location: Sunnyvale
Posted: 12th Feb 2004 12:32
I think he's using alphad polygons on top of a base terrain, so he's starting with a sorta matrix, then adding polygons with different textures. The alpha setting is done through the vertice colours, it's the alpha that allows the texture to fade out into the base texture - damn clever.


Van-B


The nature of Monkey was irrepressible!.
kevil
21
Years of Service
User Offline
Joined: 24th Nov 2002
Location: Netherlands
Posted: 12th Feb 2004 13:52 Edited at: 12th Feb 2004 13:56
Very cool method indeed.
I knew about the alpha in memblocks (played around with it myself), but I never though about doing this. So if I followed correctly, it has the same polycount except for on the blended tiles which require an extra tile. This surely is the most efficient way to fake multitexturing. I might try something similar myself, maybe combine it with my memblock matrix code. (but I won't release anything without your permission, after all it's your idea)

I think it would be a good way to make it so that you can just set vertex texture IDs and based on that it will create the landscape you want. Have you done this yet?

Kevil
Van B
Moderator
21
Years of Service
User Offline
Joined: 8th Oct 2002
Location: Sunnyvale
Posted: 12th Feb 2004 14:27
That's along the lines of what I was thinking. If you had a big 1024x1024 image with 4 512x512 seamless textures, then just had flags on each vertice saying what textures were applicable. Add in a vertice colour lightmap and some nice smooth normals and the result should be pretty good.


Van-B


The nature of Monkey was irrepressible!.
Aslyum
20
Years of Service
User Offline
Joined: 21st Jan 2004
Location:
Posted: 12th Feb 2004 15:22
I've been using this method for a few years now, It just took a lot longer to figure out how to get DBP to work with it. I actually used something very similar when I designed the terrain technology for Wrath-Unleashed, which has just been released by Lucasarts on Xbox and PS2(plug), take a look you'll notice the similarity (and the same for my art style), but I do think this method is quite different and has far better possibilites and wider optimizations so Lucas can't sue me

****************************************
So here is perhaps a better description to how it works and how to build it:

Plase Note: Some of my methods listed below are workarounds (until I can get a .x exporter that exports RGBA verts without corruption), however doing it this way also helps to expose other creation methods.


1. I created a regular mesh in Max with premapped UV's (no texture) and shaped it into a terrain. The cool thing about doing this in Max is that I could also include overhangs, a proper edge to the world and even caves and retain the contiguous mapping. So forget the matrix method, that is too restrictive.

2.Once shaped, I optimized the mesh (retaining UV's) so I could keep all the details where I needed them and not waste any poly's where it was flatter. Bringing the overall mesh down from around 64k tris to 16k tris or there abouts

3. Then I painted vertex color striations and baked(blended)the lights and shadows on top.

4. Exported this as a .X

5. Loaded this into DBP as a mesh (this is important to retain the vert colors)

6. Created a memblock from the mesh

7. Converted this to an object and textured it with my base grass (Scottish of course)

8. Went back to max and reset ALL of the vert colors on my original mesh to white (very important)

9. Painted vert colors (this time just greyscale) which would be used to show where the next texture layer would blend and by how much. In this case I wanted to use rock - which is actually part of an ancient gravestone from my home town of Dundee - and basically airbrush where I wanted it to appear.

11. I then isolated all the verts that had remained untouched (the pure white ones).

12. Inverted the selection and grew it by 2 steps to make sure that the blend had a clean edge all around

13. Inverted the selection again and deleted the verts so I now had an exact copy of the original mesh but just the alpha parts for this layer. (This normally appears as a cluster of fragmanted parts) It came out at around 4k in tris (Do not move or optimize any of these verts - it has to hug the original landscape perfectly for the vertex color compare process AND the to blend)

14. Exported this layer as .X

*** This is where it gets a little funky

Now that I had a layer (without alpha, just vert colot) I needed to bring this into the scene and do 3 things to it (a)Convert the grey colored verts to alpha and (b) ADD the original vert colors from the primary mesh (the main grassy land mass) and append this mesh with RGBA values that would match the primary layers vert colors exactly -(if you leave this part out the alpha layer will look very odd sitting on a landscape that has vert colors, especially in shadow). (c) Export the layer so it can be reloaded later without the processing stage.

The tricky thing now was that the alpha mesh had far fewer verts and faces than the original mesh so all the vert indices would be in a different order so a compare was needed.

15. So I then loaded the alpha layer into a memblock

16. Compared EVERY vert in the primary mesh against each vert index in the alpha layer and when I got an exact xyz match I grabbed the primary vert color, inverted the grey scale vert value of the alpha vert and combined this with the vert color to create a 32bit color value that I then used to replace the original grey scale value of the vert

17. Saved out this new mesh layer from the memblock to a .x file

18. Loaded it back in, offset it on the y axis by 0.1 units and hey presto! I now had my very first alpha layer working in DBP and it blended perfectly and has the added advantage of also reacting to dynamic lights - you would never know it was there.

19. repeated this several times for the other layers (rough grass, dirt etc.)

20. chopped up the layers a little for better culling

22. Added collision detection on just the primary land mass

21. ran around and took some screenshots.

Oh BTW I've started a forum section on my website http://www.leadartist.com/forum/ so if you want to chat about any of this over there or anything else for that matter then please feel free. I'll be checking my own pages more regularly than trawling through here (this place is getting so busy nowadays - its cool but I ususally only have the time to drop in at the weekends)

I've also spoken to Andy over at Panda soft and he has sent me a few beta's of his .x max exporter that supports alpha verts, but it's not working that well yet for Max 5, all the vert alphas come out in the wrong order (the Max 6 version is a different build so that may work, I'm not sure), but when it does work perfectly then this process will be a lot easier (although isolating alpha verts in max for a selection is still not possible so I would still paint the vert colors WITH alpha and use the vert colors for seperating the terrain parts).

But in our world, we all know there are is more than one way to skin a cat, boil a fish, kick a goat.

Well I hope this helped. I'll have a demo for you all soon enough, but in the meantime, give this a shot and if you need a hand then let me know.

Asylum Hunter.
Van B
Moderator
21
Years of Service
User Offline
Joined: 8th Oct 2002
Location: Sunnyvale
Posted: 12th Feb 2004 15:47
Thanks for all the extra info!, much appreciated.

I gotta try this tonight. It might even be enought to bring Masked back to DBPro...


Van-B


The nature of Monkey was irrepressible!.
Aslyum
20
Years of Service
User Offline
Joined: 21st Jan 2004
Location:
Posted: 12th Feb 2004 16:06
Hey Van, no problem. Let me know if you need any more info.

I can't get enough of this language and like you guys I've been around here from the very start (back when DBC was in beta) but I never find the time to come on the forums (and I keep forgetting my password), so when I do I try and share something that I think others may find helpful.

What happened to Masked? Not Blitz?, no please say it isn't so! Tell him he needs to come back to the Dark Side wherever he may roam

Asylum Hunter
http://www.leadartist.com
Van B
Moderator
21
Years of Service
User Offline
Joined: 8th Oct 2002
Location: Sunnyvale
Posted: 12th Feb 2004 16:55
Email him a demo! - I'm afraid he's with the enemy now, multitexturing for landscapes was one of the reasons if memory serves. LLRGT is multiplatform now, so he only really uses that forum nowadays. Be sure to post some screenshots at LLRGT to entice him back.

In fact I hope you don't mind if I send him a link to your screenshots.


Van-B


The nature of Monkey was irrepressible!.
Pincho Paxton
21
Years of Service
User Offline
Joined: 8th Dec 2002
Location:
Posted: 12th Feb 2004 17:52
It looks real! Great work!

Zeal
21
Years of Service
User Offline
Joined: 10th Oct 2002
Location: Colorado Springs, CO
Posted: 12th Feb 2004 23:07
Wow very cool, thanks for the extra info, I get it now. But im wondering, when/if U6 rolls around, is this how 'multitexturing' works? I mean, does it really add more polys ontop of the object youre working on, and use alpha faded verts? Your method still seems fast (damn clever too), but im thinking maybe I should wait for U6 (unless this is how theyre gonna do it anyway)? Thing is, im updating my terrain in realtime using square chunks of terrain, so I wouldnt really be able to use your system anyway (no fast way to delete isolated vertecies in real time, so id be doubling polycount for every extra layer).

Regardless, really killer pictures. Nice nice nice

All you need is zeal
walaber
20
Years of Service
User Offline
Joined: 22nd Oct 2003
Location: Los Angeles, CA
Posted: 13th Feb 2004 05:24 Edited at: 13th Feb 2004 05:24
the multitexturing in update 6, should NOT add any polys to the model. it just fades the different textures on top of each other, based on different UV coordinates, and different alpha-fading types... The .dbo format *actually* supports this right now, but there's few ways to access it

for an example of an object with multiple textures, look at this shot: (a single .dbo object with 2 texture layers (original textures + lightmap w/ its own UV coordinates)


http://walaber.dbspot.com/sbf/lmap07.jpg

Go Go Gadget DBPRO!

Athlon XP 2400+ || DDR-SDRAM 1GB || Nvidia Ti4200 AGP 8x 128MB
Zeal
21
Years of Service
User Offline
Joined: 10th Oct 2002
Location: Colorado Springs, CO
Posted: 13th Feb 2004 07:02
Oh oh oh! Walber please explain how multitexturing is possible now. Im using all the new vertex commands myself (using the DBProBasic3DDebug.dll), so I know about them. I also know there is a way to set multiple layers for of uv coords, but I dont see how that would allow for blended textures. Is there some hidden command im missing?

Im sure Aslyum would like to know how to do blending without added poly count too.

All you need is zeal
walaber
20
Years of Service
User Offline
Joined: 22nd Oct 2003
Location: Los Angeles, CA
Posted: 13th Feb 2004 11:53
well, the only way I know right now is to use the native .dbo format. the only program that I know that can create a .dbo file right now is Gile[s], a lightmapper (which I used to make the pic above). it exports .dbo files, and the lightmaps can be blended in many different ways, and of course use different UV coords than the base textures. the scene above uses about 7 base textures, all of which are 512x512, and a single lightmap that is 1024x1024 (eventually they will all be sized down for release). Also the tree in the right corner isn't lightmapped, it's vertex-shaded. The lamps on the house are part of the object too, but they have no lightmap either (just the base texture). all of this is done on a single .dbo file with no extra polygons.

I can send you an example model if you'd like to see one w/ multiple textures and UV coordinates.

Go Go Gadget DBPRO!

Athlon XP 2400+ || DDR-SDRAM 1GB || Nvidia Ti4200 AGP 8x 128MB
Zeal
21
Years of Service
User Offline
Joined: 10th Oct 2002
Location: Colorado Springs, CO
Posted: 13th Feb 2004 14:11
Hmm so what in the hell is a .dbo? So if we could just figure out how to draw a image in dbo format, we could then use the seperate uv layers to blend? Hmm...

All you need is zeal
walaber
20
Years of Service
User Offline
Joined: 22nd Oct 2003
Location: Los Angeles, CA
Posted: 13th Feb 2004 15:24
no .dbo is a 3D model format (like .x and .3ds) that DBPro uses internally. when you load a .x file, it converts it to the internal object format, which is .dbo!

Go Go Gadget DBPRO!

Athlon XP 2400+ || DDR-SDRAM 1GB || Nvidia Ti4200 AGP 8x 128MB
Zeal
21
Years of Service
User Offline
Joined: 10th Oct 2002
Location: Colorado Springs, CO
Posted: 14th Feb 2004 01:35
Ah I get it so your modeling prgram (giles?) has the ability to export directly to dbo. So I guess the next question would be, when you break a object down into a memblock, shouldnt you have acces to all the data of the dbo model?

What is this giles program anyway? Do you have a link to it? Im guessing it has to be a TGC product, ive never heard of it.

All you need is zeal
Major Payn
20
Years of Service
User Offline
Joined: 16th Dec 2003
Location: United States of America
Posted: 14th Feb 2004 02:00
Will this work for DBC because this looks awsome and that is what I have.

P4 3.2Ghz/Alienware area 51/radeon 9800 pro 256mb/sound blaster audigy 2/5.1 surround sound speakers.
Preston C
20
Years of Service
User Offline
Joined: 16th May 2003
Location: Penn State University Park
Posted: 14th Feb 2004 18:52
Quote: "What is this giles program anyway? Do you have a link to it? Im guessing it has to be a TGC product, ive never heard of it.
"


GileS is a shareware lightmapper of excellent quality. It is not created by TGC, but it does support the file formats DBPro uses, especially the .dbo format.

Quote: "Will this work for DBC because this looks awsome and that is what I have.
"


I'm afraid it wont. DBC doesnt support vertex colors and vertex alpha if I'm correct. Only face/polygon colors.

Anyway, this would have to be the best terrain in DBPro I've seen yet. I must give it a try (but, since I dont have anything up to the callibur of 3DS Max, may be a bit of a struggle).

Wish Wings3d supported vertex colors and vertex alpha, must suggest it to em

Cheers,
Preston


Intel Celeron 1.3 Ghrz 512MB Ram NVIDIA GeForceFX 5200 128MB
Zeal
21
Years of Service
User Offline
Joined: 10th Oct 2002
Location: Colorado Springs, CO
Posted: 15th Feb 2004 07:18
Dang well since my terrain is generated in realtime, I couldnt use a modeling program anyway. I need direct acces to all this junk in the language. Was just curious.

Damn you U6 youll never come

All you need is zeal
Phaelax
DBPro Master
21
Years of Service
User Offline
Joined: 16th Apr 2003
Location: Metropia
Posted: 15th Feb 2004 09:09
There's an online game university that uses GileS for some of their classes. I took a DX course from them last summer.

"eureka" - Archimedes
walaber
20
Years of Service
User Offline
Joined: 22nd Oct 2003
Location: Los Angeles, CA
Posted: 15th Feb 2004 09:30
I've been in contact with the writer of Gile[s]... right now the DBO export is "experimental"... and there are definately a few bugs. I helped him find a few, and the export should be improved in the next update!!

I must say after seeing how much cooler my game looks with a lightmapped level, I've become a big fan of Gile[s].

just to stay on topic a bit, any chance of a demo of the terrain system so we can see the fps on our own systems?

Go Go Gadget DBPRO!

Athlon XP 2400+ || DDR-SDRAM 1GB || Nvidia GeForce 4 Ti4200 AGP 8x 128MB
John H
Retired Moderator
21
Years of Service
User Offline
Joined: 14th Oct 2002
Location: Burlington, VT
Posted: 17th Feb 2004 16:54
I must try a system like this in ED...it looks amazing man! Great job!


We need help! Email us! join@eternaldestinyonline.com
Jmansr
21
Years of Service
User Offline
Joined: 28th Aug 2002
Location: Canada
Posted: 18th Feb 2004 03:32
I thought the .DBO format wasn't released yet?

How'd the guy who programmed it manage to get the file format specs? Or have I missed something?

I think that if there is, even an experimental, version of the.DBO format everyone should be able to have a go at it then we could make our own light maps and use the DBO format. This has confused me.

Blue Blood FX
Check it out, RIGHT NOW!
http://blueblood.bandedsoftware.com
hexGEAR
21
Years of Service
User Offline
Joined: 3rd Nov 2002
Location: Naytonia
Posted: 18th Feb 2004 04:04 Edited at: 18th Feb 2004 04:07
u've missed something

Quote: "I thought the .DBO format wasn't released yet?"


it's been within the dbpro engine for some time now, some people just didn't realise it

Quote: "How'd the guy who programmed it manage to get the file format specs?"


the .dbo file format documentation is floating somewhere around the forums, (old version and sorry, i don't have a link) but the creator of Giles got the info directly from the TGC team, at least i think .

Dave J
Retired Moderator
21
Years of Service
User Offline
Joined: 11th Feb 2003
Location: Secret Military Pub, Down Under
Posted: 18th Feb 2004 14:28
Yeah, just email someone from TGC and they'll send you a copy.


"Computers are useless they can only give you answers."
Mattman
20
Years of Service
User Offline
Joined: 5th Jun 2003
Location: East Lansing
Posted: 20th Feb 2004 15:41
Rick gave me a copy

Login to post a reply

Server time is: 2024-04-28 15:32:40
Your offset time is: 2024-04-28 15:32:40