Hello

Welcome, Guest. Please login or register.
Did you miss your activation email?

Author Topic: 250-500k models in DOOM 3!!!! (DOOM 3 FAQ)  (Read 905 times)

Offline rastalant
  • rastalant3:16
  • Legendary Member
  • ******
  • Posts: 2195
  • Karma: +10/-0
250-500k models in DOOM 3!!!! (DOOM 3 FAQ)
« on: August 12, 2001, 10:33:31 AM »
Read it yourself:


Quote:
--------------------------------------------------------------------------------
 
7) Models
All of the following in this section is speculation but it does seem to make a certain amount of sense, so I would go out on a limb and wager than while the details might be wrong, the underlying idea is probably correct.
In a statement in 1/01 on the Polycount boards, "Wrath," ex lead animator at Ion Storm, had the following to say about the Doom tech:

"Ayup...that\'s 500,000 poly models. I saw them, they were in game though probably not the way you think. The high poly version of the models were being used as the reference for all the cool lighting effects...the self-shadowing, bump mapping, displacements, etc. That info was being projected onto a much smaller version of the model, maybe 1500 polys or so. The high poly versions were untextured, the low poly models were using 3 or 4 256x256 skins I THINK. They were very hush hush about specifics."
"I dunno how exactly the magic was working, all I know is that they\'re starting with insanely detailed models, using them for all the lighting info, and passing that info on to the decimated skinned model that\'s actually running about in game. Not that you would be able to tell. You get close enough to a model, you can see the creases in fingers. All looking incredible."

Now, here\'s a tentative explanation by Zaldron in the Doomworld forums from 7/19/01. I know this is a long quote, but it sounds to me that this trick is on par with the initial realization in the Quake engine of calculating lighting information beforehand and storing it in the map data, so I think such a long quote is warranted.
Now, you have 2 models. One of them is the one you made for the game, it contains only mesh structure for the FIRST frame AND skinning parameters (that is the X, Y, U and V coordinates for every triangle).
If you wanna know what X, Y, U, V, H, X, 545, Hoolapalazac, etc etc are. It\'s quite simple : A "skin" is made from several images. Artists prefer to use one whole image for the head and neck, the other one for the torso and arms, and the other one for the pelvis and legs. Anyway, each triangle is painted with several pixels of those pics, how? Simple, choose the X and Y coordinates on where it starts borrowing from the pic, and then the U and V numbers tell the engine the horizontal and vertical percentaje of the pic being used.

Anyway, the thing is that X, Y and Z coords for EVERY vertex, the joined edges, the skinning parameters, the normals data and the sub-materials values mean a LOT of SPACE = LOT OF RAM.

That\'s why the 500k one is untextured. Otherwise it would occupy several megs.

Traditional animation says : 1 frame = one different mesh. This is a horrible, horrible waste, because the size required to store "mesh form" is enlarged as many frames there is. That\'s why id moved to skeletal. Both the low poly and the high poly versions contain only one frame of animation, commonly the shape of the creature in a non-complex gesture, as standing with both arms stretched.

Now, the hi-poly is user for shadow/bump calculations. Since it\'s not being rendered, it doesn\'t need all that skin data, but the model keeps eating a fair amount of RAM.

Anyway, we have 2 models. The hi poly model is being hit by the lightrays in the game, resulting in both shadow/highlight pixel values, and bumpmap results.

Have you ever seen a really good texture job in a model? It generally makes up for the jaggy edges. Now, taking this data in account, the textures will be upgraded by both the shadows and the bumpmaps in real time, as I explained in my article. But this time the position data comes from a MUCH MORE ACCURATE model, meaning that the result will not match the low poly mesh, but actually looking better.

Hard to understand? Imagine a 3 faced finger. Bleh. Anyway, a bumpmap over that finger would look horrible, because you can clearly see how the bumpmap takes in consideration that mesh, and draw some accurate results FOR A 3 FACED FINGER, NOT A NICE ONE. With id\'s method, the bumpmap will come from the NICE FINGER, and skinned over the CRAPPY FINGER, will make the CRAPPY FINGER look like the NICE FINGER -IN THE INSIDE-

Why did I added that "IN THE INSIDE"? Hard edges are still there, and that\'s why I\'m saying 1500 is way too low. Because the 500k poly will make shadows and bumpmaps look real-like, but the low poly is the one being rendered, and it still has those hard edges.

It\'s like rendering the 500k poly with all the textures and ligthing and @#%$, but then cutting the shape of the low poly one all around it
--------------------------------------------------------------------------------



This sounds like a very interesting technique...

The entire FAQ can be found here

