• Announcements

    • khawk

      Download the Game Design and Indie Game Marketing Freebook   07/19/17

      GameDev.net and CRC Press have teamed up to bring a free ebook of content curated from top titles published by CRC Press. The freebook, Practices of Game Design & Indie Game Marketing, includes chapters from The Art of Game Design: A Book of Lenses, A Practical Guide to Indie Game Marketing, and An Architectural Approach to Level Design. The GameDev.net FreeBook is relevant to game designers, developers, and those interested in learning more about the challenges in game development. We know game development can be a tough discipline and business, so we picked several chapters from CRC Press titles that we thought would be of interest to you, the GameDev.net audience, in your journey to design, develop, and market your next game. The free ebook is available through CRC Press by clicking here. The Curated Books The Art of Game Design: A Book of Lenses, Second Edition, by Jesse Schell Presents 100+ sets of questions, or different lenses, for viewing a game’s design, encompassing diverse fields such as psychology, architecture, music, film, software engineering, theme park design, mathematics, anthropology, and more. Written by one of the world's top game designers, this book describes the deepest and most fundamental principles of game design, demonstrating how tactics used in board, card, and athletic games also work in video games. It provides practical instruction on creating world-class games that will be played again and again. View it here. A Practical Guide to Indie Game Marketing, by Joel Dreskin Marketing is an essential but too frequently overlooked or minimized component of the release plan for indie games. A Practical Guide to Indie Game Marketing provides you with the tools needed to build visibility and sell your indie games. With special focus on those developers with small budgets and limited staff and resources, this book is packed with tangible recommendations and techniques that you can put to use immediately. As a seasoned professional of the indie game arena, author Joel Dreskin gives you insight into practical, real-world experiences of marketing numerous successful games and also provides stories of the failures. View it here. An Architectural Approach to Level Design This is one of the first books to integrate architectural and spatial design theory with the field of level design. The book presents architectural techniques and theories for level designers to use in their own work. It connects architecture and level design in different ways that address the practical elements of how designers construct space and the experiential elements of how and why humans interact with this space. Throughout the text, readers learn skills for spatial layout, evoking emotion through gamespaces, and creating better levels through architectural theory. View it here. Learn more and download the ebook by clicking here. Did you know? GameDev.net and CRC Press also recently teamed up to bring GDNet+ Members up to a 20% discount on all CRC Press books. Learn more about this and other benefits here.
Sign in to follow this  
Followers 0
dchavez999

Crysis' voxel-based terrain engine

21 posts in this topic

Hey, Those of you that have seen the GDC07 demo of the CryEngine 2 Sandbox Level Editor may have noticed that they said that the terrain system they are using is voxel-based (like the old Outcast game), thereby allowing them to create detailed terrain features like overhangs and caves via a terrain 'brush' in the editor. It looks amazing! I was wondering if anyone had any recent links to papers describing how such terrain could be implemented? Specifically how to efficiently tesselate a 3d voxel grid for modern GPUs? Thanks :-)
0

Share this post


Link to post
Share on other sites
To achieve the visualization of large voxel volumes, there are many ways.

The following methods are designed to visualize large polygon meshes. However, in case that all voxels are converted to polygons by marching cubes or a similar algorithm before, its about equal.

[1] Adaptive TetraPuzzles - Efficient Visualization of Gigantic Polygonal Models

[2] GoLD: Interactive Display of Huge Colored and Textured Models

[3] HLODs for Faster Display of Large Environments

[4] Far Voxels - A Multiresolution Framework for Interactive Rendering of Huge Complex 3D Models on Commodity Graphics Platforms

Alternatively, the two following methods are usable directly on voxels:

[5] Interactive View-Dependent Rendering of Large IsoSurfaces

[6] Visualization of Large Isosurfaces Based on Nested Clipboxes

I'm not sure which method they used - but I guess it will be either [2] or [3], as they are the most practical for the game-industry. All meshes can be pre-computed and rendered as static meshes without much CPU cost.

Here other related links to other voxel-based terrain engines:
Iehova (by Peter Venis)
Hvox (by me)
Voxlap (by Ken Silverman)

Oh,btw - here a video from the GDC07 where it is shown.
http://www.gametrailers.com/umwatcher.php?id=47885

Greez, Sven

Sven Forstmann
http://www.p0werup.de

[Edited by - spacerat on April 2, 2009 12:07:33 AM]
1

Share this post


Link to post
Share on other sites
Quote:
Original post by spacerat
To achieve the visualization of large voxel volumes, there are many ways.

The following methods are designed to visualize large polygon meshes. However, in case that all voxels are converted to polygons by marching cubes or a similar algorithm before, its about equal.


Careful! Isnt Marching Cubes patented? ;)

I remember the Delta Force series also used a voxel engine, maybe you can find a post-mortem of some sort.

0

Share this post


Link to post
Share on other sites
As far as I remeber, the patent expired this year or already the last one.
However, its just an example - there are many alternative ways for the conversion like this one, which are not patented.
0

Share this post


