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
kaedroho
9
Years of Service
User Offline
Joined: 21st Aug 2007
Location: Oxford,UK
Posted: 16th Feb 2009 00:21 Edited at: 8th Nov 2012 12:24
UPDATE NOVEMBER 2012: BLITZTERRAIN 3 IS IN DEVELOPMENT!!


BlitzTerrain is a new terrain engine for DBPro and DarkGDK. It allows you to have much larger and more detailed terrains than the built in terrain engine.

It does this by using a number of Algorithms (LOD, Quadtrees, etc) and uses its own custom rendering engine separate from DBPro/GDKs that is designed specifically to render terrains extremely fast!

BlitzTerrain can run terrains up to 2048x2048 while maintaining a high frame rate on most PCs

It comes in a free version and a full version. The free version features everything needed to get up to 4 regular sized terrains (up to 512x512 tiles) running with LOD and Frustum culling.

The full version includes extra features such as:
- Up to 256 terrains
- Each terrain can be up to 2048x2048 tiles (there isn't a hard limit but this is as much terrain can fit into 2GB of RAM).
- Exclusion - Allows you to remove tiles under buildings or under water to improve speed
- Realtime Terrain Modification - Allows editing and explosion effects
- Quad reduction - Reduces the detail of flat areas of terrain


VIDEOS:
A Quick fly around a 2048x2048 terrain:


Showing off real time terrain modification by creating a black hole!



DEMOS:

Water Demo (Thread) (comparison with Advanced Terrain) (Version 2.00)
DOWNLOAD

Huge Terrain Demo (Thread) (shows huge terrain rendering, 2048x2048) (Version 2.02)
DOWNLOAD

Huge Terrain Demo With Explosions (Thread) (Same as above but has falling artillary shells which blow craters into the terrain) (Version 2.02)
DOWNLOAD


DOWNLOAD: (FREE VERSION)

DBPro: (Version 2.02 R1 31st March 2011)
DOWNLOAD


Dark GDK: (Version 2.02 R1, 10th April 2011)
DOWNLOAD


FULL VERSION:

http://www.thegamecreators.com/?m=view_product&id=2286

Attachments

Login to view attachments
Xenocythe
12
Years of Service
User Offline
Joined: 26th May 2005
Location: You Essay.
Posted: 16th Feb 2009 00:29
Yes! I've been waiting for this to come out for so long!

The demo ran great, beautiful system man.

This is a revolutionary moment in DarkBasic history...

Great stuff! I can't wait to buy it.


Violent Pigeon
9
Years of Service
User Offline
Joined: 30th Dec 2007
Location: London, Great Britain
Posted: 16th Feb 2009 01:15
Looks great


Satchmo
12
Years of Service
User Offline
Joined: 29th May 2005
Location:
Posted: 16th Feb 2009 02:22
Very good, ran much faster than I expected, I got about 40-50 fps throughout. Only thing is this could use some alpha blending, as the LOD switches were noticeable, even when on the ground looking ahead.

My specs:
Dual core 1.8 ghz
1 gb ram
256mb integrated graphics
Windows Vista

chunks chunks
10
Years of Service
User Offline
Joined: 2nd Jan 2007
Location: ackworth uk
Posted: 16th Feb 2009 03:10
This is looking very good i get about 500 fps looking at the ground and 200 fps with the shaders , well done mate .

The changes between lod levels is getting better too ,keep up the good work.

chunks

nvidia geforce 8600gt + amd athlon 64
windows xp pro.
Virtual Nomad
11
Years of Service
User Offline
Joined: 14th Dec 2005
Location: SF Bay Area, USA
Posted: 16th Feb 2009 03:20 Edited at: 16th Feb 2009 03:21
nice demo. was impressed with the FPS (~450-500 standard, 350-400 in the shader demo) and while the switches were noticable, i didn't mind them since they're very fast and multi-leveled (with some tweaking, i'd bet you can make them (almost) non-detectable).

alas, what i did mind (that we couldn't have seen in the videos):

1) some very noticable seaming through-out.
2) very regular "pin-hole" issues where you see through the terrain.



forgive me if these issues have been mentioned before in other UT-related threads and are being worked on; i confess i haven't followed this project as close as i should have.

Virtual Nomad @ California, USA
AMD Phenom™ X4 9750 Quad-Core @ 2.4 GHz . 8 GB PC2-6400 RAM
ATI Radeon HD 3650 @ 512 MB . Vista Home Premium 64 Bit

Attachments

Login to view attachments
BMacZero
11
Years of Service
User Offline
Joined: 30th Dec 2005
Location: E:/ N_America/ USA/ CA/ South
Posted: 16th Feb 2009 04:38
Mailback . Glad to see this is moving so quickly!

Monk
8
Years of Service
User Offline
Joined: 25th Sep 2008
Location: Standing in the snow =D
Posted: 16th Feb 2009 11:22
Odd i didnt notice any of those VN,and i just spent ten minutes looking...

Siddy
8
Years of Service
User Offline
Joined: 16th Dec 2008
Location:
Posted: 16th Feb 2009 11:53 Edited at: 16th Feb 2009 11:55
I get a far few pin-holes.

Seaming isnt that bad for me.

Is it possible to make the low and high poly map sections kind of blend, instead of just popping?
Outscape
9
Years of Service
User Offline
Joined: 23rd May 2008
Location:
Posted: 16th Feb 2009 12:06
hey nice work karl keep it up
i hope u make this freeware or something =) or i can pinch cos it looks awsome.
keep it up

