Revolution in Graphics?
wilton writes "A technology genius has Silicon Valley drooling - by doing things the natural way, writes Douglas Rushkoff in today's Gaurdian.
This project has been going on for a couple of years now, they have demo's for Windows and Be.
The ideas is to not use rendering and polygons to create scenes. Instead build it up from a molecular level, with apparently amazing results. "
First it in no way simulates molecules as both the article and the header imply...it merely uses iterated equations.
Secondnly, and more annoyingly it is still entierly digital...stupid reporters
Marriage is the "pseudo-ethics" that cloaks the messy truth of sexuality in the raiment of propriety -- it's "Don't Ask,
/begin{rant}
Constructive Solid Geometry (as used in POV etc.) is also an alternative to polygon-based rendering.
For those that don't know about it, with CSG the scene is built up from primitive blocks (e.g. cones, spheres, cubes, rods, etc). More complex objects are made by using boolean operations (AND, OR and DIFF) on the primitives. For example, a ring can be made by subtracting (DIFF) a rod from the centre of a sphere. Solid textures can be applied to the resulting objects, and raytracing can be used to produce shadows, reflections, transparency, etc.
Unfortunately, CSG and raytracing seem to have been overlooked by the graphics card manufacturers. The new effects proposed by 3dfx (motion blur, soft shadows, etc.) can be achieved very simply using stochastic raytracing. Raytracing has a reputation for being very processing-intensive, but I am convinced that it could be done efficiently in hardware, and the quality of the graphics would be far greater than polygon rendering.
In relation to the article - the Psi technique looks interesting, but seems to have very limited scope for application. IMHO, graphics card manufacturers should look at raytracing and CSG instead.
/end{rant}
Alot of you seem confused about why this is a cool thing. The point isnt that the graphics look amazing right now.. it's that they're generated in a fundamentally different, possibly better way.
Of course polygons look prettier.. look at the current difference between painted pictures and polygon graphics. With a painting the artist is simply putting the colors on a flat surface in such a way that it simulates reality. Relatively easy to do since you just need to put colors there in a suggestive way (i cant do it myself for beans, but you get the point).
Now a graphics program, you create a 3d object out of polygons, then place texture images over them. This is more difficult because you have to create the actual 3d object.. like sculpting.. you cant just suggest 3d with shadow, you have to Make 3d and let the light create the shadow naturally. The textures arent really roughness or shininess, just images that Look rough or shiny and make any light sources react the way they probably would.. this saves memory by making the shape Look more complex than it really is. A smooth cylinder might look just like a tree trunk because it has a rough-appearing texture. But it's not really a tree. If you get too close you get flattening of the texture.. especially in realtime engines for games because it cant raytrace fast enough with modern computers, so uses simple rendering. It can look really, really good.. but can also look REALLY bad.
Now, i may have misunderstood the article and webpage for this technology, but what i got out of it is that this uses something like a fractal generation system, using a formulae and number of iterations, to generate real objects. Not just a mesh of points some of which have polygons drawn between them, but something closer to a physical reality. Like a fractal, it would look fine up close or far away, and like a fractal because it's based on iterating a simple algorithm over and over it would just be a matter of doing math rather than crunching z-buffer coordinates into 2d images like we do in polygon rendering engines.
What's really important here is the oppertunity for data transfer. All those cyberpunk novels make use of the ubiquitous virtual worlds where people and environments are rendered seemlessly, usually using small computers, in realtime, with wireless modem links. So far this has been no more than a dream because no personal computer could hope to handle that kind of load, No computer can raytrace in realtime with a complex scene, and there'd be no way to send that much data with anything like current modems. This technology doesnt make this all come true in a flash, but it does improve the chances immensely. You can simply transfer location data and a formula rather than mesh coordinates and transforms.. much, much less data. You dont need to do the kind of heavy number crunching for raytracing because of the way the objects are generated, and you dont have to worry about things like textures because you can just make the actual object bumpy, smooth, jagged, whatever.
Now the biggest complaint is obviously that it doesnt compare to modern polygon graphics. There's a simple reason for this.. it's not a highly funded, industrially motivated, relatively old technology. It's fairly new and being developed by a few guys. You cant expect miracles overnight.. but what he's got looks pretty good considering how new it is. You all talk about how wonderful demos look with current tech.. sure they do.. that's what theyre for. This demo is to demonstrate that his technology Does work. If you had a time machine that could send a penny 5 minutes into the future, would you complain because it didnt look cool?
Anyway, it's obviously no sure thing, but it does have a good deal of promise, and polygons cant last forever. Personally i think realtime rendered 3d games look like crap. Raytraced scenes can look very nice, but all too often suffer from virtual unreality (that plasticy look everything tends to take on.. obvious fractalism in complex objects etc).. This or something like it that builds up from basic principles into a complex object will eventually be needed.. just think about human interaction in a virtual environment, you cant very well create polygon meshes for every possability.. what if you broke a chair, how does it generate the broken ends and interior wood grain? If you bite into a cookie, how would you go about creating realistic crumbs in realtime?
Dreamweaver
"If a man hasn't discovered something he will die for, he isn't fit to live" -- MLK, Jr.
Don't bother reading the article. It contains no real information and it's obvious the reporter is dancing around the subject.
I don't know exactly what is being refereed to here, but many alternatives to polygon rendering have been around for ages. Simulation of the light reflection/refraction at the molecular level has been an ongoing area of research in the graphics community. The problem is as you get closer to real-life, exponentially more processing power is required. We can only hope for better and better approximation methods. Further, the fundamental laws of physics governing lights at the quantum level are not fully understood.
I'm highly skeptical that a 22 year is doing any work in this area. This work had very little application in the real-time graphics community, why should Nintendo be interested?
Perhaps they are referring to voxel rendering, which can be done in realtime and a more likely project for a 22 year old to undertake (who hasn't?) A large problem with voxels is the amount of memory required, so either the shapes must be generated on the fly procedurally or it must be compressed using curves/wavelets or a combination of both. The article mentions "parabolas and ellipses," so this might be what is being talked about? Voxels are in no way a representation of something "on a molecular level."
I'm impressed the reporter managed to write such a long article without saying anything.
-- Virtual Windows Project
Definition:
NURBS, Non-Uniform Rational B-Splines, are mathematical representations of 3-D geometry that can accurately describe any shape from a simple 2-D line, circle, arc, or curve to the most complex 3-D organic free-form surface or solid. Because of their flexibility and accuracy, NURBS models can be used in any process from illustration and animation to manufacturing.
I know the use of NURBS are really easy and flexible as they are simply splines which can be ajusted by certain control points and different wieghting. They have easily replaced charachter modelling from polygons in the past 2 years.
I remeber speculation on hardware which could render/raytrace NURBS and other spline based modelling, directly w/o conversion to polys. However i've yet to see it materiealize.
Some of the Better NURBS modeller's avalible are:
Maya A linux port of this is supposedly floating around SGI and some of the larger software houses.
Rhino3D Shame its windows only, yet there's some reports of it successful in Wine.
Enjoy, Oblisk
------------------------------------
No signal to noise. And I've seen much better results for landscape generation: check out MetaCreations Bryce, based on the work of the grandfather of procedural texturing, Ken Musgrave. It's stunningly beautiful.
... comments, Rosenthal or Scherer? I'm sorry, I just don't feel at liberty to disclose anything. Those of you that know us and our work, trust us...
"But this could be promising!..."
True. I'll believe when I see promising artworks. This reporter obviously got carried away; I'm in computer games and I'm just not impressed.
"But Bryce isn't realtime!"
True enough as well. Bryce is a raytracer; it takes a long time to render. Oooooooooooh.....I wish I could talk to you about this
I do disagree with you on one point: No reason a 22 year old can't do this. Everyone in the basement is 19 or younger.
He decided to use the Nintendo GameBoy as a standard for how much computing power a machine should have...and developed a series of simple equations that can be used to generate waves, textures, and shapes.
Does anyone here know why polys, especially triangles, are the basis of most modern graphics systems? No? I'll tell you: it's because they're *EASY TO DRAW*. The equations are as simple as you can get; almost everything becomes linear interpolation and therefore only needs a single addition per pixel line. Waves are likely to need some sort of transcendental function (such as sine or cosine) to function properly -- something that requires either a massive hardcoded table, or a LOT of CPU time. Not to mention the need to toss either fixed-point or floating-point numbers around. GameBoys are 8-bit, aren't they? That doesn't give you much precision.
Remember how you used to draw parabolas and ellipses in maths class?
Um. There are three possibilities for drawing these:
-> Use the equation directly. This involves a square root. Square roots are slow.
-> For the ellipse, you can generate it using sines and cosines with a parameterized equation. The resolution on the parameter will determine how choppy the outside looks; even a resolution of 1 degree took a while on my TI-85 back in high school
-> Iterate over the ENTIRE DISPLAY, applying the generic conic equation to each point; use this to find boundaries. Incredibly tricky, requires a square or two for each pixel, and is generally going to be a pain. (for the ellipses this is a little simpler, since you can bound it by the major and minor axes)
Each element of such a display will require much more computation that a polygon; you could save a few polys this way, but I don't see it being the sort of revolutionary jump they describe.
The article then goes on to state some fluff about plants and carbon atoms, claiming that quantum equations are 'simple' (I wish!) and suggesting that "Barbalet"'s stuff is built "from the ground up, just like nature does it." This isn't true, even if what they said is true, and has nothing to do with molecules and plants; he would be building his images up from shapes -- different shapes than are standard now, perhaps, but still just shapes. No image built "from the ground up, like nature does it," requiring the transmission of every molecule, is going to even be manageable by modern computers, let alone result in stuff that can be transmitted over modems and wires more easily than graphics images.
The more charitable explanation is that this is a highly confused journalist who has run into ellipsoid 3D graphics or something similar and thinks it's cool.
Daniel
Hurry up and jump on the individualist bandwagon!
Raytracing has a reputation for being very processing-intensive, but I am convinced that it could be done efficiently in hardware, and the quality of the graphics would be far greater than polygon rendering.
Not just in hardware. Ray tracing was used in John Carmack's Wolfenstein - a classic example of how ray tracing can outperform traditional polygon rendering. In Wolfenstien the simplifying assumption is that just one ray needs to be traced per column of pixels in the viewport. It obviously works, for the special-case scenes that Wolfenstien used. The ideas were generalized somewhat in Doom, to allow for ceilings and floors. Raytracing was abandoned in Quake, in favor of traditional polygon rendering, coupled with a kick-ass culling algorithm. But don't think that raytracing is out of the picture yet - hehe, pardon the pun.
Life's a bitch but somebody's gotta do it.
It looks like simple voxels to me -- a rendering trick that's been around for almost a decade. For those of you who are amazed at what can be done with 74k, take a look at this little program from 1994.