John Carmacks "100 passes per polygon" achievable

I don't have a chosen platform, I haven't worked on PS2 for years. Currently doing next gen stuff.

The point I was making is that per-pixel stuff is great but it doesn't hide the lack of polygons, I'm currently working on stuff that uses long shaders (~100 vertex instructions + ~60 pixel instructions). Has every buzz-word going but everybody complains about the lack of polygons in the characters. And we already have 10K+ polygons. There is no substitute for polygons in characters, no clever lighting can hide polygon animation artifacts which low polygon characters can have.

In lots of cases I prefer the look of simple shaders + lots of polygons vs complex shaders + few polygons. But of course I want complex shaders + lots of polygons.

We have enough polygons now (This PC get 129MTris/s in DX9.0c optimsized triangle sample) but thats without virtually any shader work, do lots of shader work and it can drop to as low 3-4 MTris/s.

So I agree with JC in the 100 passes per triangle (100 is a bit low really, I could easily get to thousands...) because we now have enough polygons (on high end PC) so we want more shader power per polygon.
 
<RENT>
The truth is we don't 'need' either, look at mario or zelda, they are amazingly well animated and fun, yet they don't use that much tech.

Why not concentrate on FUN games, that GAMEPLAY, rather than technology ?
 
Oh i get it now... My bad... Yes, if we could get more passes on the TOP theoretical polygon limits of current gen PC hardware, then yeah i agree...

My 5900U (which is not even the most powerful card out now) can theoretically push a couple of hundreds of millions of polygons per second. Of course, one line of code and that number will go down...

So yeah, 200M polys per sec with LOTS of shaders/textures should look good enough for the moment...
 
Ingenu said:
<RENT>
The truth is we don't 'need' either, look at mario or zelda, they are amazingly well animated and fun, yet they don't use that much tech.

Why not concentrate on FUN games, that GAMEPLAY, rather than technology ?
My understanding is that this is mostly a tech forum, for people who like to talk about the technology behind the games, as well as playing them, so don't come here evangelizing your crazy talk about "gameplay above all". :p

Of course people want fun games. I mean that is the whole point of games of any kind, to get some kind of gain or satisfaction by playing them.
But without people striving for more and different, we would never have gotten anywhere.
Fun and newness/novelty (technological advance in this case) goes hand in hand.
 
Wouldn't getting a decently sized cache for geometric data on-die, be the first and maybe most important step in doing more passes faster?
 
I'd like to know something...

Can't you just pre-calc a lot of the stuff, and just place it over the polys? Or am I totally off? I mean, I don't know much about this stuff, but it seems that if you did so, even if not really technically impressive, you could get fakish cg'ish shading and very high poly counts...
 
Pre-calculating as much as possible is the oldest trick in the book. The problem is, is that we want more and more dynamic stuff.

Things like time of day, atmospheric effects (fog, mist, etc), prehaps dirt should dull the shinyness (think of a rally game) so specular can't be pre-calced, dynamic geometry (skinning, morphing) throw lots of pre-calcs out because we often blend multiple sets together to get the final position anything that reallys on position then can't be pre-calced (which is just about everything), the liist goes on and on.

Decided how often you can pre-calc and at what frequency (moving stuff from per-pixel to per-vertex to per-object) is that current way we make games look good.

But it would be nice to have it all :)
 
