• Join Us |
  • |
  • Sign in with:

The Carmack & The DOOM

by Steve Gibson, Sep 20, 2000 2:27am PDT
Related Topics – DOOM 3, John Carmack

The second part of the John Carmack interview over at VE is up as promised. The Carmack talks a bit more about The DOOM and pretty specific about the current hardware and what would run it.

The renderer is completely new, and very different in structure from previous engines. Interestingly, the interface remained fairly close for a long time, such that I was able to develop most of the DOOM renderer using the rest of Q3 almost unmodified. It finally did diverge, but still not too radically.
Btw, kinda on the topic. I fixed a couple of errors on those fake doom screenshots, sorry about that.





Comments

68 Threads | 218 Comments





  • In the interests of brevity, IÂ’ll use the abbreviation VSD to mean both visible surface determination and culling from now on.

    Why do I think VSD is the toughest 3-D challenge? Although rasterization issues such as texture mapping are fascinating and important, they are tasks of relatively finite scope, and are being moved into hardware as 3-D accelerators appear; also, they only scale with increases in screen resolution, which are relatively modest.

    In contrast, VSD is an open-ended problem, and there are dozens of approaches currently in use. Even more significantly, the performance of VSD, done in an unsophisticated fashion, scales directly with scene complexity, which tends to increase as a square or cube function, so this very rapidly becomes the limiting factor in doing realistic worlds. I expect VSD increasingly to be the dominant issue in realtime PC 3-D over the next few years, as 3-D worlds become increasingly detailed. Already, a good-sized Quake level contains on the order of 10,000 polygons, about three times as many polygons as a comparable DOOM level.


    - this basically meens that VSD is how you figure out what shit needs to be drawn on screen. The challenge is that you can make it draw exactly what should be on screen, but the tests u make the engine run to do this might be slowing down the PC too much. On the other side of things you can let the engine overdraw (draw shit you are not seeing, so its useless) some triangles and pixels, but then of course u are makeing the computer work harder than it really needs to be working


    culling is the act of getting rid of shit u dont need to see

    PVS is the potential visible set, and basically it like in quake, when u stand somewhere, u are standing inside of this invisble 3d square or somehting, and if any face of that square, can see another invisible 3d squares face, then the engine draws the things in that invisible square. So with a PVS, in the level file, there is a look up table, that is coucualted when you "compile" the map. so that look up table is the PVS, and when u stand in that invisble square and quake wants to know what triangles need to be drawn, then it just looks up the PVS. It was done this way because looking up somethig was faster than doing a bunch of tests to figure out whats needs to be drawn.

    The PVS is created when u compile a map. It the Vis process, and it takes a while sometimes to compile, thats the disadvantage to creating a PVS for VSD.

    in the new doom3 i believe carmack is getting rid of VIS to make a PVS and doom3 will figure out on the fly what needs to be drawn by the engine.

    or something