http://www.doomworld.com/files/doom


Uhhhhhhhhh............there no way this is true unless they did a miracle.  Just to let you  guys know something like TTT on ps2 does 10K per character.  500,000 for one model!?!?!?!  Thats insane and  whats doom 3 running off if thats the case.  What do you guys make of this?:thepimp: :thepimp:
Terrorizing Nintendo fanboys and this forum with strange and odd opinions - 24/7!!!!

Offline Toxical
  • Evil Devil Master

  • Legendary Member
  • ******
  • Posts: 2061
  • Karma: +10/-0
    • http://
Re: 250-500k models in DOOM 3!!!! (DOOM 3 FAQ)
« Reply #1 on: August 12, 2001, 11:05:52 AM »
Quote
Originally posted by raslant
Read it yourself:


Quote:
--------------------------------------------------------------------------------
 
7) Models
All of the following in this section is speculation but it does seem to make a certain amount of sense, so I would go out on a limb and wager than while the details might be wrong, the underlying idea is probably correct.
In a statement in 1/01 on the Polycount boards, "Wrath," ex lead animator at Ion Storm, had the following to say about the Doom tech:

"Ayup...that\'s 500,000 poly models. I saw them, they were in game though probably not the way you think. The high poly version of the models were being used as the reference for all the cool lighting effects...the self-shadowing, bump mapping, displacements, etc. That info was being projected onto a much smaller version of the model, maybe 1500 polys or so. The high poly versions were untextured, the low poly models were using 3 or 4 256x256 skins I THINK. They were very hush hush about specifics."
"I dunno how exactly the magic was working, all I know is that they\'re starting with insanely detailed models, using them for all the lighting info, and passing that info on to the decimated skinned model that\'s actually running about in game. Not that you would be able to tell. You get close enough to a model, you can see the creases in fingers. All looking incredible."

Now, here\'s a tentative explanation by Zaldron in the Doomworld forums from 7/19/01. I know this is a long quote, but it sounds to me that this trick is on par with the initial realization in the Quake engine of calculating lighting information beforehand and storing it in the map data, so I think such a long quote is warranted.
Now, you have 2 models. One of them is the one you made for the game, it contains only mesh structure for the FIRST frame AND skinning parameters (that is the X, Y, U and V coordinates for every triangle).
If you wanna know what X, Y, U, V, H, X, 545, Hoolapalazac, etc etc are. It\'s quite simple : A "skin" is made from several images. Artists prefer to use one whole image for the head and neck, the other one for the torso and arms, and the other one for the pelvis and legs. Anyway, each triangle is painted with several pixels of those pics, how? Simple, choose the X and Y coordinates on where it starts borrowing from the pic, and then the U and V numbers tell the engine the horizontal and vertical percentaje of the pic being used.

Anyway, the thing is that X, Y and Z coords for EVERY vertex, the joined edges, the skinning parameters, the normals data and the sub-materials values mean a LOT of SPACE = LOT OF RAM.

That\'s why the 500k one is untextured. Otherwise it would occupy several megs.

Traditional animation says : 1 frame = one different mesh. This is a horrible, horrible waste, because the size required to store "mesh form" is enlarged as many frames there is. That\'s why id moved to skeletal. Both the low poly and the high poly versions contain only one frame of animation, commonly the shape of the creature in a non-complex gesture, as standing with both arms stretched.

Now, the hi-poly is user for shadow/bump calculations. Since it\'s not being rendered, it doesn\'t need all that skin data, but the model keeps eating a fair amount of RAM.

Anyway, we have 2 models. The hi poly model is being hit by the lightrays in the game, resulting in both shadow/highlight pixel values, and bumpmap results.

Have you ever seen a really good texture job in a model? It generally makes up for the jaggy edges. Now, taking this data in account, the textures will be upgraded by both the shadows and the bumpmaps in real time, as I explained in my article. But this time the position data comes from a MUCH MORE ACCURATE model, meaning that the result will not match the low poly mesh, but actually looking better.

Hard to understand? Imagine a 3 faced finger. Bleh. Anyway, a bumpmap over that finger would look horrible, because you can clearly see how the bumpmap takes in consideration that mesh, and draw some accurate results FOR A 3 FACED FINGER, NOT A NICE ONE. With id\'s method, the bumpmap will come from the NICE FINGER, and skinned over the CRAPPY FINGER, will make the CRAPPY FINGER look like the NICE FINGER -IN THE INSIDE-

Why did I added that "IN THE INSIDE"? Hard edges are still there, and that\'s why I\'m saying 1500 is way too low. Because the 500k poly will make shadows and bumpmaps look real-like, but the low poly is the one being rendered, and it still has those hard edges.

