The Future of Real-Time Graphics
Bender writes "This article lays out nicely the current state of real-time computer graphics. It explains how movie-class CG will soon be possible on relatively inexpensive consumer graphics cards, considers the new 'datatype rich' graphics chips (R300 and NV30), and provides a context for the debate shaping up over high-level shading languages in OpenGL 2.0 and DirectX 9. Worth reading if you want to know where real-time graphics is heading."
Just a few more years and the transition to featureless games with cool graphics but no game play will be complete.
It's already at the point where the graphics department in a game house can be larger then the development team.
"Have you ever thought about just turning off the TV, sitting down with your kids, and hitting them?"
Silly people.
First, the polygon-based rendering used by the cards is based on fairly special-purpose trickery to get good effects (like shadows - they're not really implemented by the API or the card directly). Second, the other part of really high-quality rendering is high-complexity models - the PC's themselves start to balk at swimming through the massive data sets required in real time. There's always been the speculation that raytracing would catch up to polygon rendering (as CPU's get faster) because the former has sublinear complexity in the number of objects, where the latter is more like linear complexity. _That_ would give you some pretty images!
So does this mean soon we will be able to download a movie in a scripted language and let our video cards render it in real time and watch a "open source" movie? Will the MPAA pay congress to enable some Digital Rights Managment in the cards? I think these are interesting ideas and I really thing a Open Source movie would be pretty cool, not to mention most likely a fast download.
A year back or so I did the blender work for a starwars fanflic...Now this was only a fifteen minute film...but the 5 minutes or so of 3d easily took a day to render. As this stuff gets faster, amateur movies will become better and more sophisticated. Low budget films and TV shows will gain access, and the graps of the MPAA will weaken. Anything that makes low-budget films easier is a good thing.
With the internet and a DVD Burner, a low budget film could be distributed DIRECTLY on DVD. Now the films just need to get good enough that people will want them. This would be a good direction for both music and movies.
Cool eye picture. How the heck do you make a model for that?
Brian
I get annoyed every time I hear this. If they mean movies like The Last Starfighter or Tron then yeah, we have movie-class CG in our games, but where are these ridiculous predictions coming from?
First off, movies are raytraced and even on their machine clusters take on the order of minutes per frame to render.
Secondly, have they even taken one look at how primitive our 3d graphics are these days? I mean, yes, often buildings (like in Morrowind) look reeeallly great, but they don't look like movie-class CG... And we have a LONG LONG way to go before creatures look good. (Yeah, we can make one werewolf with no scenery look good, but we need to have the scenery and about 1000 other werewolves before I'll be impressed)
Yeah, Doom 3 looks pretty and all, but quite frankly I'll believe it when I see it on my machine.
I can do nothing but agree that the visuals, CG and effects are all getting better, but what is the cost? I don't know about the rest of you but it seems to me that the quality of the movies themselves have been going steadily down. The plots are getting thinner, the acting poorer and it seems that everyone is just using visual quality as a crutch. I'd take a good old silent, black and white coemdy by the likes of Chaplin or and old Akira Kirusawa (spelling?) samurai film over most comedies and action movies that come out these days. Or a little more recently, compare the older Star Wars or James Bond movies to the newer ones; sure the fight scenes have gotten cooler, but the acting and stories are nowhere near as good. I love visuals, but can we use them to make good movies instead of just more pulp.
But imagine downloading Toy Story 3 or something to your PC... not as a pre-rendered movie, but as a real-time scripted 3D engine with a soundtrack. Run it in whatever resolution you are able to. Use your own camera angles.
Or play a realtime version of Final Fantasy: The Spirits Within, but walk around the "set" in realtime with the characters or just keep the camera focused on Aki's bizznoobies.
-CausticPuppy "Of all the people I know, you're certainly one of them." -Somebody I don't know
Don't expect to see nVidia- or ATI-rendered imagery on the big screen anytime soon. Yes, graphics cards are advancing in ability and speed. However, this is largely irrelevant to the world of CGI. No matter how good it looks on a monitor, it's not good enough for film.
Yes, I'm sure a Toy Story 2 quality film could be rendered on one of these cards. However, by the time these cards come out, TS2 will be nearly 3 years old.
The vision of the artists themselves is what drives CGI, and no matter how good the real-time solution is, the brute-force computational solution will be better - simply because it doesn't have to be real-time.
Fast graphics cards definitely make animators lives easier. We (medium-sized visual effects studio) recently switched from SGI Octanes to Intellistations with ATI FireGL 8800s running Linux. Being able to tumble fully-shaded medium res characters in real-time is sweet. But, it's not good enough, even for TV. And, by the time a card exists that IS good enough, the bar will be much higher.
This is what Pixar's Photorealistic RenderMan does RIGHT NOW. link
Now show me that in real-time and I'll marry your ugly Aunt Hilda.
Man, you can tell at a glance who read the article and who didn't.
I'm going to simplify a great deal here to try and boil this down to the essence. John Carmack please feel free to correct any mistakes I make.
Up to this point, the imagery coming out of the gaming graphics cards has been limited by the hardware design of the cards. The feature set implemented by the cards limits how complicated you can get with the details in the final image.
Note that we're not just talking about simple things like pure polygon counts. Film Industry CGI isn't of higher quality just because they throw more polygons at the problem; they have all kinds of highly complex shaders that can generate special textures without changing the number of polygons in the model - if you saw the "special features" on the Shrek DVD, you can see this at work with Donkey's fur.
Rendering all these extra shaders is CPU expensive, which is why the big animation houses have big render farms.
But two things have happened that stand to change that.
The first (and the most ingenious) is that it has been discovered that you can compile any shader into a series of OpenGL language commands. The tradeoff is the number of passes through the pipeline that implementing a given shader may require may well be a large number - but even so, any shader currently in use by a Hollywood Mouse House can, in theory, be compiled into OpenGL and executed on any OpenGL card.
And here's the really cool part - rendering in OpenGL is many times faster than doing it in software on a general-purpose CPU. Many, many times faster.
Secondly, the biggest problem with trying to crank Shrek through your GF2MX400 (assuming you've compiled all the shaders into OpenGL) is that each shader may require 200 passes, but the data structures inside the card lack precision - either not enough bits as a float, or perhaps not even floats at all, but integers.
That means the data is being savaged by rounding errors and lack of precision during each render pass. It's like photocopying photocopies.
BUT, the latest generation of graphics chips have the necessary precision to do 200-pass rendering without falling victim to rounding errors.
Combine these two things together, and you can quite literally take a frame from Shrek, with all the crazy shaders, compile it to OpenGL, and render the frame on your GF6-whatever **faster than the native render platform**
A very good deal faster than the native render platform.
Is this "Shrek in real-time"? No, not by a long shot. But it may well be "Pixar's renderfarm in a box".
Now, as Bruce pointed out, having Pixar's renderfarm in a box doesn't make you Pixar. There is still a requirement for artistic talent. But all that cheap extra horsepower may well mean that the quality of CGI is going to explode for those talented enough to make use of it.
How will this affect games? It makes a bunch of shader techniques that were previously availible only to the movie industry possible within the framework of a game. And it divorces, somewhat, the game visuals from the card's hardware because these shaders are executed as general-purpose OpenGL instructions, not as dedicated hardware on the card. If you, as a game designer, can write a "fur shader" that runs in few enough passes to meet real-time output timings, then you get fur on your model, even if the card doesn't have a built-in "fur shader" or "fur engine".
THIS is why this is all such a big deal. The amount of quality per mSec of render time is about to explode.
Cool stuff!
DG
Want to learn about race cars? Read my Book
... isn't the "rampant piracy" Red Herring they've been feeding the press and their tame politicians in Washington, D.C., it is the possibility that anyone who does have a story to tell will be able to make a quality movie with nothing more than their home PC and a little time.
... a state of affairs the mimicks the current, cartel-controlled situation rather well, actually. Even if only 1 in 100,000 has the story telling talent to put together a good film, that would amount to 2,800 potent competitors to the media cartels.
Suddenly we don't need studios, we don't need actors, and we don't need tens or hundreds of millions to produce a blockbuster movie. And with the internet to distribute the material on, we don't need their distribution network of cinemas either.
The most important talent they rely on is not skill in computer imagery, but skill in telling a compelling story using all of the tools of the visual idiom. This is what most people don't have, and it is an essential element to producing good film.
Like musicians using home-studios to record music, without talent this will go largely unusued, or, more likely, there will be a lot of less-than-good material out there
Musicians really don't need million dollar studios anymore to produce an album, and while this means a lot of junk is pressed onto CD, it also means a lot of musicians are able to produce and market their music outside of the RIAA's cartel, through mp3.com and elsewhere. Hollywood doesn't fear the napstersization of their medium nearly as much as they fear the mp3.com-ization of it, and competition with a few thousand talented people not on their payroll.
This, I think, is why we are experiencing such an onslought of attempts through legislation and back door regulation via the FCC and a little known "standards" body called the BPDG to take both the internet, and general computers, out of the hands of private citizens.
It isn't about 'piracy,' it is about competition, and they don't fear competition from 'everybody' so much as they fear general access to the tools, which means those talented persons not a part of the cartels would be able to compete for viewership and marketshare on a level playing field with the big studios.
And that is something they simply cannot abide.
The Future of Human Evolution: Autonomy