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
BMacZero
18
Years of Service
User Offline
Joined: 30th Dec 2005
Location: E:/ NA / USA
Posted: 28th Sep 2010 08:33
The downloads work for me since several hours ago, though after Duffer posted.


Latest progress: Fog of War implemented; frustrated by pathfinding >.>
Duffer
21
Years of Service
User Offline
Joined: 9th Feb 2003
Location: chair
Posted: 28th Sep 2010 09:47
@ Kistech, BMacZero,

Tried that interesting DNS Tool .... the DNS does not exist...

At Kaedroho - the Blitzworks site - could you post the latest downloads somewhere there easily accessible...?

a long time dabbler with DBC and DBPro with no actual talent but lots of enthusiasm...
KISTech
16
Years of Service
User Offline
Joined: 8th Feb 2008
Location: Aloha, Oregon
Posted: 28th Sep 2010 19:27 Edited at: 28th Sep 2010 19:27
Seems to be working fine.



Attachments

Login to view attachments
Duffer
21
Years of Service
User Offline
Joined: 9th Feb 2003
Location: chair
Posted: 28th Sep 2010 21:38
nah, still not working for me:- (and I've run that dns thing as well)

a long time dabbler with DBC and DBPro with no actual talent but lots of enthusiasm...

Attachments

Login to view attachments
kaedroho
16
Years of Service
User Offline
Joined: 21st Aug 2007
Location: Oxford,UK
Posted: 28th Sep 2010 21:43 Edited at: 28th Sep 2010 21:50
Heres a new demo. Its like the above but I modified it to add it to the original ground height. Makes a cool earthquake effect.

I lowered the detail slightly so everyone will be able to run it.

Download attached to post.

Attachments

Login to view attachments
BMacZero
18
Years of Service
User Offline
Joined: 30th Dec 2005
Location: E:/ NA / USA
Posted: 28th Sep 2010 22:15 Edited at: 28th Sep 2010 22:15
Very cool, and runs much faster . But I can see seams where the LOD levels differ across sections (see the furthest section in the attached screenshot).


Latest progress: Fog of War implemented; frustrated by pathfinding >.>

Attachments

Login to view attachments
kaedroho
16
Years of Service
User Offline
Joined: 21st Aug 2007
Location: Oxford,UK
Posted: 28th Sep 2010 22:20
I get that too and I am working on a fix right now.

KISTech
16
Years of Service
User Offline
Joined: 8th Feb 2008
Location: Aloha, Oregon
Posted: 28th Sep 2010 23:15
That's very cool.

@Duffer, not sure whats going on there. If the NSLOOKUP tool I linked to above can find it, then you should be able to as well. There may be something wrong with your provider's DNS, or perhaps something inside your network is blocking access to it.

Duffer
21
Years of Service
User Offline
Joined: 9th Feb 2003
Location: chair
Posted: 29th Sep 2010 00:33
@ kaedroho,

Got the demo as attached to your second to last post. Pretty amazing. You could really use a BlitzTerrain to represent Ocean!

I get 89fps on it - pretty good considering...

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: 1st Oct 2010 00:21 Edited at: 1st Oct 2010 00:25
First Brush commands nearly done. I have coded it in such a way that once the first brush command works, it will be very easy to add more.

The system calls a function that computes a brush. It passes a function pointer to this function to the function which calculates the point heights. Heres 2 of functions that will be used.



Parameters:
X dist: X distance from the centre of the brush to this vertex.
Y dist: Y distance from the centre of the brush to this vertex.
MidHeight: Height of the centre of the brush.
Radius: The radius of the brush.
Amount: The amount the vertex must be moved.
CurrentHeight: Current height of this vertex.

It returns the new height of the vertex.

This part of BlitzTerrain will be released open source to pro users so you will be able to write your own brushes and find out how to use the BlitzTerrain internals.

kaedroho
16
Years of Service
User Offline
Joined: 21st Aug 2007
Location: Oxford,UK
Posted: 3rd Oct 2010 16:47 Edited at: 3rd Oct 2010 17:15
Just about to upload Black Hole V2. Brush commands are now done!!!


Heres a video:
http://www.youtube.com/watch?v=VO01HgbhZrs

kaedroho
16
Years of Service
User Offline
Joined: 21st Aug 2007
Location: Oxford,UK
Posted: 4th Oct 2010 16:54 Edited at: 4th Oct 2010 16:55
I am now working on something I call "Segmented LOD seam removal". It basically means that it can change the LOD level differently for pieces of a side of a terrain. It will probably be the most complicated thing so far in blitzterrain. LOD seam fixing is pretty hard to do at all, let alone segmented :S. I need this to make Quad Reduction work.

kaedroho
16
Years of Service
User Offline
Joined: 21st Aug 2007
Location: Oxford,UK
Posted: 4th Oct 2010 22:55 Edited at: 4th Oct 2010 22:55
I just solved a very major bug. In theory, the LOD seam fixing shouldn't have worked at all past the first LOD level. It started causing problems in the wave demo when you move away.

The problem was that it wasnt mapping sectors to the LOD map correctly.

LOD map is a grid of unsigned chars which tell the system which parts of the terrain are which LOD level. Sectors are mapped to this. LODLevel 0 sectors were mapped perfectly, but LODLevel 1 sectors were only mapped to the top left quarter and LODLevel 2 sectors were only mapped to the top left quarter of the top left quarter. Which made LOD seams pop out all over the place. This bug shouldve appeared in versions as early as the first beta of BlitzTerrain 2.00!

It has now been fixed and will never bother us again!

KISTech
16
Years of Service
User Offline
Joined: 8th Feb 2008
Location: Aloha, Oregon
Posted: 4th Oct 2010 23:01
Nice. Are we close to a release date??

kaedroho
16
Years of Service
User Offline
Joined: 21st Aug 2007
Location: Oxford,UK
Posted: 4th Oct 2010 23:53
Might be able to get 2.01 free out by the end of this week. The full version depends on how long it takes Lee to add support into DBPro for it.

KISTech
16
Years of Service
User Offline
Joined: 8th Feb 2008
Location: Aloha, Oregon
Posted: 5th Oct 2010 04:51
Cool. I'm hoping to dabble around with this over the next few weeks and then dive into it hard core after Halloween.

Clonkex
Forum Vice President
13
Years of Service
User Offline
Joined: 20th May 2010
Location: Northern Tablelands, NSW, Australia
Posted: 8th Oct 2010 05:18
Hey Guys,

Because I don't have time through the entire thread, I have just read the first 2 pages and this one. Is Uber Terrain different or just an old version of BT?

It seems to me that I don't have any real-time terrain modification commands in my version of BlitzTerrain....should I?

I like BT anyway, it's really great!

Clonkex

P.S. When did it go free?

Making games is easy.....finishing them is a different matter.

Intel Core 2 Duo 2.8Ghz, Nvidia GeForce 9400 GT 512mb, 1gb ram.
KISTech
16
Years of Service
User Offline
Joined: 8th Feb 2008
Location: Aloha, Oregon
Posted: 8th Oct 2010 19:32 Edited at: 8th Oct 2010 19:35
UberTerrain became BlitzTerrain a while back. Although it's still terrain, I'm betting the core code bears no resemblance to the former.

The Wilderbeast
18
Years of Service
User Offline
Joined: 14th Nov 2005
Location: UK
Posted: 8th Oct 2010 20:02
There is no RTMS in BlitzTerrain as that is a paid-only feature that will be present in the professional version when it is released.

revenant chaos
Valued Member
17
Years of Service
User Offline
Joined: 21st Mar 2007
Location: Robbinsdale, MN
Posted: 8th Oct 2010 21:24 Edited at: 8th Oct 2010 21:32
Hi Kaedroho. I am in the process of converting my project to use Blitz and I think I have found a bug. I am using a shader which uses the "World" and "ViewInv" matrices to store the scene's depth in a texture.

When the camera is moving down the shoreline looses it's fade effect, and when the camera is moving up the water level seems to drop. If the camera stops moving the scene looks completely normal. I have no clue how the plugin actually works, but this leads me to believe that the terrain's matrices are being updated a frame too late (or at least after the rendering takes place).

I don't have a demo to post at the moment, but I will get working on that. In the mean time I have attached screenshots which show the problem.

EDIT: forgot to attach the screens

Attachments

Login to view attachments
kaedroho
16
Years of Service
User Offline
Joined: 21st Aug 2007
Location: Oxford,UK
Posted: 8th Oct 2010 22:17 Edited at: 8th Oct 2010 22:17
I know what the matrix bug is. In the latest release no matrices are made for shaders. The shader system was extremly basic and only did the minimal amount of work to get anything on screen. Now I have added all the features of DBPro into BlitzTerrain so it should work now.

Not sure what the water bug is. We will have to see if the next version gets rid of it (release this weekend hopefully).

revenant chaos
Valued Member
17
Years of Service
User Offline
Joined: 21st Mar 2007
Location: Robbinsdale, MN
Posted: 8th Oct 2010 22:50
Thanks Kaedroho. While I was waiting for your response I put together demo, so I might as well post it so you can see what I am talking about and test the new version.

Attachments

Login to view attachments
kaedroho
16
Years of Service
User Offline
Joined: 21st Aug 2007
Location: Oxford,UK
Posted: 10th Oct 2010 13:09
I've still been working on segmented edge correction. It is extremely complicated! It will be a while before its fully up and running but it's one of the final pieces of the puzzle.

kaedroho
16
Years of Service
User Offline
Joined: 21st Aug 2007
Location: Oxford,UK
Posted: 10th Oct 2010 14:37 Edited at: 11th Oct 2010 20:48
Currently, it takes 32ms to generate a 128x128 terrain. When I remove the normal generation it goes straight down to less than 10ms. I am working on optimising the normal generation system.

kaedroho
16
Years of Service
User Offline
Joined: 21st Aug 2007
Location: Oxford,UK
Posted: 11th Oct 2010 20:48
Just rewrote the normals system so terrain generation time is now divided by 3.

Clonkex
Forum Vice President
13
Years of Service
User Offline
Joined: 20th May 2010
Location: Northern Tablelands, NSW, Australia
Posted: 17th Oct 2010 10:12
I hope you manage to fix all segment bugs, that'd be good.

Clonkex

Making games is easy.....finishing them is a different matter.

Intel Core 2 Duo 2.8Ghz, Nvidia GeForce 9400 GT 512mb, 1gb ram.
kaedroho
16
Years of Service
User Offline
Joined: 21st Aug 2007
Location: Oxford,UK
Posted: 17th Oct 2010 14:27 Edited at: 17th Oct 2010 14:47
Segmented edges is nearly done!

The old system stored data for each side for each LOD level. When a sector changed the side would change to match its vertex data so it doesn't have any gaps.

The new system splits the side up into segments if the sector is really big, so the LOD level can go to a sector of a higher LOD level too because quad reduction makes it possible for high LOD level sectors to acctually have low LOD level data.

Indicium
15
Years of Service
User Offline
Joined: 26th May 2008
Location:
Posted: 17th Oct 2010 14:33
I think kaedroho should get the title of 'God'

kaedroho
16
Years of Service
User Offline
Joined: 21st Aug 2007
Location: Oxford,UK
Posted: 17th Oct 2010 16:11
Heres a new video. This shows off Quad Reduction working with Dynamic LOD. So 2 types of LOD on the same terrain!

http://www.youtube.com/watch?v=e1mBU_jJu5w

SpiderPig
14
Years of Service
User Offline
Joined: 11th Jul 2009
Location: Australia
Posted: 21st Oct 2010 22:56
Hi Kaedroho, was wondering if you've ever thought of extending Blitz Terrain to Leadwerks engine using Open GL? Leadwerks could use the extra Terrain functions! Just pondering thoughts...

"I ask you,....what could possibly be in my eye that would explain this!?" - Jack O'Neill : Stargate SG-1
kaedroho
16
Years of Service
User Offline
Joined: 21st Aug 2007
Location: Oxford,UK
Posted: 23rd Oct 2010 13:59
I have plans to release BlitzTerrain for other game engines. My plan is to create a standalone version of BlitzTerrain and wrap it for each game engine. I will make is so the rendering part is outside BlitzTerrain so people can add their own rendering functions.

This will mean that I can focus on BlitzTerrain rather than on getting everything working with DBPro.

SpiderPig
14
Years of Service
User Offline
Joined: 11th Jul 2009
Location: Australia
Posted: 24th Oct 2010 02:26
Sounds great, can't wait.

"I ask you,....what could possibly be in my eye that would explain this!?" - Jack O'Neill : Stargate SG-1
Duffer
21
Years of Service
User Offline
Joined: 9th Feb 2003
Location: chair
Posted: 24th Oct 2010 13:09
@ Kaedroho,

The new BlackHole YouTube is really good.

How is it all going re Standard and Pro editions?

Anything more you can say about shaders with this plugin?

Also, would it be possible to upload the new water demo to this thread rather than use a link - having trouble getting access to it and want to trial it again now I have a new graphics card...



a long time dabbler with DBC and DBPro with no actual talent but lots of enthusiasm...
Clonkex
Forum Vice President
13
Years of Service
User Offline
Joined: 20th May 2010
Location: Northern Tablelands, NSW, Australia
Posted: 25th Oct 2010 05:03
That's really great, kaedroho! I just watched the vid, and, from what I can tell it doesn't seem to leave massive gaps at LOD'd joins.

Clonkex

Making games is easy.....finishing them is a different matter.

Intel Core 2 Duo 2.8Ghz, Nvidia GeForce 9400 GT 512mb, 1gb ram.
kaedroho
16
Years of Service
User Offline
Joined: 21st Aug 2007
Location: Oxford,UK
Posted: 2nd Nov 2010 23:01
Thanks for the comments! And sorry for not updating recently.

I have got BlitzTerrain into a sort of working state again now. The last few weeks have been absolute hell for coding. I probably wont add quad reduction into the first release as I really need to focus on the other features. If it doesn't go into the first release it will be in some release after. Quad reduction is an extremely complicated feature and since I came up with all the algorithms behind it, its been extremely difficult to implement. So far it works well with the other systems such as LOD and Exclusion. There are occasions where the edges will not join up correctly or the sectors themselves will turn into screwed up vertexdata.

I will get it so the terrain engine works just as well as it used to then I will work on features such as RAW heightmaps and colour heightmaps.

Clonkex
Forum Vice President
13
Years of Service
User Offline
Joined: 20th May 2010
Location: Northern Tablelands, NSW, Australia
Posted: 3rd Nov 2010 05:31
Of course I don't actually know anything, but I thought of a way that might possibly work to fix not-lining-up edges:

1) For each segment, run all round the for sides and check for segments next to it.
2) For each found segment run along the line of vertices between the 2 segments.
3) Check for height differences and, if different, move both to the average height of both.

