Evolution of FPS Renderers

Discussion in 'Architecture and Products' started by Luminescent, Sep 10, 2004.

  1. Luminescent

    Veteran

    Joined:
    Aug 4, 2002
    Messages:
    1,036
    Location:
    Miami, Fl
    I'm planning on creating a ppt presentation on the pivitol engine renderers that paved the way for the FPS genre, with pics and some tidbits on each. I was wondering if you guys could help me out by providing me with some innovative aspects brought to the table by each game renderer, exploited in-game upon initial release (not the renderer/engine's hypothetical capabilities), along with the corresponding high end video processor and/or cpu available when the game was officially released. Here is the list:

    3D w/sprites (Raycasting)

    Wolfenstein 3D:
    CPU: 286
    VPU:

    Ultima Underworld: Not a raycasting engine as the rest, however it allowed the player to look up, down, and jump: actions never-before-seen in a renderer. In addition, walls weren't limited to straigh lines and could be diagonal. It allowed for in-game fog, a limited form of perspective correction, and some 3D objects.
    CPU:
    VPU:

    Doom: Brought trully 3D levels and dynamic lighting based on 256 colors, but did not allow for looking up, down, or jumping, as Ultima Underworld did 2 years before it.
    CPU: 386/486(xs33)
    VPU:

    Duke Nukem:
    CPU:
    VPU:

    3D w/polygons, lightmaps, and basic texture mapping

    Quake 1: First attempt at 3D with polygons and texture mapping w/ widespread perspective correction, although limited to every 16th pixel with interpolation for those in-between; initially a software rendering approach.
    CPU: Pentium Pro
    VPU:

    Unreal: Initiation of the 3D accelerator as a major factor in game rendering performance and asthetics.
    CPU: Pentium Pro
    VPU: Voodoo 1

    Quake 2: Colored Lighting
    CPU: Pentium Pro
    VPU: Voodoo 1

    Quake 3: Use of software shaders and introduction of shadow volumes. One of the first games to support hardware T&L for accelerated geometry processing.
    CPU: P3
    VPU: Voodoo 3/TNT 2

    Unreal Tournament: Slight Enhancement of Unreal engine
    CPU: P3
    VPU: Voodoo 3/TNT 2

    Unreal Tournament 2003: Use of pixel shaders to accelerate terrain rendering, along with T&L/vertex shaders for large loads of level geometry (size & detail) at playable framerates.
    CPU: P4/Athlon XP
    VPU: R300

    Widespread use of shaders at the vertex and pixel level, although use of precomputed lighmaps and vertex lighting, as in games before

    Halo: Material pixel shaders for visual enhancement and post processing. Vertex shaders used mainly to accelerate rendering.
    Baseline: DX7 class
    Target: DX8 class
    CPU: P4/Athlon XP
    VPU: R3x0

    CryEngine: Material shaders for visual enhancement and post processing at the vertex and pixel level. A mixture of shadowing techniques including shadow maps and stencil shadow volumes. Normal mapping for high detail characters w/o the need for high polygon counts.
    Baseline: DX7
    Target: DX8/9 class
    CPU: P4/Athlon 64/XT
    VPU: R3x0

    Complete real-time lighting model, at the pixel level, w/global dynamic shadows

    Doom 3: First attempt at per-pixel phong shading with a unified scheme including stencil shadow volumes. No solution for indirect lighting. Shaders used to accelerate rendering, more so than for visual enhancement or post processing.
    Baseline: DX7 class
    Target: DX8/9 class
    CPU: P4/Athlon 64/XT
    VPU: NV40/R420

    Combination of the highest quality rendering techniques available for real-time rendering
    UE 3.0: Another variation of the per-pixel phong shading model for direct lighting (point/spotlights) with the addition of fuzzy/soft shadows w/shadow buffers and a limited solution for indirect lighting. Offers extensive use of HDR rendering and a shader material system for visual enhancement and post processing effects.
    Baseline: DX9 class
    Target: DX9 class
    CPU: TBA
    VPU: TBA
     
  2. Polarbear53

    Newcomer

    Joined:
    May 31, 2004
    Messages:
    118
    I can't really help you, but i'd like to see it when your done! :D
     
  3. Luminescent

    Veteran

    Joined:
    Aug 4, 2002
    Messages:
    1,036
    Location:
    Miami, Fl
    Hopefully I can get someone to help me host it when I'm finished so you guys can enjoy it too.

    I'd like to instill in my friends and family, who play games with no real appreciation for the advancement of technology, a sense of wonder and excitement at the progresson of the virtual world. This will serve as my answer to them when they ask me why I visit this site so frequently or why I'm so interested in 3D technology. My response will be: "because it has and will take us to very exciting places"; then I'll show them the presentation. Maybe they'll recognize how much technological work goes into these "silly" games we play. Go and tell Pixar/Dreamworks that their renderers are "silly."
     
  4. swaaye

    swaaye Entirely Suboptimal
    Legend

    Joined:
    Mar 15, 2003
    Messages:
    7,848
    Location:
    WI, USA

    Wolfenstein was probably the days of the 386/early 486(DX/SX 25/33/50/66). Video would have been Trident/S3/Matrox/Cirrus Logic maybe...

    Quake 1 was around with 486/K5/Pentium/PPro (The readme has JC yapping about how PPro rocks for Quake). Video was S3 Virge/Trio, Matrox Millenium, Trident, Cirrus Logic, Rendition, NV1. Quake 1 was originally software-only rendering. Then VQuake, GLQuake, and S3's Quake for Virge showed up.

    Quake 2 - Pentium, PPro, K5/K6. Voodoo1, S3 Virge/Trio, PowerVR. Software and 3D Hardware rendering

    Unreal - Pentium, PPro, P2, K6/-2. We had Voodoo1/2s, Riva128, PowerVR, Rendition V2200s, S3 Virge/Savage3D, Sis junk, NV1. Basically only the Voodoo1 (Glide), Savage3D (S3 Metal), and maybe PowerVR owners could do decent 3D cuz the game had very limited D3D early on. Software rendering was somewhat of an option if you had a top of the line CPU. Unreal's software renderer was extremely optimized and delivered great quality (it even does a limited pixel filtering to remove blockies and is optimized for 32bit color). Unreal uses lots of MMX for audio and software rendering.

    Quake 3 - P2/P3, K6-2/-3. Voodoo2/3, TNT1/2, Matrox G400/G200, PowerVR maybe.

    UT - Same as Quake 3

    UT2003 - P3/P4, AthlonXP. Geforce2/3, Radeon8500.



    Massive brain drain....oh gosh i need a nap now. Somebody fill in the missing stuff....
     
  5. hkultala

    Regular

    Joined:
    May 22, 2002
    Messages:
    276
    Location:
    Herwood, Tampere, Finland
    doom is missing from the list.

    wolfenstein worked even on 286, though I think 386 was out when it came
    It used constant-Z rendering on walls, rendering them vertically ( ie inner loop was not horizontal scanline but vertical line.
    monsters were done with sprites.

    doom worked on 386 but needed 486 to run well, and came when 486sx33 was the most commonly sold machine.
    Doom used constant-Z rendering for walls, roof and floor , it rendered walls vertically and floor/roof vertically.
    monsters were still done with sprites.
    doom used math coprocessor to initialize some tables when starting the game; if the mahcine did not have an FPU then this initialization was done using software floating point which was slow -> starting the game took longer time. But after this initialization phase, everything was done with fixed point.

    quake rendered everything "without tricks" , everything based on perspective corrected 3d triangles. Quake also used FPU for all geometry calculations.
    quake could run on 486DX but it needed pentium's pipelined FPU to really run well.


    Descent is also remarkable game/game engine, you should include that.
    (between doom and quake)
    It used some trick so that it could use constant-Z rendering to all surfaces even though the constant-z-line was not directly vertical or directly horizontal.
    AFAIK descent also did not use triangles but quadrangles as it's basic primitive. Also monsters were done with these.
    descent did not need much more CPU power than doom, ran well with 486's.
     
  6. Luminescent

    Veteran

    Joined:
    Aug 4, 2002
    Messages:
    1,036
    Location:
    Miami, Fl
    I didn't include Doom because it didn't seem like a significant step in engine design from Wolfenstein, imo, and from the description of its rendering techniques above (thanks, btw), I stand on that conclusion. There are many great in-between games that I did not include (ie half-life), however these are based on a variation of one of the above-mentioned engines.

    I'm not sure about include descent, as it does not include the rendering of human/humanoid characters, which is a major aspect of rendering that I would like to make a point out of. The fps genre has been the one to pioneer 3D technology and rendering in the last few years, which is why I chose it; I know there are many other great engines, but it is a more visible contrast if all the games in the presentation share the first person perspective.
     
  7. BlackAngus

    Newcomer

    Joined:
    Apr 2, 2003
    Messages:
    111
    Er. If I remember correctly Doom was so spanking fantastaic because it was the first FPS that allowed more than a single plane view (You coiuld look up and down in doom). No FPS before that, could you acutally look up and down. But I could be wrong...
    IMHO Dooms renederer was way better than wolf's. Wolf only allowed for square rooms. Doom allowed for more flexable level design then any game FPS previous to it, but then I dunno if falls into the renderer category.
    But I can see your point about not including it...I just think the level of detail that doom allowed for was definitlly a step above wolf by quite a bit.

    Cheers!
     
  8. Luminescent

    Veteran

    Joined:
    Aug 4, 2002
    Messages:
    1,036
    Location:
    Miami, Fl
    Hmm, perhaps then Doom was to Wolf what Unreal Tournament was to Unreal. I guess I may include it, then. I mean, it is part of the progression of 3D environments. If I chose not to include it, I would have to omit some of the other 3D engines which weren't a revolutionary step ahead of their predecessors.
     
  9. Scali

    Regular

    Joined:
    Nov 19, 2003
    Messages:
    2,127
    I want to vote for Doom aswell, since it is far superior to Wolfenstein in terms of rendering and realism (for example the use of illumination).
    You couldn't look up and down in Doom though... I believe that was later added in ZDoom or such. I believe Heretic was the first Doom-like game with up/down viewing.

    And I think Quake 2 and 3 can be dropped from the list, since they don't add anything significant over Quake 1 (the OpenGL version of Quake 1 ofcourse).

    Perhaps you could also include Halo, as the first(? at least on xbox?) FPS to use shaders on everything, considerably increasing the realism of the world, the characters, and the special effects (bumpmaps on everything, specular highlights, reflections, refractions, shadows... etc).
     
  10. Jamm0r

    Newcomer

    Joined:
    Dec 31, 2002
    Messages:
    56
    The first FPS (hybrid in this case) that allowed up/down viewing was Ultima Underworld, in 1992.. and remains to this day one of the most overlooked 3d engines ever, having a similar featureset to the Doom 3d engine (and more, see up/down capability) two years before Doom hit the shelves.
     
  11. mangrove

    Newcomer

    Joined:
    Feb 6, 2002
    Messages:
    57
    I agree that Doom is missing.

    Wolfenstein ran pretty well on a 286, but it needed a VGA card, which was not all that common in 286s (EGA was the standard). Wasn't the mode called MCGA or something like that? 320x240x256, I believe IBM used it first in their PS/2 computers, the 8514/A graphics adapter or something like that (they also had a matching 8514 monitor). I had one of these in a 386 PS/2 with MCA bus -- I think it could do 800x600 in 16 colors and 320x240 tops in 256 colors. These were the days. I preferred my 286 though, a spanking 10MHz with 287 math processor, Tseng Labs ET-3000 VGA graphics, original Sound Blaster and 80 MB SCSI hard drive! :twisted: I miss that system...

    Aaaah... Descent. I have never been defeated in Descent :wink:
     
  12. anaqer

    Veteran

    Joined:
    Jan 25, 2004
    Messages:
    1,287
    Then you might as well go ahead and remove Quake 3, because Q2--->Q3 is not any bigger of a step up then Wolf3D--->Doom (maybe even smaller).

    AFAIK that was just plain 320x200x256.
     
  13. Hyp-X

    Hyp-X Irregular
    Veteran

    Joined:
    Feb 6, 2002
    Messages:
    1,170
    No, it didn't do constant-Z rendering, it used horizontal scanlines with perspective correction just like quake did.

    Perpsective correction is costly (needs two division, or one division and two multiplization) so both Descent and Quake calculated it for every 16 pixel only and used linear interpolation in-between.
    Descent had 2 div, done on the CPU - it run well on 486 or it run quite well on Pentium in 640x480.
    Quake had 1 div and 2 mul, done on the FPU - so it needed a Pentium to run well.
     
  14. Reverend

    Banned

    Joined:
    Jan 31, 2002
    Messages:
    3,266
    What happened to Monolith and Shogo?
     
  15. Luminescent

    Veteran

    Joined:
    Aug 4, 2002
    Messages:
    1,036
    Location:
    Miami, Fl
    Alright, I edited the list to include Doom. In addition, I'm not going to add much about Quake 2 and 3, as well as Unreal Tournament and Unreal 2, as they're only modifications of the original quake/unreal engine.
     
  16. thop

    thop Great Member
    Veteran

    Joined:
    Feb 23, 2003
    Messages:
    1,286
    PC only? Anyway i always liked the Forsaken game and engine back then which kinda is a FPS.
     
  17. bloodbob

    bloodbob Trollipop
    Veteran

    Joined:
    May 23, 2003
    Messages:
    1,630
    Location:
    Australia
    I though UE 3 didn't have a unified shadowing system??
     
  18. rashly

    Regular

    Joined:
    Mar 5, 2003
    Messages:
    269
    Location:
    NY, USA
    Quake 2 introduced colored lighting, right?
     
  19. zeejay

    Newcomer

    Joined:
    May 12, 2004
    Messages:
    5
    Location:
    C.A
    What about Duke Nukem 3d? Pretty much like doom but it had some nifty tricks in there.
     
  20. Goragoth

    Regular

    Joined:
    Feb 4, 2003
    Messages:
    363
    Location:
    NZ
    Doom: First FPS with the ability to render true 3d levels. Wolf3D had levels that were all on one flat plane, in Doom you could go up stairs, jump over platforms, etc... This is big. Also it used the diminished lighting effect (things further away are darker) which was quite an achievement at the time.

    Yes, that was one of the key features of Q2 over Q1 (GLQuake anyway, otherwise hardware rendering obviously).

    Quake3: Introduced programmable shaders (done in software) for the first time. Very limited by todays standards but it should be noted.

    I would seriously question the inclusion of UT2k3 in the list as it added nothing in terms true rendering advancements as far as I'm aware. Feel free to correct me on that but it seems purely more polys, bigger textures. Nice, but not revolutionary. I would rather include FarCry as the first game to make good use of PS2.0 but its not really revolutionary either and PS2.0 use is still limited. Very pretty game nonetheless.

    HL2/Source does make large use of shaders but I don't see its renderer being particularly advanced compared to say the CryEngine. Its strength is in other areas and I wouldn't really include it when talking about graphics but I know many people disagree on that :)

    UE3: Not unified lighting or shadowing!!! The strength of that renderer actually seems to me to be that it uses every trick known to man to get the highest quality frames it can. It still has precomputed lighting (radiosity) as well as realtime perpixel lighting, it uses several shadowing techniques etc... Its impressive but like FarCry I can't think of anything that it does that really sets it apart (maybe now but by the time its released most of the techniques will have been used extensively). It just does everything it does very well and combines a huge amount of techniques.
     

Share This Page

Loading...