Quote: "Function ifKarlasks(Recipient as String, Post as String, Link as String)
Recipient Goto Link : Insert Post : Endfunction"
kaedroho
9
Years of Service
User Offline
Joined: 21st Aug 2007
Location: Oxford,UK
Posted: 16th Feb 2009 12:50 Edited at: 5th Jun 2011 14:19
I get a few pinholes too. Its probly because all the sectors are expected to line themselfs up perfectly. But floating point inaccuracy kicks in and makes them something like 0.000001 units apart. ill increase the size of each sector by 0.001 percent which will make the sectors overlap by a very unnoticable amount to see if this helps.

The seams are because each sector has its normals individually calculated. So smoothing doesnt work very well. Ill add a system to calculate the normals for the whole terrrain.


Quote: "Is it possible to make the low and high poly map sections kind of blend, instead of just popping?"


This sounds like a good idea! it may decrease FPS a little because more than 1 object per sector will be visible.

The poping should become almost unnoticeable as I only set the LOD very close so you can see the LOD changes. The lod distances can be changed to what ever you like and also the split of the sectors can be set to what ever you want.

Because this may decrease the render speed. Ill make this another option.


DLL programming has started! It should be finished in a few weeks.


Thanks for the bug reports guys. We have to get rid of every bug before the release.

Your signature has been erased by a mod please reduce it to no larger than 600 x 120.

Attachments

Login to view attachments
draknir_
10
Years of Service
User Offline
Joined: 19th Oct 2006
Location: Netherlands
Posted: 16th Feb 2009 21:22
Excellent work, the demo performs a fantastic 280 fps on my machine.
Virtual Nomad
11
Years of Service
User Offline
Joined: 14th Dec 2005
Location: SF Bay Area, USA
Posted: 16th Feb 2009 23:13 Edited at: 16th Feb 2009 23:14
Quote: "
Odd i didnt notice any of those VN,and i just spent ten minutes looking...
"


could this be more apparent to me since i'm on a w/s lcd (only had it a couple months)? i don't think i ever had more than 1 pin-hole per iteration, but running around randomly did show quite a few, say, per second. really, the pin-holing can be worked around with a simple plane or "open-top" box underneath the terrain, textured or colored a lot less obvious than the light blue backdrop in the example. so, it's not that big of a deal but thought it was worth mentioning.

Virtual Nomad @ California, USA
AMD Phenom™ X4 9750 Quad-Core @ 2.4 GHz . 8 GB PC2-6400 RAM
ATI Radeon HD 3650 @ 512 MB . Vista Home Premium 64 Bit
Siddy
8
Years of Service
User Offline
Joined: 16th Dec 2008
Location:
Posted: 17th Feb 2009 04:26
This just gets better and better