I actually have no idea if that would work with your system but I thought I'd share anyway.

Quote: "
You can never share to much.

Me
"


Clonkex

Making games is easy.....finishing them is a different matter.

Intel Core 2 Duo 2.8Ghz, Nvidia GeForce 9400 GT 512mb, 1gb ram.
kaedroho
16
Years of Service
User Offline
Joined: 21st Aug 2007
Location: Oxford,UK
Posted: 3rd Nov 2010 12:07
Thats how the old system worked, it had a 2 dimensional array of floats. One axis was the LODLevel, the other was the side. It simply worked out the LODLevel of each side and copied the data in.

The problem now is LODLevels on a side could be different across the side and high LODLevels can have very low detail areas so you can get points where the higher LOD levels will actually have lower detail than the lower LOD levels. Which means both sectors sides will have to be updated instead of just the higher detail one.

But there's a problem with that. Because lower detail sectors are a lot bigger than higher detail ones, you can have multiple higher detail sectors on the edge of a lower detail and even more than 1 detail of sector on the edge which means that LOD will have to be updated differently for each part of a side instead of the whole side which is why I came up with "Segmented LOD". Segmented LOD updates LOD for parts of a side instead of the whole thing. It does mean pretty much a complete rewrite of the current system which is probably the biggest and most complicated system in BlitzTerrain.