Zidane, "pre-calc stuff" is what current static texture maps are. And of course 100 of them one over the other is useless. The guy is talking about shaders, per-pixel lighting, which dynamically changes according to the position of the light(s), reflections (which of course can't be pre-baked), refractions, and many other effects that are now used in movie production with professional 3D applications...
 
I'm surprised that you see many problems with a 10k poly mesh, at least not if the artist has skinned it properly. I've seen artists have weighting problems that they've thrown more polys at rather than fix properly, but it's generally fixable without going to that extreme.

Still I do agree that going *too* low poly is a bad thing - and frankly I think Doom-III takes that a little far. The shadows in that can be quite horrible, especially on close-ups of faces.

However if we can keep the modern levels of polygons (and bear in mind we're nowhere near the micro-polygon level yet because we still have too many LOD issues to worry about), then I'll take better shading and lighting every time. I think we should start getting that right before we throw more polys into the mix.

I guess part of my motivation here is that "more polygons" is a known solution - it'll solve a subset of the problems we have right now and all we really need to do is speed existing hardware up in order to do it. However getting some of the more advanced lighting techniques in, it's less obvious how to do that. I think we need to take a step back and spend some time solving those issues rather than continuing down the same old road spending all our new advances on the same old stuff.

Maybe, just for an example, we could get similar geometric details from and advanced shader? I don't mean normal-mapping, but something like the displacement mapping shown off at Siggraph last yet. Probably not a solution for whatever geometric problem Dean is talking about, but possibly good enough for many other issues.

Things like that make me wonder if throwing more polys at everything is really getting us anywhere, or just pushing our problems down the line a little, but making them worse for when we do get around to them.

Just my random ramblings...
 
As i said, i think Displacement mapping is the way to go until we get over the polygon way of thinking...

However, Displacement mapping uses up geometry, so we're back to square one. I think the 2 (polys and texture/lighting) need to advance at the same pace, so that we don't get examples like Doom3 which at times can be really bad...

Go play Painkiller for a bit and then tell me you don't like having loads of polygons thrown around. Also remember that animation and advances physics engines work on geometry (of course), therefore the more you have the better it is for everyone.

Painkiller (i think it's coming out for Xbox too) is just gorgeous and the physics are amazing (it uses Havok 2.0, same as HL2)... Also go have a look at Farcry, with its very complex environments and long draw distance... That's all geometry...
 
At first glance Far Cry appears to push insane amount of geometry, but isn't much of it just 2d texture planes, like the foliage, leaves etc...
There's real geometry in the terrain, those huts, tree trunks, characters...
Impressive looking game nevertheless. I've only played the demo (and could not get very far in it) so everything I said may as well be total bs.
 
rabidrabbit said:
At first glance Far Cry appears to push insane amount of geometry, but isn't much of it just 2d texture planes, like the foliage, leaves etc...
There's real geometry in the terrain, those huts, tree trunks, characters...
Impressive looking game nevertheless. I've only played the demo (and could not get very far in it) so everything I said may as well be total bs.


2D texture planes that will eventually need to be fully 3D as we go on, i mean we're never gonna get to the fabled FFTSW level of gorgeousness by keeping the polygon count what it is now and only improve on the textures and lighting... EVERYTHING needs to advance, and Carmak was obviously drunk or something if he really meant was he was saying...

It's a bit like Bill Gates saying "we won't ever need more than 64K of RAM"... :?
 
What about proper hair ?, I am getting tired of bald characters, or hair using ribbon technique.
 
V3 said:
What about proper hair ?, I am getting tired of bald characters, or hair using ribbon technique.

Exactly!!! There will always be a need for more polygons. And when the time is over for polygons, with whatever technique we'll be using in 50 years time to represent 3D environments and models realistically....
 
Pre-calculating as much as possible is the oldest trick in the book. The problem is, is that we want more and more dynamic stuff.

Well, yeah, but say I mean even in non-dynamic scenarios, you're not getting anywhere near the product you get actually calculating the stuff(med quality cg). I mean pre-calc but show the results with more precision, with more fidelity. Say with static-cam, or pre-set cam movement, and static-lights or cut-scene scenarios is it impossible to pre-calc most of those effects even in such scenarios...

That is to say, with better h/w, without relying on heavy shaders, can sufficient fidelity be obtained when compared to products that actually do the calc aka cg(even in conditions as mentioned above)?
 
zidane1strife said:
Pre-calculating as much as possible is the oldest trick in the book. The problem is, is that we want more and more dynamic stuff.

Well, yeah, but say I mean even in non-dynamic scenarios, you're not getting anywhere near the product you get actually calculating the stuff(med quality cg). I mean pre-calc but show the results with more precision, with more fidelity. Say with static-cam, or pre-set cam movement, and static-lights or cut-scene scenarios is it impossible to pre-calc most of those effects even in such scenarios...

That is to say, with better h/w, without relying on heavy shaders, can sufficient fidelity be obtained when compared to products that actually do the calc aka cg(even in conditions as mentioned above)?


If you don't intend to move the lights and the camera, i guess pre-baking everything might look good, it's what has been done in pre-rendered backgrounds so far, and also in many games using texture maps to fake bump maps (some PS2 games do that), the fact is that once you start moving the camera and the lights and see that the surface is lifeless, then it doesn't look right anymore... Unless u're talking about something completely different...
 
If you don't intend to move the lights and the camera, i guess pre-baking everything might look good, it's what has been done in pre-rendered backgrounds so far, and also in many games using texture maps to fake bump maps (some PS2 games do that), the fact is that once you start moving the camera and the lights and see that the surface is lifeless, then it doesn't look right anymore... Unless u're talking about something completely different...

No, I don't mean using pre-rendered backgrounds, but giving volume to the real-time gphx, by displaying better the pre-calc effects. Say imbue a real-time cut-scene with volume, by applying pre-baked effects, or an env. with preset cam. movement with such. Or is it not possible to do this?
 
london-boy said:
Personally i think Displacement Mapping is the way to go, but who the fuck am i to talk... :D

I'm right there with you. More polygons means larger datasets, and you really shouldn't put in all the polys for the curves of a surface. Higher order surfaces, preferably subdivision surfaces are the way to go - movie VFX studios are converting/converted to subdiv pipelines, the game dev community could benefit from all the research and tools immensly. Then you add micropoly displacement, or just simple displacement, and get to things like this:

user_image-1059001849rnv.jpg


user_image-1068254157lfq.jpg


(Dave Cardwell is working as a CG modeler at Weta Digital, and the above images were created during the testing of the new pipeline for ROTK).

DispSteps01.gif



You just can't push that many polygons through any buses, you must generate them on the fly from a texture map. Less vertices to store, to deform with skinning (you displace after deformations), less work for the modeler, UV mapper and rigger.
 
Aren't displacement mapping and the upcomming PPP in DX 10 linked together. Displacement mapping will become more real world useful once VPU's get PPP's. If John Carmack was to update the Doom 3 engine design to take advantage of a PPP, the in-game models could be signifigantly more detailed because the stencil buffer wouldn't have to render all the polygons for the dynamic shadows. Or at least thats the way I understand it.
 
Back
Top