I think the right combination of LOD distance and blending of low/high poly's depends on the specific terrain and game (like the character speed and view etc) so having them both adjustable would be perfect.

For example a flight simulator and FPS would need very different terrain settings!
revenant chaos
10
Years of Service
User Offline
Joined: 21st Mar 2007
Location: Robbinsdale, MN
Posted: 17th Feb 2009 09:07 Edited at: 17th Feb 2009 09:08
This is really cool. I am getting anywhere from 600-1200FPS with GG's terrain shader (Geforce 9600GT).

Do you think Evolved's latest Deferred Shading demo would work with this? Since it uses multiple camera passes, the decrease in polygons
could speed things up quite a bit.
kaedroho
9
Years of Service
User Offline
Joined: 21st Aug 2007
Location: Oxford,UK
Posted: 17th Feb 2009 10:36
yeah it should run fast.

if you look at the 'UT_Update(camera)' command. It takes 1 parameter, the camera. This is perfect for using with one of IanMs callbacks so you can make it update before every camera is rendered. Which will update the LOD and frustum culling for that camera just before its rendered. So you can have 2 cameras in completely different locations and the system will update the terrain for both.

djchaos
10
Years of Service
User Offline
Joined: 26th Mar 2007
Location: Brighton, UK
Posted: 17th Feb 2009 11:10
you should put a VERY large terrain in the demo of UberTerrain, that way it will make it much more Uber

Your mod has been erased by the signature
kaedroho
9
Years of Service
User Offline
Joined: 21st Aug 2007
Location: Oxford,UK
Posted: 17th Feb 2009 11:15
I dont have a terrain any bigger. I could resize the current one but it wont look any different except for the poly count.

kaedroho
9
Years of Service
User Offline
Joined: 21st Aug 2007
Location: Oxford,UK
Posted: 17th Feb 2009 11:46
Nearly done alpha blending. 1 or 2 bugs away from completion though.

After that im going to add a very large terrain and use my "Sector Jumping" method of keeping polys down. You could probly guess what that is.

Monk
8
Years of Service
User Offline
Joined: 25th Sep 2008
Location: Standing in the snow =D
Posted: 17th Feb 2009 14:26
Sounds good! Try making your own heightmap that way it can be as huge as possible!

Btw, im bad at guessing stuff, but i would say "sector jumping" means your not gonna bother detailing the half of the map thats miles away...

kaedroho
9
Years of Service
User Offline
Joined: 21st Aug 2007
Location: Oxford,UK
Posted: 17th Feb 2009 18:30
I call it sector jumping becuse the sectors jump around the map when they go out of view and reshape themselfs to fit that spot.

Ive also developed a detail reducer which reduces detail on parts of a sector which dont need detail allowing it to higher the detail on other parts. So the flat parts (like a path or the side of a hill) will be low detail while the high detail parts (like peaks of hills or holes) will be high detail. It uses a complicated algorithm which I came up with on saturday.

Super Nova
12
Years of Service
User Offline
Joined: 14th Jun 2005
Location: Earth
Posted: 18th Feb 2009 00:53
Simply Amazing... can't wait

"What I have shown you is reality. What you remember, that is the illusion."
kaedroho
9
Years of Service
User Offline
Joined: 21st Aug 2007
Location: Oxford,UK
Posted: 18th Feb 2009 20:15 Edited at: 18th Feb 2009 20:28
Sorry about a lack of decent updates recently. Ive been rewriting parts of the anti seam code to get rid of the jerkyness on slow computers.

I had to turn display modes to max, set wireframe mode on and turn power settings down to "power saver" to get it down to 50 and after a few hours of coding, ive cured most of the jerkyness.

My dll programmer will get to work as soon as ive finnished. I will have free day tomorrow so ill get lots of work done.

Monk
8
Years of Service
User Offline
Joined: 25th Sep 2008
Location: Standing in the snow =D
Posted: 19th Feb 2009 10:46
Lol! Its not often that people try soo hard to make their pcs go slow.
Good work, cant wait!

