A.D.A. Amiga Demoscene Archive

        Welcome guest!

  

  

  

log in with SceneID

  

Demos Amiga Demoscene Archive Forum / Coding / How did TBL create the voxel data for Ocean Machine.

 

Author Message
uzo
Member
#1 - Posted: 4 Jun 2007 01:16
Reply Quote
My first post here. Hello all.

I've been coding on the Amiga a long, long time ago, and still have my old 1200/030/50MHz lying around. I prefer using UAE, safes me the hassle of having to setup that machine again (it's got a broken DF0: and my HD burned down :( ). As such, I'm not coding on the Amiga anymore, although lately I've been thinking about getting back on board.

For my coding efforts in another language on another platform I've been very much interrested in building my own voxel engine, but I have no clue where to get or how to create voxel data. TBL did a fantastic job with Ocean Machine, and the scene's are beautifull. I figured out Kalms is hanging around here, so I'm wondering if I could get a hint on how to create such data. I'm figuring that the data is first created in a more traditional 3d format and then pulled through a converter which slices that scene into voxel data ? What software ? Is it custom ? Hint ?
rload
Member
#2 - Posted: 4 Jun 2007 11:39
Reply Quote
I think they had their own tool. Louie made insanely hires scenes with lots and lots of polys and then these were run through and converted to voxels using some scheme. Maybe intersection of the entire scene with a stack of planes? Sounds like a lot of work.

The easiest way would be to subdivide the scene by insane amounts and converting the vertices to voxels.
Toffeeman
Member
#3 - Posted: 4 Jun 2007 12:43
Reply Quote
I'm sure on the Mindy Candy 2 DVD Kalms says he used Terragen to initially create the landscape data. Then he said he had to reduce the polygon count to get it to run at a decent FPS in his demo.

http://www.planetside.co.uk/terragen/
http://www.mindcandydvd.com/
rload
Member
#4 - Posted: 4 Jun 2007 12:47
Reply Quote
For the voxel scenes in Ocean Machine? Sure you're not referring to Silkcut's snow landscape?
Toffeeman
Member
#5 - Posted: 4 Jun 2007 13:21
Reply Quote
Your right rload !
rload
Member
#6 - Posted: 4 Jun 2007 20:46
Reply Quote
winden
Member
#7 - Posted: 4 Jun 2007 21:40
Reply Quote
You just have to code a 3d polygon rasterizer, which scanlines a polygon into a 3d screen instead of a 2d one. This way your artists can use the same tools they always use (lightwave + lighting texture baking for example).

Mind you the 3d screen should use interleaved addressing else your cache will go down the drain.

BTW i can't remember any discussions on how these ocean machine voxels are actually rendered realtime... some sort of raycasting is the obvious choice until you realise it's not going much slower than the usual polydrawing...
z5_
Member
#8 - Posted: 4 Jun 2007 21:44
Reply Quote
@rload: really great stuff. Is terragen some sort of modern Vista? I was fascinated by Vista back in the good old days.
Toffeeman
Member
#9 - Posted: 4 Jun 2007 22:55
Reply Quote
Toffeeman
Member
#10 - Posted: 5 Jun 2007 01:38
Reply Quote
Check out the landscapes in upcoming PC game Crysis

http://www.bit-tech.net/content_images/crysis_new_ screenshots/crysis17_large.jpg
doom
Member
#11 - Posted: 5 Jun 2007 09:29
Reply Quote
Recursive subdivision is probably the easiest way to get voxel data from a mesh. JSYK. ;)

Also lets you play with variable resolution and stuff.
Kalms
Member
#12 - Posted: 5 Jun 2007 16:12
Reply Quote
We do 'polygon rendering'. The main difference between an ordinary polygon renderer and the one used for voxel rendering, is that the polygon renderer is now writing voxels into a 3D array (instead of writing pixels to a 2D array).

We render once along each axis, with orthogonal projection. This removes the holes in the polygons.

Then we do visibility precomputations and LOD generation straight on the 3D array.

 

  Please log in to comment

  

  

  

 

A.D.A. Amiga Demoscene Archive, Version 3.0