3D Visualization Moves Forward
Chris writes "Showing for the first time at the Society for Information Display (SID) conference in Boston was a three-dimensional display with 100 million volume pixels or "voxels". The Perspecta is a hardware and software combination that projects 3D images inside a 500 mm transparent spherical dome. Images 250 mm in diameter can be seen from a full 360 degrees without goggles, allowing the viewer to walk around the image. It can be used to visualize protein structures and to plan surgical and radiation treatment by locating the exact position of a tumour on an x-ray or mammogram. It could also be used in air traffic control, prototype designing and security scanning of luggage. Perspecta uses Texas Instruments' digital light processor technology and a spinning projection screen, which sweeps the sphere." We've done some previous stories about this globe from Actuality Systems. The trend seems to be toward simulating 3D with high-resolution flat screens, though.
Now if only they can get it larger than a snow globe.
----- Whats wrong with this picture? http://www.revoh.org:1234/whatswrong
It can also be used to show to a group of people the design flaw in the Death Star.
Volume Graphics has some interesting software to go along with the kind of display hardware talked about in the article. With VGs stuff you can "capture" a three D displayed image based on voxels and slice-and-dice it...
Ok, its cool and all.. yeah, being able to project something volumetrically, but is it really _useful_ ? I fail to see how paying $20,000 for a bleeding edge "display sphere" makes more sense than rendering something in stereo, and crossing your eyes, which most visualization packages are capable of doing nowadays anyway.
Where I used to work, we had a number of visualization packages that allowed researchers to view molecules/proteins/DNA sequences in stereo. It was routine, and required no specialized hardware.. You just render two views of the same object, side by side on the screen, with one view taken slightly from the left or to the right of the other. You can manipulate them in realtime, in stereo. Doesnt require glasses.. Just have to cross your eyes. Hell, go visit my site, i've got a couple stereoscopic wallpapers up, and theres nothing stopping me from producing stereoscopic 3D animation in Blender.
Cheers,
Bowie J. Poag
that's a cube of 464*464*464 pixels. It's a great start, but i'd rather have a Radeon 7000 :)
I despise any company that twists the truth to take advantage of people's fears.
Strangely enough, these aren't mutually exclusive; any holodeck that I use had better be able to model breasts in three dimensions.
The Fortune Tellers Association of America called. They want their idea back. They're claiming "patent infringement" or some such.
-- kwashiorkor --
Leaps in Logic
should not be confused with
Jumping to Conclusions.
It can be used to visualize protein structures and to plan surgical and radiation treatment by locating the exact position of a tumour on an x- ray or mammogram.
Finally, something to get geeks interested in breasts.
RMN
~~~
Displays that require the user to wear glasses aren't what I'd call and adequtes solution
:)
I believe what he was refering to were the screens that actually create a 3d image without glasses. They're really impressive. They do this by having two hi res lcd's, one on top of the other, that have a slight offset in the image between the two. The top one is translucent and the difference in the two pictures creates the illusion of 3d without having to use glasses or anything. It's like you've got your own holographic monitor!
I just can't wait until they come into my college budget price range (yeah, like that's gonna happen
"Windows never has bugs. It just develops random features."
the term voxel is hardly new. I recall reading about 3d projections and displays and them using the term "voxel" in association with them close to 12 years ago. And it's not any stupider than calling a 3d square a "cube."
Inconceivable!
100 millions sounds big, but you have to take the cube-root of this to get the resolution in one axis - a whopping 465. In 2D, this is like a 465x465 display; not terribly exciting. This is the "curse of dimensionality" volume graphics needs to deal with.
I did a contract coding job similar to this about two years ago - for an exhibit at a tech expo, we rigged up a pair of curved mirrors and a plexiglass semisphere with a hinged hatch. A projector shot a 1024x768 image through the pair of mirrors, producing an image that gave you roughly 270deg FOV horiz and 90deg vertical. Add a joystick and a rudimentary tunnel shooter... :)
My part of it was hacking up the game engine (Virtools' kit) to render from two in-game viewpoints each frame and distorting the image in a third rendering pass so you'd get a correct image on the screen - lots of optimization, since we were rendering at that resolution two years ago when the Geforce2GTS and 1GHz P3s were the height of consumer technology. That, and some other blocks for the scripting language for level transfers and whatnot.
(The engine used to be marketed under the name Nemo, now called just Virtools Dev. Not too impressive graphically by today's standards, but it has the most artist-friendly scripting system I've EVER seen. If they strapped a decent rendering tech onto it and some network code, they'd have an absolutely outstanding project on their hands.)
There's better than that...
Autostereo displays
I saw this 5 years ago, and it was extremely cool. They played a variant of Pong where the ball went in and out from the plane of the screen to a plane that appeared to be more or less level with the back of the monitor. They also used a cool 3D mouse so you could move your bat. It was totally realistic stereoscopic 3d without any goggles or anything.
What you're describing sounds like you could render both the bats easily but you couldn't render the ball because it would be in-between the planes of the two LCDs. The autostereo system handles all intermediate distances just fine.
The trend seems to be toward simulating 3D with high-resolution flat screens, though.
These are completely different technologies. The first is an "actual" 3D display. The voxels have a true location in 3D space, for instance. People can view it from any angle with no equipment.
The second appears to be just a large screen. People wear shutter or polarized glasses to send different images to the left and right eyes.
While the second techology is great, especially for high-resolution display to a single person, it really is annoying when used with multiple people with different locations in space.
Since there is only one set (left and right) images on the flat screen, only one viewpoint can be chosen. If a group of people is sufficiently far from the screen, or sufficiently close together in the room, it's fine. But if you let the people wander around the room, you start getting perspective problems that really make collaborative viewing troublesome.
I have a feeling that we will be seeing voxel-based visualization like the one mentioned in this post more and more often. It's just more natural to use.
As someone who is in the field of high-resolution scientific visualization (that's me on the left), I certainly hope that technology will move in this direction.
I really am amazed.
Years ago I just didn't believe we'd really see volumetric 3D because the jump from (say) 640x480 to 640x480x480 just seemed too wide.
If we can get a stationary image 400 x 400 x 400 image for $20,000, it doesn't seem all that much of a stretch to 400 x 400 x 400 x 30 frames per second... or from there to 1600 x 1600 x 1600 x 30 frames per second... or from there to 1600 x 1600 x 1600 x 30 frames per second for $200.
And disk speeds and Internet speeds are coming along just fine...
"How to Do Nothing," kids activities, back in print!
And it took a while for 21" monitors, 80GB hard drives, etc... to get out there as well.
It's a start.
"The death star has cleared the planet"
Now, niftyneat as it looks, I see a few problems...
First and foremost, you're going to be stuck representing solid 1-color materials, wireframes and ghosts with this. You're also not going to be able to make objects appear to be lit correctly. Why? Because the display has no idea what angle you're viewing it from. I'll explain.
Hold your thumb in front of the screen. It's blocking some part of the display, right? Move your head back and forth a little, and it will block different parts. Raise your head up a little or drop it down and it will block different parts again. The thing is, the display has no idea where you're looking from, so every part needs to be visible at all times. It can't clip out bits that are behind other things like a traditional 2D display. The result is that if you show a screen full of text, and draw a thumb in front, you still see the text through the thumb. Both will appear to act like ghosts.
Now, consider drawing a Coke can with a flashlight shining on the side. Again, it has no idea which side you're viewing from, so it's got to draw all sides of the can. The thing is, as you move about it, the logo on the front of the can shouldn't be visible when looking at the back of the can. Similarly, when you look at the side opposite the flashlight, it should be all dark. But since the display uses volumetric texels, it has no idea about the facing of each texel. Every texel's going to be drawn, so a you'd see the backward logo when looking from the back, and you'd see what boils down to a really confusing lighting situation when viewing from the non-flashlight side. It's like ghosts or colored X-Rays.
If you're still with me, that covers the reason for no shadows or non-uniform dull, not-too-shiny surfaces.
Next problem is - it's gonna be SLOW! Sad, but true! If it were a 3D bitmap representing equal units of a cube, that would be one thing. Unfortunately, it represents slices of a bitmap rotating through space.
Now, let me say this: Computers hate round things. Arcs, swooshes, ribbons, none of these are much fun for a computer to draw (comparatively speaking), much less, to render into.
Normally, polygon raster operations boil down to setting up a bunch of lines, one per scanline, and for each, figuring out how you progress across the line in measured, discrete steps. "I'm starting here in the texture, and I'll be there in the texture. I need to get there in 32 screen pixels, and I advance n units through regular steps of screen, texel and 1/z space." This tells the computer do the expensive calculation once, and just do 32 iterative steps to render the 32 pixels on that scanline. Any modern 3D engine is actually optimized to do the expensive stuff 1-2 times, creating the per-scanline numbers iteratively as well.
The only places where this approach doesn't work are where you're clipping against the edge of the display area. Clipped triangles are traditionally an order of magnitude more expensive to render than non-clipped ones. So much so, that terrible tricks are used to avoid them or reduce them to categories of special cases that can be tackled to attempt to avoid reverting to a true clip. For example, many display systems actually create waste RAM in a border around the screen. If a triangle doesn't penetrate the waste area, the rasterizer will go ahead and draw (or pretend to draw) the dummy pixels. It's only in the case where triangles are partly on screen, but go even beyond the dummy area that the hideously expensive render functions are called. Drawing millions of pixels per second that you know the user will never see? That sure points to a problem!
Enter the circular slice-based display space.
Here, for every single pixel, you've got to find which bits of a render go through. Essentially, you have to clip against the front and back of every single triangle you render as you calculate each slice. You're taking the worst hit on every single triangle!
What's even worse is that a single 'frame' (half rotation, assuming the rotating display plane is visible from front and back) consists of just shy of 200 renders. This means you're taking that 1% worst case scenario and repeating it 100% of the time, and repeating it about 200 times per frame. And because you're dealing with an arc for the rotational advancement (remember, computers like even, linear, discrete steps), you're dealing with curved surfaces instead of little cubes and the planes of a view frustum. Essentially, you're looking for the union of an arbitrary material and a stuffed piece of macaroni instead of merely finding the portion that fits within a little box. This makes the checks for pixel penetration several orders of magnitude more expensive and makes it even more expensive to attempt to reuse data from one slice to the next.
Hee. Plus the display is connected to your PC via SCSI2W, which is also a not-too-minor detail. You've got over 100 million pixels to send across per 'frame'. Even if they're just 1-byte pixels (256 color), and partial updates, that's asking a lot of a dual-channel 20MHz(?) bus.
Mind, we're still discovering things today which would have sped up rendering on our Commodore 64s. The computational cost will come down over time as more ways are developed for rendering in non-uniform/curved space, and as different spatial representation methods are explored. This is a nifty advance, certainly a step closers than the silly lenticular lens based 3D systems and the layered LCD-over-CRT approaches.
Still. Think of a ghosty AutoCAD on a 286. Look, but don't touch. We've still got a ways to go before 3D games and movies become a reality.
But don't get me wrong: It's a neat advancement, and it gives me hope. If I could borrow one, I think I'd make a noisy whirring ghost town snow globe. The shape just begs for it. And I'd love to get cracking on trying to find efficient algorithms for the unusual render space. *sigh.* $60k though. Maybe eBay can help me out on this one in another 20 years.
Says the RIAA: When you EQ, you're stealing bass!
since this is spinning, it's not going to be 464^3, but more like refresh_hz*x*y of screen. but, in either case, 100e6 is not so many voxels these days. a more 'reasonable' case might be in the neighborhood of an order of magnitude more - but still hardly enough to do very good aircraft separation, etc. i mean, sure, it's nice and everything, it's 3d, no glasses, etc. but it's not super high res, though 100 million sure sounds like a lot. plus i'll bet that whirring noise thing gets to you like a dentist drill after a while.
given the way this thing works, shouldn't the title be:
Science: 3D Visualization Moves In Circles
;P
Interesting.
Obviously, a lot more than 9 distinct views would be nice, but even something as low as 25 would probably be useful.
If they engineer in the ability to move up and down, this would start being a serious contender.
Um, did you read his post? You know, the one titled "Finally!" that says "I was tired of being told renderings were 3d"...
He knows this is real 3d, and he's happy about it.
The enemies of Democracy are
The difference is one is simulated 3d, the other is really 3d.
You can't change perspective on the flatscreen.. not like a hologram. What you see is what you see, until the software changes it.
You can't peek around something or shift your point of view by just moving.
This globe thing, you can look at, walk around, see things as if they were a solid image. Just like a hologram (but with a 360 degree fov of course)
so when do i get to visit the holodeck?!
MARIJUANA, SHROOMS, X: ONLINE?! - E
I'm just having 'fun with karma' :)
It's amazing that the cap has really removed any incentive to post quality for me.
I'm about an hour away from starting even more accounts, except I'm convinced that qualifies as some sort of illness.
.sig last updated Jan. 14, 2000
Everyone keeps saying that its resolution is about 464*464*464. It's not. Check the specs. It's 768*768 by 198 sections. The section facing you will have a resolution of 768*768, which isn't that bad. The four bit colour is a bit crap though. I look forward to watching where this tech goes. Looks cool.