Linguica Posted March 16, 2002 Lead id programmer John Carmack updated his .plan yesterday with a small blurb about a new NVidia white paper on the subject of shadow volume rendering, which is of course one of the cornerstones of the Doom 3 engine. Also on the site is a small document, dating from May 2000, detailing previously unpublished correspondence with Carmack where he talks about his forays into shadow volume rendering. Here's a little blurb to make your head hurt: The next iteration involved attempting to "preload" the standard stencil shadow algorithm by the number of clipped away planes. I first drew the shadow volumes with depth test disabled, incrementing for back sides and decrementing for front sides. This finishes with a positive value in the stencil buffer for each plane that is clipped away at the view plane. The normal depth tested shadow volume is drawn next, with the change polarity reversed, decrementing for back sides and incrementing for front sides. The areas not equal to the initial clear value are in shadow. Ow, I need to go lie down. 0 Share this post Link to post
Naked Snake Posted March 16, 2002 My head fucking hurts from trying to understand that 0 Share this post Link to post
Zaldron Posted March 16, 2002 Typical Coder's way to develop new stuff. First they toy with the idea, then they add stuff until it works in all cases, and then realize how redundant is the code and proceed to write it all over again in a minimalistic way. Who says coding's not an art? Afterall it's all about inspiration. 0 Share this post Link to post
læmænt Posted March 16, 2002 Really, who says that? They should be shot imho :) 0 Share this post Link to post
Zaldron Posted March 16, 2002 Really, a couple of years ago when I was working in a game with several of my real-life friends I noticed this trend (4 years and minimal progress, school sucks). I remember we were working on a isometric engine like the one in Ultima VII or LBA. While I was drawing some wall and doors templates, this coder friend was trying to develop a fast way to sort the sprites and render them correctly depth-wise. He went for 20 minutes, working with the math in a piece of paper. That's when he started laughing and banging his head against the wall. I take a look at the piece of paper and realize the first draft of the algorythm contained a couple of arc sin and arc cos, while the final form was just : X + Y Damn I miss those times. 0 Share this post Link to post
Shaviro Posted March 16, 2002 Originally posted by Zaldron Really, a couple of years ago when I was working in a game with several of my real-life friends I noticed this trend (4 years and minimal progress, school sucks). I remember we were working on a isometric engine like the one in Ultima VII or LBA. While I was drawing some wall and doors templates, this coder friend was trying to develop a fast way to sort the sprites and render them correctly depth-wise. He went for 20 minutes, working with the math in a piece of paper. That's when he started laughing and banging his head against the wall. I take a look at the piece of paper and realize the first draft of the algorythm contained a couple of arc sin and arc cos, while the final form was just : X + Y Damn I miss those times. My long life dream is to create a game. 0 Share this post Link to post
spank Posted March 16, 2002 LBA is called Relentless in the States, I think... 0 Share this post Link to post
Zaldron Posted March 16, 2002 Yeah that one. Anyway the game was going to be a RPG following the lines of Ultima VII and Serpent Isle. Just at 800x600@24 :) 0 Share this post Link to post
Fredrik Posted March 16, 2002 Originally posted by Zaldron I remember we were working on a isometric engine like the one in Ultima VII or LBA. While I was drawing some wall and doors templates, this coder friend was trying to develop a fast way to sort the sprites and render them correctly depth-wise. He went for 20 minutes, working with the math in a piece of paper. That's when he started laughing and banging his head against the wall. I take a look at the piece of paper and realize the first draft of the algorythm contained a couple of arc sin and arc cos, while the final form was just : X + Y Damn I miss those times. Roflmao! I wish that was possible at all times :) 0 Share this post Link to post
magikal Posted March 16, 2002 Originally posted by Zaldron Typical Coder's way to develop new stuff. First they toy with the idea, then they add stuff until it works in all cases, and then realize how redundant is the code and proceed to write it all over again in a minimalistic way. Who says coding's not an art? Afterall it's all about inspiration. Yup,this is often the creative path and not just in gaming. Simplicity is often the desired result but 'simple' should never be confused with 'easy' as it often is.You usually have to work through the 'guff' to get to the core. 0 Share this post Link to post
mmnpsrsoskl Posted March 16, 2002 The cloest thing to me making a game was when we had to make one for an assignment at school. I totally botched up the code and the game had millions of bugs and errors. You flew around in a plane shooting the answers to maths problems...but I still got a C+ for it so I was happy. 0 Share this post Link to post
pritch Posted March 16, 2002 this is all way over my head. I am an arts person. 0 Share this post Link to post
Law Posted March 16, 2002 When will id software find the five minutes to program a game that goes with all these graphical effects? 0 Share this post Link to post
Psyonisis Posted March 16, 2002 I once made a game in Turing that involved blasting away Pikachu into gibs... it had animated gibs and shotgun sounds and everything. Heh 0 Share this post Link to post
Fredrik Posted March 16, 2002 I've made a game where you shoot my face. It's available on the Internet - see if you can find it. 0 Share this post Link to post
Moonflower Posted March 16, 2002 I think what Carmack is trying to say is that he's programming a flying plane that will spread ammo clips over the city in the game, and that he's in a dark area of the room he's working in, hence the shadows... 0 Share this post Link to post
Moonflower Posted March 16, 2002 I think the last line means Linguica is sick... 0 Share this post Link to post
Fredrik Posted March 16, 2002 Carmack should be programming instead of writing that mumbo jumbo =P 0 Share this post Link to post
Shaviro Posted March 16, 2002 Originally posted by Fredrik I've made a game where you shoot my face. It's available on the Internet - see if you can find it. !!!I bet a lot of people would LOVE to get their hands on that :) 0 Share this post Link to post
Fredrik Posted March 16, 2002 Originally posted by Maonth !!!I bet a lot of people would LOVE to get their hands on that :) Heh haven't you played it already? 0 Share this post Link to post
Shaviro Posted March 16, 2002 Originally posted by Fredrik Heh haven't you played it already? No dammit! 0 Share this post Link to post
Shaviro Posted March 16, 2002 Originally posted by dsm Do you hate fredrik that much? No. I love fredrik in a non-gay, brotherly fashion. 0 Share this post Link to post
Jonathan Posted March 16, 2002 Clearly what Carwank is trying to say is that the next iteration involved attempting to "preload" the standard stencil shadow algorithm by the number of clipped away planes. So first he drew the shadow volumes with depth test disabled, incrementing for back sides and decrementing for front sides. This finished with a positive value in the stencil buffer for each plane that was clipped away at the view plane. The normal depth tested shadow volume was drawn next, with the change polarity reversed, decrementing for back sides and incrementing for front sides. The areas not equal to the initial clear value were in shadow. To demonstrate imagine we were shining a bright light into Fredrik's face: ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ |/ ___/|~ ~ ~ ~ ~|||||||| |/ [___ | ~ ~A~ ~ |o) (o)| |/ \|~ ~ ~ ~ ~| ( ) | B |/ ~ ~ ~ ~ ~\____ | |/ | | |/ Now apart from the fact that Fred is now permanently blind due to the power of the 2 million candlepower light being shone directly into his eyes from a distance of 30cm, we can see that: o Area A is lit up o Area B is in shadow Now imagine Carwank was to "preload" (drop) the standard stencil shadow (10 ton weight) by the number of clipped away planes (onto Fred's head). The result would be something like this: ~ ~ ~ ~ ~ ~ __~ ~ ~ ~ ~ |/ ___/|~ ~ ~ ~ ~ __(__)_ _ |/ [___ | ~ ~A~ ~ / | \ B |/ \|~ ~ ~ ~ / 10 TON | \ |/ ~ ~ ~ /_________|___\ |/ $%&^^%&$%$%%^ |/ Now if we were to measure the new area B compared with the old area B and then factor in the weight of the ten ton weight, using a formula something like this / (B.x^10 * B.y^10) \ | ------------------ * B.z^10 * B.y^10 | * 1337E10 * $666 & 110110110 \ (B.z^10 * B.x^10) / We'd get the sextant coordinates to the secret map showing the location of the lost city of atlantis, in the centre of which lies the great lost oracle database containing the shadow values for every possible situation in any fps game EVER, all within a 12k zip file, searchable with only a 0.004 second delay. I hope this explanation clears up any confusion, feel free to contact JC himself for any clarification, through the healing power of prayer! You CAN change your life! 0 Share this post Link to post
Virgil Posted March 16, 2002 Here's a link to a picture of the bug: http://www.geocities.com/Virgil_32_0/pics1/dw_1.bmp As you can see, most of the text is either black (the color of the backgound) or illegible. I use Netscape 4.7 (to avoid some of the browser privacy issues IE brings up...) 0 Share this post Link to post
Fredrik Posted March 16, 2002 Jonathan: ROFLMAO Fucking post of the year. But where's my long hair? 0 Share this post Link to post