Link to post
Share on other sites
The crysis engine uses something similar to marching cubes to build bit's of geometry to put in holes made the big heightmap, it is actually something you could have done by hand in the first engine, so in theory it's nothing uncommon or even that advanced, but their implementation of it is pretty sweet.
0

Share this post


Link to post
Share on other sites
Does anybody think this will be the next new rendering method for terrain? Seems pretty slow to me, plus I'm sure in all their demo videos of Crysis they're running it on the Intel Dual Core X6700 or the Quad Core 6800 with an Nvidia 8800, which we all don't have.
0

Share this post


Link to post
Share on other sites
I don't see why not. It allows for completely destructible terrains with overhangs, caves and cliffs, appears to lend itself to existing terrain LOD algorithms such as clipmaps and I can only imagine how good it would look combined with id's MegaTexture. [smile]

FYI, GraphicsDev.net is holding a discussion on Crysis Technology Breakdown tomorrow (more info here)
[smile]

Sven, I remembering seeing your volumetric terrain screenshots ages ago on Flipcode IOTD, seriously impressive stuff

All the Best,
ViLiO
0

Share this post


Link to post
Share on other sites
I just watched the following video from GDC
http://www.crysis-online.com/video_downloader.php?dir=/video/SD/(Crysis-Online) GDC 2007 Sandbox Demo 2.wmv

And it doesn't seem like they use a voxel approach for their entire terrain. It seems they only render small pieces of the terrain using a voxel method and the rest is still a regular heightmap. If anybody has watched the video, am I wrong?
0

Share this post


Link to post
Share on other sites
yeah, I think you're right - looks like they've augmented the CryEngine terrain renderer with a voxel component for drawing small chunks of terrain to handle natural terrain features. Makes sense, and gives the best of both worlds.
0

Share this post


Link to post
Share on other sites
How is having voxel based sections better than having arbitrary mesh based pieces?
0

Share this post


Link to post
Share on other sites
I would think its better b/c its completely dynamic and storing voxel information takes up much less disk space than a mesh. Plus, its seems it would be much easier to sculpt in the editor, since you're only modifying single values in a 3d volume stating whether that particular point is solid or not.
0

Share this post


Link to post
Share on other sites
Quote:
Original post by soconne
.. storing voxel information takes up much less disk space than a mesh.


Thats true - for example by compressing the volume using run-length encoding, the data size can be kept very moderate.
0

Share this post


Link to post
Share on other sites
Quote:
Original post by Rompa
I wonder how they texture it then?


Related to this, has anybody seen the Making-Of of NVidia's cascades demo on the GDC ? Maybe they unveiled something about texture mapping for iso-surfaces. Or is there even a video somewhere available ?
0

Share this post


Link to post
Share on other sites
Actual free-formed terrain is not really complicated, I think. It's just the many detail problems in keeping the mesh consistent among all possible detail situations that can cause a lot of work. Texturing is a different topic, though. I haven't found a way to texture large meshes automatically. The NVidia demo looks like they have solved this issue... anyone has an idea how they achieved this?
0

Share this post


Link to post
Share on other sites
Texturing seems it could be pretty easy. All you would need is the vertex position and the normal. Then in the shader, you could calculate texture coordinates based on just those pieces of data. Correctly lining up the texture to match where it is on the terrain is done through the vertex position. Then deciding which texture to use could be done with the normal. I've seen it done this way in some of the sites demos that were listed above.
0

Share this post


Link to post
Share on other sites
Quote:
Original post by spacerat
Quote:
Original post by Rompa
I wonder how they texture it then?


Related to this, has anybody seen the Making-Of of NVidia's cascades demo on the GDC ? Maybe they unveiled something about texture mapping for iso-surfaces. Or is there even a video somewhere available ?


nVidia's presentations from GDC '07

HellRaiZer
0

Share this post


Link to post
Share on other sites
I've heard that Crysis uses one of these new features of DX10: There are these "geometric shaders" which generate new vertices each frame.
Look also http://www.atomicmpc.com.au/article.asp?CIID=73893

Maybe crysis renders a simplificated terrain mesh with displacement maps by using some geometric shaders. The other LOD stories with Octrees could be used additionally.

I've found also a cool technical note:
http://www.behardware.com/news/lire/21-02-2006/
0

Share this post


Link to post
Share on other sites
They have regular heightmap terrain, at at places they can enable voxel based *editing* to produce arbitrary meshes.
I highly doubt the voxels exists anywhere but in the editor phase at all.
The most usefull part of this feature is the freedom for level designers, who can replace modellers and create arbitrary meshes - that's the main point of the feature I think. And it is huge.
0

Share this post


Link to post
Share on other sites
Quote:
Original post by ViLiO

FYI, GraphicsDev.net is holding a discussion on Crysis Technology Breakdown tomorrow (more info here)
[smile]


Any logs?
0

Share this post


Link to post
Share on other sites
Quote:
Original post by Steadtler
Careful! Isnt Marching Cubes patented? ;)
No. Patent timed out ~2005.

0

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!


Register a new account

Sign in

Already have an account? Sign in here.


Sign In Now
Sign in to follow this  
Followers 0