kaedroho
9
Years of Service
User Offline
Joined: 21st Aug 2007
Location: Oxford,UK
Posted: 19th Feb 2009 16:45 Edited at: 19th Feb 2009 16:46
Ive been fixing bugs mostly today. Im going to add 2 more features to the featurelist. Realtime terrain Modification. allows you to make holes in the ground when a bomb goes off. And a more complicated system to draw an image onto a terrain (like where a bomb has exploded) will also be added.

kaedroho
9
Years of Service
User Offline
Joined: 21st Aug 2007
Location: Oxford,UK
Posted: 19th Feb 2009 21:22 Edited at: 20th Feb 2009 11:23
Ive nearly completed the DBPro version. Does anyone have any feature requests? as its going to be very difficult to get features in after I sent my code to my dll programming team.


Features yet to do:
Alpha blending (done but has bugs).
Realtime Terrain Modification.
Terrain Loading (Terrains which have been pregenerated with a different program).
Sector Jumping (sectors move around on large heightmaps)
Possibly add a Cache file to hold all the terrian data when its been generated.
Different texture mode to allow more Advanced Terrain shaders to work with UberTerrain.
Advanced Physics (only activates parts of the terrain for Physics which need to be activated for Physics).
Tile Rotation (makes the terrain look nice and smooth).
Tile Exclusion.
Environment Mapping (controls which textures go where. You can also get the colour of any point on the environment map which you can use for vegetation, sounds, etc).
Multitexturing.
Terrain Positioning (possibly rotation if demanded).

Bugs yet to fix:
Engine only works in 32 bit mode.
Limb doesnt exist error on very high scales.
Normals produce seams.
Jerkyness on slow machines.
Texture must be the same size of heightmap.
Some Advanced Terrain shaders dont work.

BMacZero
11
Years of Service
User Offline
Joined: 30th Dec 2005
Location: E:/ N_America/ USA/ CA/ South
Posted: 19th Feb 2009 23:26
Quote: "Realtime terrain Modification. allows you to make holes in the ground when a bomb goes off. And a more complicated system to draw an image onto a terrain (like where a bomb has exploded) will also be added."


Dude. You rock .

I think you've pretty much included everything anybody ever wanted in a terrain system right here. I wants

kaedroho
9
Years of Service
User Offline
Joined: 21st Aug 2007
Location: Oxford,UK
Posted: 19th Feb 2009 23:41
Thanks

The Realtime Terrain Modification system can also be used in Editors. Adding this Terrain Engine to your editor will enable you to create large, good looking landscapes without the need of costly high performance GPUs.

Sixty Squares
11
Years of Service
User Offline
Joined: 7th Jun 2006
Location: Somewhere in the world
Posted: 20th Feb 2009 00:10 Edited at: 20th Feb 2009 00:10
Wow great job so far! I'm impressed . If you manage to add half of the features you just mentioned then... I don't know. I'll be blown away . Do you plan to sell this or will it be free? (*crosses fingers*)

kaedroho
9
Years of Service
User Offline
Joined: 21st Aug 2007
Location: Oxford,UK
Posted: 20th Feb 2009 01:22
Thanks

New command

`UT_SetPointHeight(terrain,x#,z#,height#,LODLevels)`

Terrain - The terrain number
x# and z# - The coordinates on the terrain which you wish to edit.
height# - The new height of that point
LODLevels - The LOD Levels to apply this to. eg. set this to 2 to apply the changes to the first 2 LODLevels. Set this to 4 to apply to the first 4 LOD Levels. Or, set this to 0 to apply to every LOD Level. The more LOD levels, the slower the update.

Sixty Squares
11
Years of Service
User Offline
Joined: 7th Jun 2006
Location: Somewhere in the world
Posted: 20th Feb 2009 03:19
Quote: "`UT_SetPointHeight(terrain,x#,z#,height#,LODLevels)`"


Amazing. Will this be practical in real-time?

kaedroho
9
Years of Service
User Offline
Joined: 21st Aug 2007
Location: Oxford,UK
Posted: 20th Feb 2009 11:16 Edited at: 20th Feb 2009 11:18
Yep, im also going to add a few commands to beable to add terrain sculpting into your editors quickly and easily.

