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 / BlitzTerrain

Author
Message
Airslide
19
Years of Service
User Offline
Joined: 18th Oct 2004
Location: California
Posted: 12th Jul 2009 04:35
Did I read: spherical terrains?! Doubt it will be useful to me but others will probably enjoy it and I'll love messing with it

SpiderPig
14
Years of Service
User Offline
Joined: 11th Jul 2009
Location: Australia
Posted: 12th Jul 2009 07:47
Hey everyone,

I've been following the threads for quite a while now,
this has probably been suggested before, but anyhow,..

would it be possible to add a command that enables loading and application of LOD levels to a terrain object made in an external 3d application?

This would be overly awesome!!
Just a thought anyway...

Nice job by the way Kaedroho!!
Azunaki
15
Years of Service
User Offline
Joined: 11th Feb 2009
Location:
Posted: 12th Jul 2009 09:07
lol that would defiantly be interesting.
kaedroho
16
Years of Service
User Offline
Joined: 21st Aug 2007
Location: Oxford,UK
Posted: 12th Jul 2009 14:10
That isn't possible. The LOD seams will become unfixable. So when LOD switches, you will get really annoying holes in the terrain.

With Quadmapping, yes. This is designed to tell the system which vertices are located on the edge of a sector so it can fix the seam.


BMacZero
18
Years of Service
User Offline
Joined: 30th Dec 2005
Location: E:/ NA / USA
Posted: 12th Jul 2009 16:25
You could fake it by just generating a heightmap of the terrain and using that to make a standard Uber (sorry, Blitz Terrain .



Diggsey: I have a spine and memory, but one memorable guy says he hates me. What am I?
KISTech
16
Years of Service
User Offline
Joined: 8th Feb 2008
Location: Aloha, Oregon
Posted: 12th Jul 2009 23:11 Edited at: 12th Jul 2009 23:12
Now, now.. Let's not go trying to add more features.

I'm already pulling my hair out waiting to get my hands on Terrain Streaming...

kaedroho
16
Years of Service
User Offline
Joined: 21st Aug 2007
Location: Oxford,UK
Posted: 12th Jul 2009 23:13
I have people pulling their hair out on Spherical terrains too :S


BMacZero
18
Years of Service
User Offline
Joined: 30th Dec 2005
Location: E:/ NA / USA
Posted: 12th Jul 2009 23:55
Quote: "I have people pulling their hair out on Spherical terrains too :S"

That would be a nice way to add grass...



Diggsey: I have a spine and memory, but one memorable guy says he hates me. What am I?
kaedroho
16
Years of Service
User Offline
Joined: 21st Aug 2007
Location: Oxford,UK
Posted: 12th Jul 2009 23:56
LOL.



capsoff


Azunaki
15
Years of Service
User Offline
Joined: 11th Feb 2009
Location:
Posted: 13th Jul 2009 00:52
Quote: "Now, now.. Let's not go trying to add more features."


but we like adding new features.
KISTech
16
Years of Service
User Offline
Joined: 8th Feb 2008
Location: Aloha, Oregon
Posted: 13th Jul 2009 01:16
Next version, next version...

SpiderPig
14
Years of Service
User Offline
Joined: 11th Jul 2009
Location: Australia
Posted: 13th Jul 2009 05:52
well, i can cross that out of my mind now....
lol

Don't suppose you have a release date for Blitz terrain yet?lol
jeffhuys
17
Years of Service
User Offline
Joined: 24th May 2006
Location: No cheesy line here.
Posted: 13th Jul 2009 17:29
@kaedroho

I still have the same ol' problem; no terrain!
It tells me it is building the terrain, but all I see is a white background.



Since there are no examples, is there something wrong with this or not?

Thanks

Jeff



You're the 'th to view this signature!
kaedroho
16
Years of Service
User Offline
Joined: 21st Aug 2007
Location: Oxford,UK
Posted: 13th Jul 2009 18:43 Edited at: 13th Jul 2009 18:50
in version 1.04 i added a new command, BT/UT InitialiseTerrain.

Make sure you call it when you finnished building your terrain.




SpiderPig, No release date for the full version has been announced.

Free Version will be released on:

19th August 2009 (37 days)

People who know me in person will know why I choose that


The full version is likely to be released before next Christmas. (depends on my luck)


mike5424
15
Years of Service
User Offline
Joined: 30th Mar 2009
Location:
Posted: 13th Jul 2009 23:51
You're birthday?

www.madninjas.co.nr we are mad and we are ninjas
kaedroho
16
Years of Service
User Offline
Joined: 21st Aug 2007
Location: Oxford,UK
Posted: 13th Jul 2009 23:57 Edited at: 13th Jul 2009 23:59
Quote: "You're birthday?"


Yep! I will be 16!


BMacZero
18
Years of Service
User Offline
Joined: 30th Dec 2005
Location: E:/ NA / USA
Posted: 14th Jul 2009 00:06
Awesome! I love it when I get presents on someone else's birthday .



Diggsey: I have a spine and memory, but one memorable guy says he hates me. What am I?
KISTech
16
Years of Service
User Offline
Joined: 8th Feb 2008
Location: Aloha, Oregon
Posted: 14th Jul 2009 19:13
Dam, I feel old...

Mista Wilson
15
Years of Service
User Offline
Joined: 27th Aug 2008
Location: Brisbane, Australia
Posted: 15th Jul 2009 08:42
hehe KISTech, join the club, im an old guy, so my 10yr tells me lol

@kaedroho .. really looking forward to this when you get it out, looks excellent so far, keep up the good work.. Also im sure its been asked already, but whats the plans for a DarkGDK version of this, any news on that front ?

If it ain't broke.... DONT FIX IT !!!
kaedroho
16
Years of Service
User Offline
Joined: 21st Aug 2007
Location: Oxford,UK
Posted: 15th Jul 2009 10:45
I'm hoping to get that done by August 19th too. I'm going to add loading and saving functions, fix deleting and pinholes, then port to GDK.

We've finished doing up the house now. So i can get back to work.


SpiderPig
14
Years of Service
User Offline
Joined: 11th Jul 2009
Location: Australia
Posted: 16th Jul 2009 09:40 Edited at: 16th Jul 2009 16:07
I've added a second camera so I can get the mirrors on my car to reflect, but it now seems that Blitz Terrain is culling sectors according to what the second camera is seeing. Even though it's not the current camera....??

I've included the line in the main loop 'UT Update 0'

Any ideas??

Also : The terrain isn't effected by DB Pro Lights????
Duffer
21
Years of Service
User Offline
Joined: 9th Feb 2003
Location: chair
Posted: 20th Jul 2009 21:13
@ kaedroho,

How goes it??

a long time dabbler with DBC and DBPro with no actual talent but lots of enthusiasm...
kaedroho
16
Years of Service
User Offline
Joined: 21st Aug 2007
Location: Oxford,UK
Posted: 20th Jul 2009 22:54
Not much else to show yet on dll side of things.

The help files and demo's are coming along nicely though.

Duffer
21
Years of Service
User Offline
Joined: 9th Feb 2003
Location: chair
Posted: 22nd Jul 2009 19:22
@ kaedroho - working on a terrain palette plugin which (if I complete it - pureplugin dll) may compliment this.

how goes it? can you say a little more about what the streaming commands would allow us to do...?

a long time dabbler with DBC and DBPro with no actual talent but lots of enthusiasm...
Math89
20
Years of Service
User Offline
Joined: 23rd Jan 2004
Location: UK
Posted: 23rd Jul 2009 13:31
I've just tried your dll, and it seems that most of its functionalities works fine. However, I found some problems with the realtime terrain modification: some positions aren't affected by the raise/lower functions and the bounding box of the modified sector isn't updated (which means that some parts of the terrain can disappear). The culling problem can be fixed on the DBPro side by using Calculate Object Bounds.
Apart from this bug, it runs fine. The only thing I regret is the lack of support for non-squared terrains: there is no way to scale or split the terrain with different values on x and z.

Good luck for finishing it.
kaedroho
16
Years of Service
User Offline
Joined: 21st Aug 2007
Location: Oxford,UK
Posted: 23rd Jul 2009 13:36 Edited at: 23rd Jul 2009 13:42
Quote: "I found some problems with the realtime terrain modification"


This could probly be caused by my code which detects weather or not the RTMS is disabled and disables it. It is set to disabled.

Quote: "The culling problem can be fixed on the DBPro side by using Calculate Object Bounds."


It does, but maybe this could be caused by the above. The RTMS commands should be completely locked. Maybe it didn't fully lock it.

Quote: "The only thing I regret is the lack of support for non-squared terrains: there is no way to scale or split the terrain with different values on x and z."


This is because the tiles must be square. You can exclude them using the exclusion mapping feature. It doesnt just stop it from attaching indices. It completely deletes vertices and indices that are not needed. Also if you exclusion map entire sectors, the system will just skip their generation, meaning that exclusion mapping can give you non square terrains, and be just as fast.

It is possible to scale a terrain outside of BlitzTerrain using the sector commands. I can very easily add some code to allow rectangular terrains. I didnt think that there was much need for it.

Heightmaps will have to be square and have power of 2 numbers down each side. This is because it could cause the splitting to crash.

kaedroho
16
Years of Service
User Offline
Joined: 21st Aug 2007
Location: Oxford,UK
Posted: 23rd Jul 2009 15:54 Edited at: 23rd Jul 2009 15:54
I recently havnt been working much on BlitzTerrain. Mainly experimenting with new techniques and algorithms I have made.

One of them is what I call "Cone Culling". This is used on Spherical terrains to cull all the objects and terrain on the back of planets. basically, the tip of the cone is the viewer and the cone fits around the planet. Anything inside the cone which is further than the planets distance, gets culled.

BMacZero
18
Years of Service
User Offline
Joined: 30th Dec 2005
Location: E:/ NA / USA
Posted: 23rd Jul 2009 16:55
Your ideas never cease to amaze me . I'm having trouble just making up my own pathfinding algorithm, and you're turning one a week .



Diggsey: I have a spine and memory, but one memorable guy says he hates me. What am I?
kaedroho
16
Years of Service
User Offline
Joined: 21st Aug 2007
Location: Oxford,UK
Posted: 24th Jul 2009 02:54 Edited at: 24th Jul 2009 02:55
Thanks

I honestly did not know that I amazed people by these ideas I have! Thats made my day!

Getting an idea once a week does have disadvantages though... It means you have to make a program for it once a week!

kaedroho
16
Years of Service
User Offline
Joined: 21st Aug 2007
Location: Oxford,UK
Posted: 26th Jul 2009 18:52
Right, going to get back to work on this next week. Ive just been busy with other things recently.

I will complete some demos (decided to scrap the demo system) soon.

When I have done that and added some help files, I'll release verson 1.6ß. Then hopefully this will go onto be the final relase on august 19th. I can then concentrate on Streaming.

Duffer
21
Years of Service
User Offline
Joined: 9th Feb 2003
Location: chair
Posted: 27th Jul 2009 22:34 Edited at: 27th Jul 2009 22:36
@ kaedroho,

This is going to sound dense (because I am) but how would you get this working with Sparky's collision system, the Newton Wrapper physics and/or the DBPro DarkPhysics plugins - given that the BT Terrains are not objects.... I was thinking say what would you do if you wanted to use that TreeParty or something to v rapidly place trees or other objects?

[edit]

Also how would you go about combining textures (ie road on grass etc) now - is it going to be by some shader? Will you be including some demo code on that too with final pro release?

a long time dabbler with DBC and DBPro with no actual talent but lots of enthusiasm...
kaedroho
16
Years of Service
User Offline
Joined: 21st Aug 2007
Location: Oxford,UK
Posted: 27th Jul 2009 23:56
Quote: "This is going to sound dense (because I am) but how would you get this working with Sparky's collision system, the Newton Wrapper physics and/or the DBPro DarkPhysics plugins - given that the BT Terrains are not objects.... I was thinking say what would you do if you wanted to use that TreeParty or something to v rapidly place trees or other objects?"


In BT ContinueBuild, there is another parameter. This is for another object. This object only contains 1 limb (the LOD level specified in BT SetCollisionLOD, LOD 1 is default). And it can be used for collision in all of these engines.

As for treeparty, I have no idea how that works. If the developer made it need to use Advanced Terrain then thats the developers problem.

Quote: "Also how would you go about combining textures (ie road on grass etc) now - is it going to be by some shader? Will you be including some demo code on that too with final pro release?"


I have a few shaders planned. I might have one done by august 19th hopefully.

Mista Wilson
15
Years of Service
User Offline
Joined: 27th Aug 2008
Location: Brisbane, Australia
Posted: 28th Jul 2009 05:59
@Duffer - Tree party works well with everything ive used it with so far, that inclues my own welded vert memblock mesh created terrain, advanced terrain, matrixes, "level objects" and primitives even.

I dont see a reason why it wouldn't work with BlitzTerrain, blitz would have the function to return you a ground height from an x,z co-ord which is all you would need to place the trees, or any other kind of object onto it. All you need to do for tree party is to tell it where to place the trees, they dont have to have any interaction with what they are on.

If it ain't broke.... DONT FIX IT !!!
Duffer
21
Years of Service
User Offline
Joined: 9th Feb 2003
Location: chair
Posted: 28th Jul 2009 09:40
@ kaedroho -

Thanks - that kinda makes sense - assuming that the physics object in BT ContinueBuild covers the whole terrain? (or is it just a sector?). Looking forward to details of the shader(s) and streaming later on...



@ mista wilson - thanks, reassuring

a long time dabbler with DBC and DBPro with no actual talent but lots of enthusiasm...
kaedroho
16
Years of Service
User Offline
Joined: 21st Aug 2007
Location: Oxford,UK
Posted: 28th Jul 2009 11:41
Physics objects are separate for each sector. This is just so you can turn physics on only on parts of terrains that need to be turned on. This is a very good optimisation.

kaedroho
16
Years of Service
User Offline
Joined: 21st Aug 2007
Location: Oxford,UK
Posted: 31st Jul 2009 17:51
http://www.devstorm.co.uk is now up!!!

New links:

BLITZTERRAIN FORUMS: http://www.devstorm.co.uk/viewforum.php?f=24

GET THE LATEST VERSION HERE: http://www.devstorm.co.uk/viewtopic.php?f=24&t=38

LOOK AT PROGRESS ON THE NEXT VERSION HERE: http://www.devstorm.co.uk/viewtopic.php?f=24&t=39

Duffer
21
Years of Service
User Offline
Joined: 9th Feb 2003
Location: chair
Posted: 2nd Aug 2009 12:18
@ kaedroho,

checked the links and really looking forward to update on quadtree, streaming and spherical terrains progress? also load and save terrain commands and additional brush commands?

a long time dabbler with DBC and DBPro with no actual talent but lots of enthusiasm...
Xgame101
14
Years of Service
User Offline
Joined: 22nd Jul 2009
Location: Michigan
Posted: 3rd Aug 2009 06:10
@ Duffer,

I've had Treeparty and BlitzTerrain running smoothly in a development project I'm learning with. It all runs very well together. I would say that the only real trouble I've had is that since the new 1.074 update I've again had some culling issues arise.

I am so looking forward to new BlitzTerrain developments

Xgame101
1024 Studios
kaedroho
16
Years of Service
User Offline
Joined: 21st Aug 2007
Location: Oxford,UK
Posted: 3rd Aug 2009 19:07 Edited at: 4th Aug 2009 02:35
Quote: "the new 1.074 update I've again had some culling issues arise."


I've already moaned at Lee about that but he and IanM insist that there is nothing wrong.

The same culling issues occur in Advanced terrain too.

Could you explain the culling issues?


I have came up with an idea to get up to 19 Detailmaps + a mask image + texture to beable to be applied to a terrain using a shader.

Heres the plan:

You can have up to 8 textures per object.

Each texture is 32 bit so you can parse 24 bytes of data to the pipeline.

The first 4 are the texture.

Now the cool part, detailmaps only need 1 byte of data (they are greyscale), so you can send 4 of them in 1 go. Same with the mask image.

voila.


Also, you will be able to have different detail maps for different sectors. So the detail maps are infinite. As long as you use less than 20 on 1 sector.

kaedroho
16
Years of Service
User Offline
Joined: 21st Aug 2007
Location: Oxford,UK
Posted: 3rd Aug 2009 19:24 Edited at: 3rd Aug 2009 19:27
The new internal structure is taking shape.

The way it creates the terrrain is now extreamly clean. It is even suitable for device recovery (alt tabbing out then going back in only to see an error message).

An upcoming command, UT RecoverTerrain terrain will solve this problem.

It will use a normal build loop straight after, so basically its alot like using the normal build command, except it recreates the terrain.

The heightmap is internally stored, the texture and detailmap must be loaded before calling the command.

I will also change the structure of the build loop.

Continue build will have no parameters. Instead, the parameters will be set with UT setobject, UT setphysicsobject, etc.

Continue build will not return the progress, instead it will return a status. UT GetBuildProgress() will replace this.

kaedroho
16
Years of Service
User Offline
Joined: 21st Aug 2007
Location: Oxford,UK
Posted: 4th Aug 2009 02:12 Edited at: 4th Aug 2009 02:15
Heres a demo of the new function. BT RecoverTerrain terrainid

Run the demo, and alt tab out, then go back into the program. It will regenerate the terrain.

It will regenerate the terrain a lot faster than generating it in the first place. This is because it doesn't have to process any extra data to create something I call a "QuadMap" which maps the 4 points on each corner of a tile to its vertices.

No code included. My demo is so messy now it will confuse the hell out of people. I will tidy it up and release a simpler looking code soon.

Attachments

Login to view attachments
Xenocythe
18
Years of Service
User Offline
Joined: 26th May 2005
Location: You Essay.
Posted: 4th Aug 2009 04:09
Awesome! I like the new function.


kaedroho
16
Years of Service
User Offline
Joined: 21st Aug 2007
Location: Oxford,UK
Posted: 4th Aug 2009 15:14 Edited at: 4th Aug 2009 15:16
Xenocythe, thanks


Everyone,

The 1.06 version was going to be the final release.

I have now decided to shift around some features meaning that the release will be later than August 19th. Release date is now back on TBA.


I'm gonna make a start on the saving/loading commands. As Duffer has been waiting patiently for them for months now.

kaedroho
16
Years of Service
User Offline
Joined: 21st Aug 2007
Location: Oxford,UK
Posted: 4th Aug 2009 18:20
Im gonna give my latest algorithm a shot too.

I call it Horizon culling. It calculates whether a point or shape is behind a hill or not. It will have to be preprocessed for speed.

kaedroho
16
Years of Service
User Offline
Joined: 21st Aug 2007
Location: Oxford,UK
Posted: 4th Aug 2009 20:13 Edited at: 4th Aug 2009 20:17
Gah, I hit a weird bug.

When using multiple LOD levels then recovering the system just makes a blank screen with the cursor. The cursor is hidden in some parts of the screen but shown in others. If you click, or hit a button. It closes the app. This became bloody annoying.

I tracked it down to these lines of code which are located in the sector generation code, it is used to merge Objects together.


It works fine in windowed fullscreen mode, reloads the terrain with progress perfectly.

I think its a DBPro bug. But it only happens when more than 1 LOD level is used, this does not effect the amount of times the above code is executed.

I just hope that when I convert this to C++ it will all be solved.

Siddy
15
Years of Service
User Offline
Joined: 16th Dec 2008
Location:
Posted: 5th Aug 2009 14:11
Demo for map recovery works well, but there is no LOD, is that intended?
kaedroho
16
Years of Service
User Offline
Joined: 21st Aug 2007
Location: Oxford,UK
Posted: 5th Aug 2009 14:34
That demo uses Quadmapping. Theres still work to do on its LOD system. I will get it in as soon as possible.

LOD still works on heightmapping, except for that quadmapping has faster recover times, which is why i decided to use it.

Siddy
15
Years of Service
User Offline
Joined: 16th Dec 2008
Location:
Posted: 5th Aug 2009 14:39
Ah k, is it possible to make a quick demo with a button to turn off the quadmapping to see how many fps it saves?

Also, is there a sample of the documentation, i really want to use your plugin but dont think my programming is up to it.
kaedroho
16
Years of Service
User Offline
Joined: 21st Aug 2007
Location: Oxford,UK
kklouzal
14
Years of Service
User Offline
Joined: 15th May 2009
Location: Arizona
Posted: 6th Aug 2009 19:59
I am looking forward to using your amazing blitzterrain in my gdk application!!

Keep up the outstanding work!

Login to post a reply

Server time is: 2024-05-04 17:43:56
Your offset time is: 2024-05-04 17:43:56