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,
try the original nervana site,
you can even get the software there, for Windows, Mac and Be. The screenshots
don't look bad, but I have my doubts as to what this
all is all about, but hey, I'm a simple biologist.
It looks to me like a hoax, or at least like
someone trying to get into news - you don't find
a source code or any details. Could some good soul,
fit in comp sciences, explain to me what so interesting about this project?
I've downloaded the demo: all it seems to be is some garish landscape generator u can run thru: the sky/cloud moving thing ain't that cool. I've seen better water in the visualisations for my Mp3 player (Sonique for those interested) . Until i see a demo of this "molecular" technology that is on par or better with the 3d game engines of today, i'll remain a skeptic. Still, it might only be the begining of something great. Must keep an open mind.
Be kind. There are too many mean people out there already.
For what it did, it didn't drop my system performance much at all. As a future holy grail for the precise and realistic 3d engine, however, I'm rather skeptical. The horrible mouse interface (pretty random as far as what dragging in any given direction does) in the demo makes it very hard to tell, but this method of iterative equations seems to have a problem- no consistently accurate solid 3d shapes. Sizes and relative shapes seem to stretch around far too much with a change of perspective. And I imagine that really beautiful, fractal and super-complex at any distance of viewing images that this tech could create wouldn't stay consistent as you move around. Apparent textures would swin all over the place. Maybe this is just a limitation of the demo, or my flawed analysis of the tech. But the reason polygon engines (or voxel engines!) are so popular is that they have consistent world geometry that works intuitively from any angle of viewing, making it well suited for virtual reality in which you can interact- even at the high speeds of quake-style games. This engine might turn out to be better suited for acid trip-heads than Quake4...
Apparently the people who wrote this article aren't up with modern times, or something. If you check out some of the 40kB demos for the Amiga you'd see more impressive stuff, and those don't require a 100MHz machine (stated requirements for the Win32 demo on the nervana.com site). As far as using mathematical equations to approximate the real world "better" than polygons, this has been used before. An example would be the procedural textures used in Lightwave 3D, which uses a bunch of algorithms to simulate different real world textures, using only a fraction of the memory of their bitmapped counterparts.
Of course, I could be completely wrong about these demos, but IMHO this is hardly revolutionary, or even the slightest bit impressive. I would expect that if this were truly something more than hype, there would be more substantial information at their website, or at least a demo which is actually impressive.
What would be nice to see is 3D accelerators with support for some procedural textures on the card, and then having those features actually used in the game. You can achieve some very impressive effects with such things, although I suppose most people see it as easier to just add more memory to the card nowadays. I remember reading one card that was due to be released a few months ago was supposed to have such features (Permedia 3?), but I'm not sure.
/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}
No. The 4K implementation of the first level of Descent--replete with MPU-401 music and all textures was OH MY GOD. This isn't nearly as impressive as most of the iterated landscape jobs I've seen bandied around, although the Earth's Landscape dataset IS cool.
Yours Truly,
Dan Kaminsky
DoxPara Research
http://www.doxpara.com
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.
A lot of 4k intros have generated landscapes and objects too, and yes we have seen fractal based objects too. Why is zbuffering no 'math' by the way? This project just got too much attention because someone did not read more than the article.
seems like the demoscene just invaded slashdot ;)
I will just give you links you should follow if you want to see impressive quick, small 3d rendering code:
I have more links on my page, see the DemosSelection link.
. . . . . . .
may u!sh 2 sm!le at dz!z bad nn.!m!tat!ion
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
------------------------------------
I really fell bad about being so phenomonally unimpressed with guy's life's work. Granted, I am not publishing graphics software myself, but I don't post my grade school artwork either.
I feel almost the same when my three year old daughter brings me a picture she drew. "oh, sweetheart, that's beautiful! I love you! Now go stick that to the refrigerator with the other ones."
Did anyone else find it suspicious that the most recent "interview" was from September of last year? About a remarkably stupid sounding game? And the "demo" was billed as a way to view the island of nervana, even though it only vaguely resembled an island? The guy is 22 and designed the game, the graphics engine, and wrote the music for the game?
The best I can hope for here is that the reporter was a friend of his trying to help him out, or maybe just really, really, hard up for a story.
Computers can only simulate determinism. ~Hermetic.
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.
I just noticed that there's a link to a homepage at the bottom and other people can run the demo. So it's not a hoax, but I stand by my other comments -- the journalist is confused :) Fractal graphics are, as many other people have said, interesting but not revolutionary. I personally doubt they work well in the general case; unless you can get a fractal that looks just like any given object (say, a car), you'll have to start building objects up from fractals, at which point you run into the same problem that we have with polys: if you look close enough the illusion of an object vanishes. The only difference is that instead of turning into flat polys close up, the objects will turn into fractals close up. (and no, reality is not made of fractals so this won't really work that much better) OTOH for things that this works well for (trees, waves, clouds) it might be interesting to have a fractal-rendering subsystem added to a 'traditional' graphics system -- only problem is, how do you do the Z-buffering? But I'm sure someone can work that out.. Or maybe he's talking about procedural textures -- again, neat but not particularly new..my university actually has a research group looking into the possibilities of these things to do 'non-photorealistic rendering'. Daniel
Hurry up and jump on the individualist bandwagon!
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.
If there is any innovation in this article at all, it's moving this technology down to the level of a video game from the non-real-time applications where it's been used for decades.
Bruce
Bruce Perens.
Beyond the refresh rate of your video card is just wasted. I've seen smaller programs that could do what this one is doing better and faster. Would easily draw 60-80 FPS with little CPU usage.
Edu. sig-line: Choose rhymes with lose. Chose rhymes with goes. Loose rhymes with goose.
Comparing? THEN use THAN.
From the article:
"He just passed through Silicon Valley last week demonstrating his homemade graphics engine, and everyone from the designers at Nintendo to programmers at Apple has been left in shock."
Yeah, and after viewing the demo I could easily see it continue as:
"...left in shock. They were heard to whisper, 'Is this guy serious?'"
Edu. sig-line: Choose rhymes with lose. Chose rhymes with goes. Loose rhymes with goose.
Comparing? THEN use THAN.