Initial Atlas Terrain Checkin (Pretty Pictures In Here!)
by Kyle Carter · in Torque Game Engine Advanced · 05/27/2005 (6:36 pm) · 249 replies
Hey guys,
I just committed the first public version of the new TSE terrain, codenamed Atlas. This is a fully modern, scalable terrain engine. Check the docs (updated with a whole new chapter :) for details.
This is a private release to our beloved TSE licensees. Congrats, guys, you get first shot at this new toy. :) We'll be rolling out a full launch of Milestone 2 - this was the last piece - next week when we all get back from Memorial Day of Weekend. I'd appreciate it ever so much if you'd keep on the quiet side about this until then!
The toolchain is currently a bit on the basic side. A fuller toolchain will be rolled out as part of MS3.
Please take a moment to give it a try. Feedback is welcome - post it here, in a new thread on this forum, or mail it to me. There's a lot more work to be done, but this represents a basic usable point for people to work from. :)
You can get this release by doing a CVS update, of course.
And finally... A rundown on the features:
Lightweight CPU Usage
Atlas uses less than 10% of CPU time per frame to update and render. Compare this with approximately 30% for legacy terrain.
Massive Landscapes
Supports landscapes of arbitrary size, bounded only by disk space. The current system supports approximately 10 quinquagintillion (or ten thousand quintillion vigintillion for those Brits in the audience, or 10154 chunks on the base level).
Vast View Distances
Can quickly render unlimited view distances, bounded only by the working range of the video card's Z-Buffer. Atlas can achieve 100+ fps on a midrange Radeon, with a view distance of approximately 4,000 meters. The legacy terrain is not even capable of rendering this view distance by default!
Unique Textures
Atlas supports a single massive texture for your entire terrain! Every texel is unique. Support for extremely large textures (in excess of 32,768 by 32,768 pixels) on all hardware. Of course, all this is streamed, so you only pay memory cost for the texture detail near you. A future release will support on-the-fly texture blending like the legacy terrain.
Streaming Data
Data is streamed from the disc as needed, so you can have very large terrains without exceeding your memory. Both geometry and texture data are loaded on the fly.
Accurate Collision
What is rendered is what is collided against, so you get full interaction support for anything Atlas can render - overhangs, gaps, ditches, and so on. As the toolset for this engine matures, it will be possible to actually create such terrains. But the runtime as of now supports this sort of topology.
Compressed Textures
Atlas fully supports industry-standard DXT texture compression. It compresses offline for maximum quality, pregenerates mipmaps for minimal CPU usage at runtime, then streams it directly into GPU memory.
Ok, I'm going to a party. I'll be back online later tonight to check up on things, and will be around during the weekend as well. Thanks for being so patient with me! :)
#2
05/27/2005 (6:50 pm)
Sweet!!!!!!!
#3
05/27/2005 (6:57 pm)
Bloody hell! :D No sleep tonight! Have a great party Ben, I sure will :)
#4
05/27/2005 (8:08 pm)
Words are inadequate....:)
#5
05/27/2005 (8:30 pm)
I'm back, for the moment. Anyone got it running yet? :P
#6
05/27/2005 (9:22 pm)
Wow, updating with CVS to check this out...
#7
So far this looks really awesome! Great job once again :)
05/27/2005 (9:26 pm)
Got it running. The initial loading hight adjustment is kinda interesting. I did have an initial crash when flying over the terrain, but subsequent runs are not crashing.So far this looks really awesome! Great job once again :)
#8
The initial loading is due to geometry paging in. Unfortunately, the existing resource load sequence in Torque doesn't have a good way for me to precache the data to avoid the loading. That's something that will definitely get revisited/fixed later on...
05/27/2005 (9:52 pm)
Thanks. :)The initial loading is due to geometry paging in. Unfortunately, the existing resource load sequence in Torque doesn't have a good way for me to precache the data to avoid the loading. That's something that will definitely get revisited/fixed later on...
#9
Btw, are you likely to release a precompiled version of TSE when MS2 is officially completed?
05/27/2005 (10:40 pm)
What would happen if the end user did not have enough free disk space to load the entire terrain/landscape? Would it be loaded in blocks, or would certain parts of the map be inaccessible to them?Btw, are you likely to release a precompiled version of TSE when MS2 is officially completed?
#10
I imagine a precompiled version of TSE will be made available when we hit 1.0. You'd have to ask Brian about a MS2 binary. I'm guessing not. We're checking in major new fixes on a regular basis - what would be the point of encouraging people to use old, potentially broken or slow code?
05/27/2005 (10:51 pm)
Free disk space? Nothing is paged TO the hard drive/CD/whatever; things are only paged FROM. We're talking about a read-only operation here.I imagine a precompiled version of TSE will be made available when we hit 1.0. You'd have to ask Brian about a MS2 binary. I'm guessing not. We're checking in major new fixes on a regular basis - what would be the point of encouraging people to use old, potentially broken or slow code?
#11
05/27/2005 (11:26 pm)
Great work Ben, it definetly looks interesting.
#12
Thanks, Nick.
05/28/2005 (1:44 am)
This is great news Ben! Been checking everyday for updates...I guess now would be a good time to start porting from TGE. I'll have to check it out later in the day though, behind a firewall now.Thanks, Nick.
#13
05/28/2005 (1:58 am)
Mmmmmm now I'm getting even more excited about TSE.... *grumbles something incoherent about Linux support and not being able to play with his TSE early-adopter's licensed product but quickly quiets down while staring at the screenshot*
#14
And the 100MB separate download terrain looks even better :)
Edit: In case anyone wonders its the 81.3Mb zip (unzips to 100Mb)
05/28/2005 (3:12 am)
The new demo terrain looks great!And the 100MB separate download terrain looks even better :)
Edit: In case anyone wonders its the 81.3Mb zip (unzips to 100Mb)
#15
I get this error in Debug -> Goddammit! (platformmemory.cpp 934)
05/28/2005 (3:20 am)
Work great in Release. I get this error in Debug -> Goddammit! (platformmemory.cpp 934)
#16
The second time, it crashed with an errormessage. I'll run a debug version to see where it stops.
Tried it again, releasemode. Worked wonders, no crash anywhere. The terrain looked screwed up when I first entered, but was corrected gradually pretty fast.
Now, I tried the debug build.. Got nasty errors.
Then I get the Program Fault error (the windows one)
When asking the debugger where it stopped, it shows me a portion of platformmemory.cpp @ #559
I also have pretty bad performance.. so I went into the waterblock and switched "full reflections" to false.
Now it crashes 100% of the time.
I'm gonna update the dxsdk to the february release.. hope it helps.
05/28/2005 (3:43 am)
In releasemode, the first time I started the demo it hanged.The second time, it crashed with an errormessage. I'll run a debug version to see where it stops.
Tried it again, releasemode. Worked wonders, no crash anywhere. The terrain looked screwed up when I first entered, but was corrected gradually pretty fast.
Now, I tried the debug build.. Got nasty errors.
Quote:
Fatal at profiler.cpp @ #321
Stack underflow in profiler. You may have mismatched PROFILE_START and PROFILE_ENDs
Then I get the Program Fault error (the windows one)
Quote:
Unknown software exception (0xc00000fd)...
When asking the debugger where it stopped, it shows me a portion of platformmemory.cpp @ #559
if(w->left->color == Black && w->right->color == Black)
I also have pretty bad performance.. so I went into the waterblock and switched "full reflections" to false.
Now it crashes 100% of the time.
I'm gonna update the dxsdk to the february release.. hope it helps.
#17
I asked about precompiled binaries as many of us chose TSE solely for the increased terrain size and/or have had no prior need to use Visual C or the DirectX SDK (which can be a pain in Win 98).
Thank you for all the hard work you've put in.
05/28/2005 (4:30 am)
Ben: Sorry, I thought that the phrase "Supports landscapes of arbitrary size, bounded only by disk space" meant that additional disk space was required after installation for temporary files containing precalculated data.I asked about precompiled binaries as many of us chose TSE solely for the increased terrain size and/or have had no prior need to use Visual C or the DirectX SDK (which can be a pain in Win 98).
Thank you for all the hard work you've put in.
#18
Where do I find this seperate download???
05/28/2005 (5:28 am)
"And the 100MB separate download terrain looks even better :)"Where do I find this seperate download???
#19
LINK : warning LNK4098: defaultlib 'LIBCMT' conflicts with use of other libs; use /NODEFAULTLIB:library
... I report back once I've actualy seen it in game.
05/28/2005 (5:34 am)
I got this linker error when compiling in Debug(Release worked perfect :D):LINK : warning LNK4098: defaultlib 'LIBCMT' conflicts with use of other libs; use /NODEFAULTLIB:library
... I report back once I've actualy seen it in game.
#20
Edit: Just realised you guys didn't update the web one.. taking a look at the CVS one now, thanks.
05/28/2005 (6:21 am)
Ben, there's also no new chapter in the documentation about this. At least not in the documentation you get to when clicking Torque Shader Engine, and then TSE Documentation.Edit: Just realised you guys didn't update the web one.. taking a look at the CVS one now, thanks.
Torque Owner John Vanderbeck
VanderGames