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*
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.
I think you mean "vowels," No? :)
-Vercingetorix
-Vercingetorix
"Necessitas non habet legem." -St. Augustine
so..umm...what is one? you seem to know... What advantages do they provide? What are nurbs and what do they provide?
---
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?
Pointless unless you're gaming or rendering...
On the contrary, i use voxels for word processing.
--
--
Mod up a post Rob doesn't like and you'll never mod again
While perusing other issues, I recall reading about a voxel-based 3/4 view helicopter game made for the Amiga. It sounded quite interesting, because it also allowed for realtime landscape deformation. You could blow a huge hole in the ground to force the enemy someplace else where you had a more strategic advantage. It sounded quite neat. I also can't remember the name. Plus I'm not even sure it's what you're talking about ;)
Just thought I'd share...
I'm waiting for the hardware companies to start using more intelligent bus systems like I2O (over PCI or multiple AGP) to allow for new and improved systems.
For gamers, this could mean a 3D card that stores scene description data and allows the sound card and video card to intercommunicate with it, doing co-rendering (one card handles the scene itself as a mathematical entity, the others handle mapping the sounds and/or images).
These types of interactions between hardware are difficult because of competition, of course.
- Michael T. Babcock (Yes, I blog)
don't flame, I don't game...
there's not too much point to accelleration. memory yes, but accelleration for desktop machines that are used for practical purposes besides rendering is worthless... I think we're going to hit critical i-dont-care faster with video cards than with cpus.
critical i-dont-care being the point where it doesn't matter anymore what is in your system
______
everyone was born right-handed, only the greatest overcome it.
http://leftorium.net
--
Pixel: picture-element
texel: texture-element
voxel: volume-element
Have a nice day!
-----
Obviousness is always the enemy of correctness. -- Bertrand Russell
In any case, show me a monitor that does correct 2D reconstruction of an image from these samples. Can't? That's because it doesn't exist. In 1D audio processing there are known ways to reconstruct the 1D "image" given the samples. There is no such postprocessing on any modern monitors. And all this image processing stuff tacitly assumes there is. Ergo, again, it is not applicable.
To ram the point home, remember that "little square" and "sample" are just two MODELS of limited applicability in different situations. Mankind DOES NOT HAVE a model for image processing which is in any way "correct".
Calling it the "path to the Dark Side" is just silly.
--
It's a
-- Danny Vermin
Seriously, the use of polygons in graphics have not really done games any favours. Instead of having slow, but textured, graphics, we now have fast but clumsy & low-res graphics, instead.
IMHO, I'd rather have the quality than the quantity.
It's a small world and it smells funny; I'd buy another if it wasn't for the money; Take back what I paid (SoM)
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?
It's interesting to note that bilinear filtering and trilinear filtering are exactly the proper point sampling scaling techniques now implemented in all 3D cards that this fellow talks about when discussing how images should be scaled up for use on a monitor.
Think how much better textures look in Quake 2 and 3 when they are properly sampled with their neigbours and blended for use on the walls, rather than just pixel replication (like walking up to a wall in Doom and seeing a square of some ugly, solid) colour. Although there are still other ways to make the image quality look worse (compare how the blood/smoke clouds look on a Voodoo2 or a Voodoo5 vs. the square-ish-grid-look that seems to be inside them on an nVidia chipset [at least on the NV3, NV4, and NV5 chips ]:-)).
---
--
Internet Explorer (n): Another bug -- that is, a feature that can't be turned off -- in Windows.
#define GLAMATRON_IS_NOT_AN_EXPERT
#include <grain_of_salt.h>
/* hopefully if I got it wrong, someone will correct me */
I believe NURBS is an acronym for Non-Uniform Reticular B-Splines. B-Spline in turn is, I think, bilinear spline. Bilinear I think means that it's got 2 dimensions in which it extends. Of course, since it's curved, it takes up 3 dimensions.. like a piece of cloth. Whereas a normal spline would be like a piece of string. Bezier curves are a form of spline. I would guess that bezier patches are the 2D extension thereof.
Anyway, splines are a mathematical way to describe smooth curves that change direction a lot. (well, I guess you _could_ describe a hyperbola with splines, but you'd be better off just saying x = 1/y) So, when you take the spline model and extend it into 2 dimensions, you can make nifty curved surfaces like automobile bodies or rippled water or flux capacitance diagrams.. all with a relatively low number of control points.
Of course, the process of turning a bunch of control points into a matrix of really small triangles takes quite a bit of floating point math.. so it would be way cool for it to be accelerated in hardware. What would be even cooler would be for the hardware to translate it directly into hundreds or thousands of projected pixels.
That says more about the limits of applied mathematics than it does about neurons. When your only tool is a hammer, everything looks like a nail. Corollory: when your only tool is the Fourier transform, everything looks like a sinewave.
--
It's a
-- Danny Vermin
Voxels in consumer products can actually prove to be useful. Treating things with actual mathematical volume and substance can add to the realism of 3D environments like water and the like, things act differently as they pass through such things where in Quake you just define different universe properties to a certain area. A boulder as a three dimensional construct could have better physical properties, large enough that Lara Croft's mass couldnt easily move it, said boulder could also be blown up without storing a 3D model for the smaller pieces of rock.
I'm a loner Dottie, a Rebel.
I was just thinking. I read a SIGGRAPH paper about adaptive voxels for real time fly-overs.
The idea was to swap voxels for when the objects get nearer to the camera.
A system could be used like this where voxels are used on all objects that need little detail far away and polygonal objects are swaped in when the object is near.
Just another idea from a sleep deprived soul...
-I just work here... how am I supposed to know?
On the down side, there are some limitations in the current card: no perspective projection (needed for applications like virtual endoscopy) and no way to mix surfaces with volume data (needed for surgical simulation, etc). That's why this news is exciting for us medical folks. As far as the rest of you (gamers, etc), my feeling is that if you build it, they will come. When it gets to the point that voxel data and surface data are handled by the same chip on a $200 video card with 1gig of memory, the game makers will use it.
Consider, for instance, a non-ideal reconstruction filter on an audio channel. This distorts the output. Now you are saying that the input is still a point sample, but the output is distorted. This is totally the wrong way to view things. The output is "correct" - a priori. That's what you hear. There is no way to tell your ears that the actual physical output is somehow "wrong", and instruct your ears to hear the correctly-reconstructed version ... your ears hear what they hear.
In which case, we have to push the interpretation back up the line, and ask the question: if this is what my signal gives me through this reconstruction filter, then what signal would give the same results through perfect reconstruction?
And THAT is the definition of what your samples mean. Therefore, the samples are only point samples if the reconstruction filter is ideal. We like reconstruction filters to be close to ideal, PURELY so we can use the point sample model, because it's much easier than any other sampling model.
This is a somewhat moot point in audio theory, since you can get arbitrarily close to perfect reconstruction; however in image processing the reconstruction filters are nowhere NEAR ideal. Therefore, it is necessary to reinterpret your number sequence as something other than point samples. Unfortunately, this doesn't fit into image processing's usage of 18th-century mathematics, so it's not even ACKNOWLEDGED by teachers of the subject - of course; when you're teaching Newtonian Dynamics you don't waste time explaining that all of it is actually incorrect.
As to the idea that an image can be "bandlimited" - I reject that idea as plain nonsense. It works mathematically, but gives (as you say) visually impaired results in practice. Images just aren't made from frequencies in the same way that sound is. They just aren't.
So, 2D signal processing is a field well-grounded in irrelevant mathematics that doesn't work in pratice. In terms of reconstructing images from samples, it's NOT provably correct, unless you take on board this ridiculous and counter-intuitive idea that images can somehow be "bandlimited". They can't!
I'm not saying that 2D image processing isn't a useful field. It clearly is; using 2D image processing ideas you can do high-quality work. BUT it is totally incorrect to try and force this MODEL from image processing down people's throats, when the MODEL is demonstrably not reality.
Or, as Stroustrup puts it in "Design and Evolution of C++": If the map and the terrain differ, trust the terrain.
--
It's a
-- Danny Vermin
I meant proper as in "better than how Doom scaled up pixels," rather than "proper for best possible image quality."
:-)
You are right. I still think it's an alright tradeoff at this point, at least until anistropic filtering gets implemented in hardware
---
--
Internet Explorer (n): Another bug -- that is, a feature that can't be turned off -- in Windows.
Vogon Accelerator.
Such is the infinite Grace of Popeye.
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...
What is it lately? Are the drug cartels offloading a whole load of cheap crack at the minute?
Strong data typing is for those with weak minds.
Strong data typing is for those with weak minds.
Is it something that helps you give up smoking quicker ?
> 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.
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.
Chevy Nova was discontinued in 1987. From 85-88 it was a rebadged Toyota Corolla, not Tercel. In 88 the Geo line came out, they made the Corolla into the Geo Prizm. Then they dumped the Geo name (wonder why), and no longer sell rebadged Corollas, and the Geo Tracker, Metro -> Chevy Tracker, Metro. Long before that the Nova was a bigass car.
---
I am the dot in slashdot.org
They're actually "surfaces of elevation". But Novalogic, starting with their ground breaking Comanche game, abused the terminology, and called their clever rendering method for surfaces of elevation "Voxel Space[tm]". (They tried to patent it too.) The terminology stuck.
Whatever. In 5 years surfaces of elevation will rule the 3D game world. Call them what you want to.
--
When all you have is a hammer, every problem starts to look like a thumb.
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"
Hmmm... takes me back to my Senior year in Surfaces and Modeling.
I think that accelerated Nurbs would be more benificial. At least nurbs are the choice of Maya... I can't remember what the other packages like.
But... accelerated Bezier patches is a step towards faster nurbs.
-I just work here... how am I supposed to know?
3-D-accelerators do not accelerate high-quality rendering, where ray-tracing and radisiosity and such are used.
They're great for when you're modelling, so you can get a quick preview and get a decent idea of how highlights and textures are going to look, but, for the final render, they're not very useful.
-rozzin.