Slashdot Mirror


Voxel/Polygon Accelerator

G. Waters writes: "Ars Technica writes that "3DLabs and Real Time Visualization have teamed up to design an accelerator that accelerates both voxels and polygons in the same scene." A link to the announcement can be found here. Perhaps voxels will become more mainstream with similar developments." I'm still waiting for the cards with accelerated bezier patches, but this is cool too. *grin*

16 of 153 comments (clear)

  1. Re:Voxel, for those that don't know.. by eval · · Score: 5
    That definition is only partially correct. Unfortunately, it falls into one of the oldest mental traps of the graphics world, thinking of pixels as squares and voxels as cubes.

    Pixels and voxels are zero-dimensional samples of some 2D image or 3D volume. Thinking about them as squares, gaussian splats, or something other than samples is the path to the Dark Side.

    For more info, read Alvy Ray Smith's Tech Memo, "A Pixel is Not a Little Square, a Pixel is Not a Little Square, a Pixel is Not a Little Square! (And a Voxel is Not a Little Cube)" available here.

  2. An old Apache game... by ceswiedler · · Score: 3

    no, not apache the web server, but a helicopter-sim game for the PC several years ago, had voxel-based rendering. I remember the lead programmer saying that they had constructed simple shapes for the landscape, then used an erosion simulator to wear away the voxels. Take a flat surface, run a "river" through it, and calculate which voxels are removed. That's something you can't really do with polygons.

    It generated much more realistic landscapes than anything else at the time. Does anyone remember the title?

  3. Wordenstein 3-D by Mike+Schiraldi · · Score: 3

    Pointless unless you're gaming or rendering...

    On the contrary, i use voxels for word processing.
    --

  4. Re:Pointless unless you're gaming or rendering... by CIHMaster · · Score: 3

    And guess who it's geared for?

    That's right! Gamers and CG people! Really, the more we can dump on hardware for those who need it, the more useful everything is. Useful, that is, to those who want/need it.

    I want hardware based disk compression (do any hds do this already?)!

  5. Re:Pointless unless you're gaming or rendering... by SlaterSan · · Score: 4

    This voxel acceleration isn't even being pushed for gaming. It's being pushed for Augmented/Virtual Reality surgery and oil drilling types of applications. Sure it'd be nice to have a voxel accelerator so when you blow some guys arm off in a game you can see chuncks fly correctly, but it's more important for other applications. I do research in AR and the fast the accelerator the better. We've already hit walls with $1400 OpenGL accelerators. Sure gaming is nice, but put on a head mounted display and try to make CG things look like they're in the real world and you'll see that acceleration has PLENTY of room to grow.

    Links for those interested in AR:
    rit.edu
    Media Lab
    The Navy

    There are plenty more out there also. VR stuff looks fine for now, but when you're trying to make CG stuff look like real world stuff and have it line up with real world objects you can use all the acceleration you can get. Untill CG looks real we're not there yet.

  6. Re:Bezier patches by tolldog · · Score: 4

    Instead of knocking out the cobwebs, I will give you the links that I learned from.
    bezier patches

    Bezier curves

    Nurbs

    What it boils down to is an easy way to store a curved data set. The display part is trickier... and that is where the acceleration would be nice.
    If you had a curved object, you could break it into poly's and have all the triangle points stored in memory or you can have the control points (and the weights if used) stored in memory.

    Obviously the math for the poly's are faster but the display isn't as smooth (Such as Quake 2). With bezier patches, the display takes more math but is smoother because you are representing curves and not lines.
    When it is all said and done, the math isn't too bad, it is just additional math that needs to be done at 30+ fps.

    --
    -I just work here... how am I supposed to know?
  7. Re:An honest question... by codemonkey_uk · · Score: 3
    They are just orders of magnitude more expensive than polygons, that's all.
    No they are not. They are significantly less expensive than polygons.

    The problem is that a single voxel only models a single point in 3d space, where as a polygon can model a whole surface. Using voxels can be more expensive than using polygons because you often need many more of them to model a given subject (when viewed close up).

    This development is signficant because voxels come into their own when viewed from such a distance that a single voxel/polygon is reduced to a few pixels or less. For example, landscape rendering. This development gives the developer the flexability to render voxels in the distance, and switch to polygons (which provide more detailed visul information, but are more expensive to render) for close to the cammera.

    Thad

    --

    Thad

  8. Outcast by bartok · · Score: 3

    Outcast (http://www.outcast-thegame.com/) was released last year and it's based on a voxel engine. It's the best adventure game I ever player and if you can stand a little pixelation, it's graphics look like what Quake 6 will probably look...

  9. What's an accelerated bezier patch ? by Salsaman · · Score: 5

    Is it something that helps you give up smoking quicker ?

    1. Re:What's an accelerated bezier patch ? by superlame · · Score: 3

      An accelerated bezier patch just means that the hardware can draw bezier patches rather than just polygons. Currently, if you want bezier pathes (like the curved surfaces in Quake 3) you have to tesselate the patch into a set of polygons before the accelerator card can rendering it. The tesselation takes a lot of CPU power, so having a video card do it would be a great speed improvement. It would mean that the animated characters in games don't have to keep being so blocky.

      --
      -- Superlame http://catpro.dragonfire.net/joshua/
  10. Voxel, for those that don't know.. by molo · · Score: 3


    > dict voxel
    1 definition found

    From The Free On-line Dictionary of Computing (15Feb98) [foldoc]:

    voxel

    <jargon> (By analogy with "{pixel}") Volume element.

    The smallest distinguishable box-shaped part of a
    three-dimensional space. A particular voxel will be
    identified by the x, y and z coordinates of one of its eight
    corners, or perhaps its centre. The term is used in three
    dimensional modelling.

    (10 Mar 1995)

    --
    Using your sig line to advertise for friends is lame.
  11. Re:An honest question... by Evangelion · · Score: 5


    Pose the question like this : are raster graphics somehow superior to vector graphics?

    At one point, video games were done with vector graphics (Tempest was the most memorable =) beacuse raster graphics were too expensive computationally to do. Once they were possible, much more freedom was allowed.

    Polygons are basically vector graphics in 3d - an approximation generated by drawing lines through space to simulate the construction of objects. Whereas voxels are much more like pixels - you choose a resolution, and then you fill in each 3d point with a colour. They are just orders of magnitude more expensive than polygons, that's all.

    The advantages? More freedom and realisim in what can be designed.

    --

  12. Spline based rendering by grahamsz · · Score: 3

    I'm not sure here but i'm fairly suspicious that the original nv1 graphics processor (found on the diamond edge 3d series) rendered splines instead of polygons. I had one about 5 years ago and for the 2 games that were actually written for it it was quite impressive.

    From what I recall they went back to polygons because they were easier and you could create a better impression just using a lot of poly's.

  13. Re:An honest question... by iapetus · · Score: 3

    That's a slightly inaccurate answer, because you don't mention any of the disadvantages of using voxels.

    The main disadvantage comes when you choose to view the shape at a higher resolution that that which it was created at. With a polygon (or other surface type) based model you still get a smooth image. With voxels, unless you're doing something clever to approximate the effect (which still won't work as well as using a surface definition), you don't. If you're generating your textures procedurally then you can zoom into a surface-based model as far as you like, whereas with a voxel based model eventually you'll end up with a single voxel filling your screen. Yum.

    Both have their uses, and some games software in the past has used both (hey, there's a reason this card is supposed to be able to do both simultaneously, you know...), but to imply that voxels are somehow better than polygons is, IMHO, more than a little misleading.

    --
    ++ Say to Elrond "Hello.".
    Elrond says "No.". Elrond gives you some lunch.
  14. Not a flame, but... by AstynaxX · · Score: 3

    It's been said before, quite often, that /. isn't just for group X. You don't game, fine, that's your choice, live long and prosper, etc. etc. But many of us on /., myself included, enjoy a good fragfest every so often, or like a detailed flight sim, etc. etc. So stuff like this is interesting to us. Also, having seen 3D surgical applications in action here at my University, a card with the capabilities they describe could be very useful to the medical and scientific communities. So, really, its gaming, rendering, training, experimenting, simulating, teaching, etc. Not for Joe Average maybe, but far from pointless.

    -={(Astynax)}=-

    --
    -={(Astynax)}=-
    "Darkness beyond Twilight"
  15. Re:An honest question... by Anonymous Coward · · Score: 4

    That depends entirely on what you are trying to do.

    Most games & CAD systems are polygon based because what you see and work with are surfaces, which polys are ideal to represent. Another advantage is that efficient polygon rendering is pretty easy to implement.

    This changes when you are looking at volumetric data - this can be anything from medical scans to computational fluid dynamics results.

    Volume rendering with "standard" 3d hardware is quite a rich research topic at the moment, but there are a few ways to do it.

    1. Isosurface extraction - you have a field of, say, temperature values and you decide to pull out a surface at t=100 centigrade. You can use an algorithm such as "marching cubes" or "marching triangles" to give you a mesh that corresponds to the value you are looking for.

    The problem is that this is expensive and you get *lots* of polygons. This is one of the reasons why "high end" boards are good for millions of tiny polygons, but fall flat when asked to do "game" type work.

    2. "splatting" - this is where you just draw semi-transparent blobs where "active" voxels are and get some kind of image out. It is more complex than that (of course), but you vcan get good images.

    3. Cunning stuff involving stencil buffers & 3D textures - there is a paper in siggraph proceedings from (i think) '98 or '99 that covers this. I didn't really get it to be honest.

    The trouble with these approaches is that they are really just tortuous ways of visualising information that you would be able to just see if you could render your volume directly. Surface reconstruction is simple, but can take ages. Other algorithms are tricky to write & debug.

    One final note is that 3D labs do some of the more fully featured accelerators, some of which support 3D textures. I would not be surprised if the volume representation was tied to texture memory in some way. Certainly 3D texture/voxel compression algorithms would be a likely place to start sharing technology.

    And in answer to your question: polygons and voxels are both better, depending on what you want to do with them.