kaedroho
9
Years of Service
User Offline
Joined: 21st Aug 2007
Location: Oxford,UK
Posted: 20th Feb 2009 12:15 Edited at: 20th Feb 2009 13:27
Realtime Terrain Modification is complete. Currently there is no demo for it (I only tested it by getting a random point and setting it to 2000). If a move 1 vertex per loop I get about 25 FPS.

Features yet to do:
Alpha blending (done but has bugs).
Terrain Loading (Terrains which have been pregenerated with a different program).
Sector Jumping (sectors move around on large heightmaps)
Possibly add a Cache file to hold all the terrian data when its been generated.
Different texture mode to allow more Advanced Terrain shaders to work with UberTerrain.
Advanced Physics (only activates parts of the terrain for Physics which need to be activated for Physics).
Tile Rotation (makes the terrain look nice and smooth).
Tile Exclusion.
Environment Mapping (controls which textures go where. You can also get the colour of any point on the environment map which you can use for vegetation, sounds, etc).
Multitexturing.
Terrain Positioning (possibly rotation if demanded).

Bugs yet to fix:
Engine only works in 32 bit mode.
Limb doesnt exist error on very high scales.
Normals produce seams.
Jerkyness on slow machines.
Texture must be the same size of heightmap.
Some Advanced Terrain shaders dont work.

Website: http://www.blitzwerks.co.uk/1_11_UberTerrain-Plugin.html

[edit] I have an idea on how to get rid of the jerkyness!!

kaedroho
9
Years of Service
User Offline
Joined: 21st Aug 2007
Location: Oxford,UK
Posted: 20th Feb 2009 14:30
Jerkynees seems to have completely gone now.

Im now working on a demo to show off the realtime terrain modification system.

A whole will form in the middle of the terrain and get bigger and bigger until the entire terrain gets consumed.

Monk
8
Years of Service
User Offline
Joined: 25th Sep 2008
Location: Standing in the snow =D
Posted: 20th Feb 2009 15:22
How about working on cliffs and overhangs etc?
And boulders, trees etc...
Oh rivers, always important for a landscape to have rivers.
Different types of ground, ie marshes etc. I dont know if thats possible but hey...
=)

kaedroho
9
Years of Service
User Offline
Joined: 21st Aug 2007
Location: Oxford,UK
Posted: 20th Feb 2009 15:25
Rivers, Boulders and vegetation will have to be added by the user.

UberTerrain will support multitexturing to create differeent types if ground.

Rivers, boulders and vegetation will all be utilised in Dark environment. An environment system which uses UberTerrain.

Monk
8
Years of Service
User Offline
Joined: 25th Sep 2008
Location: Standing in the snow =D
Posted: 20th Feb 2009 15:32
Cool!
Just thought id ask =)
Good work!

Oh and to ask sixty squares question again (im also curious)
Is this gonna be a free plugin or not? and if not what prices you thinking of?

kaedroho
9
Years of Service
User Offline
Joined: 21st Aug 2007
Location: Oxford,UK
Posted: 20th Feb 2009 15:38 Edited at: 20th Feb 2009 15:39
Im going to make 2 plugins

the first one will be like a turbocharged version of Advanced terrain with up to 4 LOD levels. Ill also throw in features like realtime terrain modification. Heightmaps will be limited to 1024x1024 and you will only beable to create 1 terrain. This will be released for free.

The seccond one will have all of the above features including the following:

Up to 7 LOD levels
Alpha blending.
Terrain Loading (Terrains which have been pregenerated with a different program).
Sector Jumping (sectors move around on large heightmaps)
Possibly add a Cache file to hold all the terrian data when its been generated.
Different texture mode to allow more Advanced Terrain shaders to work with UberTerrain.
Advanced Physics (only activates parts of the terrain for Physics which need to be activated for Physics).
Tile Rotation (makes the terrain look nice and smooth).
Tile Exclusion.
Environment Mapping (controls which textures go where. You can also get the colour of any point on the environment map which you can use for vegetation, sounds, etc).


That will be released for around £20

kaedroho
9
Years of Service
User Offline
Joined: 21st Aug 2007
Location: Oxford,UK
Posted: 20th Feb 2009 23:42 Edited at: 7th May 2009 00:11
Update:


Damn... i mustve accidentally divided by zero!


[removed - please look at attached image]