Diggsey
18
Years of Service
User Offline
Joined: 24th Apr 2006
Location: On this web page.
Posted: 3rd Nov 2010 14:46
Easy solution:
Don't apply quad reduction all the way up to the edges, leave a thin line around the outside to keep the seam fixing simple.

[b]
kaedroho
16
Years of Service
User Offline
Joined: 21st Aug 2007
Location: Oxford,UK
Posted: 11th Nov 2010 19:08
I'd like to do it the hard way. This is because it will be a lot faster and I have finished it anyway.

I have found a bug in the LOD calculating part so that if a sector changed LOD, the change flag got set but never got cleared. This caused all the sectors around it to update their seams every loop until the program ended. Updating LOD seams is quite quick anyway, but the removal of this bug has increased the frame rate.


Segmented LOD is DONE! It has 2 bugs in it but the system works! I will release the next version of BlitzTerrain soon. There is still quite a lot to do in other areas, mainly Saving/Loading.

Clonkex
Forum Vice President
13
Years of Service
User Offline
Joined: 20th May 2010
Location: Northern Tablelands, NSW, Australia
Posted: 12th Nov 2010 00:57
I was wondering, could you add real-time texturing? I mean, I think BT will have RT terrain modification in the payed-for version, but do you think you could also add RT texturing?