It\'s like rendering the 500k poly with all the textures and ligthing and @#%$, but then cutting the shape of the low poly one all around it
--------------------------------------------------------------------------------



This sounds like a very interesting technique...

The entire FAQ can be found here

http://www.doomworld.com/files/doom


Uhhhhhhhhh............there no way this is true unless they did a miracle.  Just to let you  guys know something like TTT on ps2 does 10K per character.  500,000 for one model!?!?!?!  Thats insane and  whats doom 3 running off if thats the case.  What do you guys make of this?:thepimp: :thepimp:


Thanks for the link Ras,
lol 500K per character? wow, hard to believe. lol.
i think maybe they used those models to calculate before hand shadows/lighting etc... or something like that, and stored the results in a lookup array for later reference. ;)

Offline rastalant
  • rastalant3:16
  • Legendary Member
  • ******
  • Posts: 2195
  • Karma: +10/-0
250-500k models in DOOM 3!!!! (DOOM 3 FAQ)
« Reply #2 on: August 12, 2001, 11:09:09 AM »
No problem toxical.:)
Maybe flat-shaded, but even that I find that hard to believe.
Terrorizing Nintendo fanboys and this forum with strange and odd opinions - 24/7!!!!

Offline Peltopukki
  • Full Member
  • ***
  • Posts: 128
  • Karma: +10/-0
250-500k models in DOOM 3!!!! (DOOM 3 FAQ)
« Reply #3 on: August 13, 2001, 07:07:14 AM »
they wont use the 500k model in the game, but they use it as a reference when they make bumpmap and materialmaps for the caracters.
As the article says ingame characters are around 2k polygons, which makes them very fast to handle and render. the intresting thing in this tech is that they make texturemaps from the hi-poly model.
I think they do offline raytracing from low-poly model through each of its polygons to the both directions of polygons normal. when ray hits the high-poly model they mark the differences between models like distance, normal, color and specularity to texturemaps. When they have done this they can render low-poly model which looks almost as good as the high-poly model, with a most notable difference of outlines of character where you still can see sharp polygon edges. Fun thing is that all lighting calculations are made with bumpmap/per-pixel equations and therefore are almost same as with high-poly model.

also with this way of rendering low-polygon characters, they look good and they can have ton\'s of them on screen at once. "they can also make Lod so that each Lod uses the high-poly model as reference."
Against stupidity ..gods themselves.. fight in vain
- Isaac Asimov

Offline Claypool 2001
  • Senior Member

  • Hero Member
  • *****
  • Posts: 531
  • Karma: +10/-0
    • http://
250-500k models in DOOM 3!!!! (DOOM 3 FAQ)
« Reply #4 on: August 13, 2001, 08:43:13 AM »
I hate it when people quote a huge post when they could have just put "in regards to so and so\'s post", but whatever.
-------------------------
Visit The Devastator Homepage
-------------------------
Nothing defeats the Devastator, NOTHING!
-------------------------
The autobots lose, evil triumphs, and you no longer exist!

Offline astroglide
  • Full Member
  • ***
  • Posts: 102
  • Karma: +10/-0
    • http://
250-500k models in DOOM 3!!!! (DOOM 3 FAQ)
« Reply #5 on: August 13, 2001, 07:07:52 PM »
I hate it when people quote a huge post when they could have just put "in regards to so and so\'s post", but whatever.



I hate it when people quote a huge post when they could have just put "in regards to so and so\'s post", but whatever.



I hate it when people quote a huge post when they could have just put "in regards to so and so\'s post", but whatever.



I hate it when people quote a huge post when they could have just put "in regards to so and so\'s post", but whatever.



I hate it when people quote a huge post when they could have just put "in regards to so and so\'s post", but whatever.



I hate it when people quote a huge post when they could have just put "in regards to so and so\'s post", but whatever.
I hate it when people quote a huge post when they could have just put "in regards to so and so\'s post", but whatever.


I hate it when people quote a huge post when they could have just put "in regards to so and so\'s post", but whatever.







I hate it when people quote a huge post when they could have just put "in regards to so and so\'s post", but whatever.

I hate it when people quote a huge post when they could have just put "in regards to so and so\'s post", but whatever.









I hate it when people quote a huge post when they could have just put "in regards to so and so\'s post", but whatever.



I hate it when people quote a huge post when they could have just put "in regards to so and so\'s post", but whatever.



I hate it when people quote a huge post when they could have just put "in regards to so and so\'s post", but whatever.





sorry. never happen again.
I have adjusted well to not being well adjusted.

 

SMF spam blocked by CleanTalk