This is the Realtime Terrain Modification system in action. I decided to make it form a black hole and expand until it consumes the entire terrain!

Attachments

Login to view attachments
kaedroho
9
Years of Service
User Offline
Joined: 21st Aug 2007
Location: Oxford,UK
Posted: 21st Feb 2009 00:12 Edited at: 7th May 2009 00:12
Another screenshot showing the later stages...

[removed - please look at attached image]

Attachments

Login to view attachments
Tom J
11
Years of Service
User Offline
Joined: 4th Aug 2005
Location: Essex, England
Posted: 21st Feb 2009 00:21
Thats a nice growing hole in the Earth you've got there

GDT DEBATES - GO AND CONTRIBUTE [href]http://forum.thegamecreators.com/?m=forum_view&t=142248&b=19[href]
kaedroho
9
Years of Service
User Offline
Joined: 21st Aug 2007
Location: Oxford,UK
Posted: 21st Feb 2009 00:47
I think i should make a simple editor or something. As i doubt that many people would decide to add a black hole into their game (unless their like me of course).

Todd Riggins
12
Years of Service
User Offline
Joined: 29th Oct 2004
Location: Texas, USA
Posted: 21st Feb 2009 01:54
Impressive features !

If I wanted to make my own terrain editor using your Uber Terrain functions, would I be able to make roads(ie: formed by plotting spline paths) like in the FarCry 2 editor?? Or would that be something I would have to figure out on my own? Jest curious...

Current Specs: Intel Core2Quad 2.66 GHz, 8 GB RAM, NVidia Geforce 9800 GX2, Vista Ultimate 64-bit
kaedroho
9
Years of Service
User Offline
Joined: 21st Aug 2007
Location: Oxford,UK
Posted: 21st Feb 2009 12:16 Edited at: 21st Feb 2009 12:43
UberTerrain wont make roads. When UberTerrain is finished ill look into it as that is a feature that I need too. You can use multitexturing and environment mapping to do the roads.


I think that im going to get another member of blitzwerks to make the editor. I have alot of work to get done on the terrain.

I forgot to post, This is the code for the black hole:

+ Code Snippet

UT_LowerTerrain(terrain,x,z,radius,ammount)

kaedroho
9
Years of Service
User Offline
Joined: 21st Aug 2007
Location: Oxford,UK
Posted: 21st Feb 2009 20:33
Monk
8
Years of Service
User Offline
Joined: 25th Sep 2008
Location: Standing in the snow =D
Posted: 21st Feb 2009 21:06
Haha thats quite cool, if not slightly odd... Would be good for quicksand if on a small scale...
I did happen to see light through a few patches though as it got sucked into the hole, but elsewise not bad!

kaedroho
9
Years of Service
User Offline
Joined: 21st Aug 2007
Location: Oxford,UK
Posted: 21st Feb 2009 21:08 Edited at: 21st Feb 2009 21:10
yeah, im fixing that bug now. Its caused because the system edits the internal heightmap and tells 1 sector to update its vertexdata. Im making it update all the sectors around that point.

Im also working on a slightly smaller scale app to test this system. So people can see how it could be used instead of just showing off the speed.

The Wilderbeast
11
Years of Service
User Offline
Joined: 14th Nov 2005
Location: UK
Posted: 21st Feb 2009 22:18
This should proove to be very powerful when linked with Dark Environment. It's also a huge improvement over Advanced Terrain so there really should be no excuse not to use it, especially considering there will be a free version released.

The Real-Time terrain deformation is pretty damn neat too, could be very useful for damage modelling etc.

kaedroho
9
Years of Service
User Offline
Joined: 21st Aug 2007
Location: Oxford,UK
Posted: 21st Feb 2009 23:06
Im now going to work on some of the basics.

Terrain Positioning
Tile Exclusion
Environment Mapping
Multitexturing


Im going to aim to have them done by the end of tomorrow

Monk
8
Years of Service
User Offline
Joined: 25th Sep 2008
Location: Standing in the snow =D
Posted: 21st Feb 2009 23:18
Another demo hopefully!! Yippee

Login to post a reply

Server time is: 2017-07-27 07:47:02
Your offset time is: 2017-07-27 07:47:02