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."
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!
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
hell, I wish that were true! where do -you- work?
...but as always it's an issue of cost/market/etc. Game development is big business now, it's not a make-something-fun-and-sell-it-in-a-ziplock-bag industry anymore.
I can only speak for consoles, but there have been some interesting developments over the last five years or so...
1. Knowledge prerequisite for engine development has gone up, not down, as was previously thought (hoped?) Some people had thought that with the latest generation of h/w (XBox, PS2, Gamecube) that more programmers would be able to work on the graphics-end (XBox because of DirectX -- PS2 well, because they didn't know any better). But just like on the previous generation of h/w although we don't have to do some of the lower level tasks anymore (s/w render, perspective correction, blah blah) more complex tasks are required for the latest games. I think everyone's hoping (again) that this will change in the -next- generation (e.g. send 3DMax/Maya file to hardware! yeah, right.). maybe. we'll see...
2. The ever-increasing (and always lamented) trend of h/w shy programmers has (maybe?) kept the graphics engine teams small. It still is very common to have one or two man teams building the engine. For example, we have two engine programmers (working on different engines on different platforms) and about 25 on titles. Based on other companies I've been at or seen, this isn't really unusual. If you meant artists (by "graphics department") then yes, there is clearly a trend for having more artists than any other role.
3. Game teams are not oblivious to the severe lack of quality gameplay. Publishers aren't either (really!)
4. Unfortunately, the idea of "game designer" as a profession (outside of a few notable individuals) has been historically ridiculed. It's been ranked with "tester" and "your mom" as far as development teams were/are concerned. However, even though only a small percentage of development houses (still!) recognize "game designer" as a legitimite role, one of the most promising trends has been (perhaps out of necessity?) the steady increase in them. -That- is good news. Basically, more places have someone in charge of "fun."
It'll get better. Probably.
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
There is an upside to this. Eventually we will reach the point where its impossible for graphics to get better (ie indistinguishble from a photo of the real thing, or maybe vr or something). At that point when there are no more innovations to be made in graphics the game companies will have to, in order to sell games, concentrate on, yep you guessed it, game play.
Why not fork?
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