It would be really useful! I have a way of doing it, I found in my downloads folder I had downloaded ages ago a way of changing the textures in real-time, but I don't understand a word it. It's written in DBPro and requires something called ImageKit.dll. I got it to compile by using a program I have (don't know where I got it) called ExplodeExe (which was written in DBPro also) and it simply explodes the exe into all of it's parts, including the DLLs.

I will upload the ChangeTex thing in a rar (get WinRar to unzip it if you can't).

Clonkex

Making games is easy.....finishing them is a different matter.

Intel Core 2 Duo 2.8Ghz, Nvidia GeForce 9400 GT 512mb, 1gb ram.

Attachments

Login to view attachments
KISTech
16
Years of Service
User Offline
Joined: 8th Feb 2008
Location: Aloha, Oregon
Posted: 12th Nov 2010 18:49
@kaedroho, I wish I had your skills. Every time I read this thread you've improved the speed and efficiency for an extremely complex system that's going to make a HUGE difference in how games are made with TGC products for a long time to come.

Clonkex
Forum Vice President
13
Years of Service
User Offline
Joined: 20th May 2010
Location: Northern Tablelands, NSW, Australia
Posted: 13th Nov 2010 07:04
I have been experimenting with making a simple terrain system. I'm stuck with smoothing. How can you run through 160,000 vertices and average their heights quickly? Btw, Kaedroho, how do you pronounce your name? When talking to my brother I always go "...and when ka-e- kahodro- you know finally releases the full version of BT..."

Quote: "@kaedroho, I wish I had your skills"


So do I!

Kaedroho, could you possibly explain how you access a DBPro object's actual size in DBPro units from C++? I can access and change position and rotation and other stuff but the objectsize command just seems to return a garbage value like 1.INDEF# or somthing.

Thanks,
Clonkex

Making games is easy.....finishing them is a different matter.

Intel Core 2 Duo 2.8Ghz, Nvidia GeForce 9400 GT 512mb, 1gb ram.
KISTech
16
Years of Service
User Offline
Joined: 8th Feb 2008
Location: Aloha, Oregon
Posted: 19th Nov 2010 20:02
Sorry if this was addressed earlier, although I've been sifting through this massive thread for an hour or so now..

I've upgraded GDK to the new 7.5 release. (using VC++ 2008 Express)
I've copied the latest BlitzTerrain into the include and lib directories.

I get the following linking error during the build of the examples solution.



When I run the example I get the error "BT Error: Heightmap size invalid Function BT Build Terrain".

The code is pointing to media that was provided with previous DBPro demos, as new media wasn't included in the latest GDK release.

Any ideas?

kaedroho
16
Years of Service
User Offline
Joined: 21st Aug 2007
Location: Oxford,UK
Posted: 25th Nov 2010 11:39
Sorry for lack of replies recently. My parents decided to book a holiday with very short notice!


Quote: "I was wondering, could you add real-time texturing? I mean, I think BT will have RT terrain modification in the payed-for version, but do you think you could also add RT texturing?"


This can be done with the memblocks commands. As soon as you update the image it will automatically be updated on the terrain. I will add support for this into the plugin soon though.


Quote: "Btw, Kaedroho, how do you pronounce your name?"


Kye-Dro-Ho is the way I pronounce it. The proper way on pronouncing it is very difficult though.

The name was made up by all the words or my real name put together.
KArl EDward ROss HObley. So the proper way to pronounce it would be ka - ed - ro - ho.


Quote: "Kaedroho, could you possibly explain how you access a DBPro object's actual size in DBPro units from C++?"


Look up the command BT_GetSectorSize(TerrainID,LODLevelID)


@KISTech. Thats a problem with my coding. I used the rand function to randomly reduce quads but now the reduction is calculated. As long as you don't need loading and saving, I can release a patch for it right now.

Quote: "BT Error: Heightmap size invalid Function BT Build Terrain"


This is a problem with GDK. The image size command sometimes gives really high values and makes BlitzTerrain stop working. I will make BlitzTerrain get the size from the image data. This should be more reliable.

KISTech
16
Years of Service
User Offline
Joined: 8th Feb 2008
Location: Aloha, Oregon
Posted: 26th Nov 2010 18:19
Ok. I'll wait for an update before I get to deep into this. Thanks.

Ortu
DBPro Master
16
Years of Service
User Offline
Joined: 21st Nov 2007
Location: Austin, TX
Posted: 28th Nov 2010 20:13
Hey, I'd love to check this out but the download links on the first page doesn't seem to be working. Returns a Server not Found error.


kaedroho
16
Years of Service
User Offline
Joined: 21st Aug 2007
Location: Oxford,UK
Posted: 30th Nov 2010 22:15 Edited at: 30th Nov 2010 22:17
All the features of the full version are now finnished! Just very buggy...

The next release of the free version is one or 2 more bugs away from release. I will get documentation done before release though.


Quote: "Hey, I'd love to check this out but the download links on the first page doesn't seem to be working. Returns a Server not Found error."


Some ISPs have a problem with finding the server. I will email you the files instead if you want. Just let me know which ones you want.

kaedroho
16
Years of Service
User Offline
Joined: 21st Aug 2007
Location: Oxford,UK
Posted: 2nd Dec 2010 10:58
BlitzTerrain v2.01 is completed. Full version is almost completed.

I will release BlitzTerrain 2.01 R1 shortly. I would like to get more documentation done first though.

Matty H
15
Years of Service
User Offline
Joined: 7th Oct 2008
Location: England
Posted: 2nd Dec 2010 16:50
I wrote a very rough document generator for GDK/DBPro. It looks through your source code and parses the comments that need to be in the form:


You run it, providing the header/source file and an output file and it creates 2 folders, one GDK, one DBPro, each with a html file for each command. It also comes with a css file which you can alter to change background and font colour/size etc.

I say its rough as it has no error handling at all so your header/source file must adhere to the rules or it may crash.

If you would like to try it let me know, I will tidy it up and release it anyway when I get some spare time.

BMacZero
18
Years of Service
User Offline
Joined: 30th Dec 2005
Location: E:/ NA / USA
Posted: 2nd Dec 2010 16:56
Woot!


Latest progress: Fog of War implemented; frustrated by pathfinding >.>

Login to post a reply

Server time is: 2024-05-05 23:09:38
Your offset time is: 2024-05-05 23:09:38