Jump to content
Search In
  • More options...
Find results that contain...
Find results in...


  • Content count

  • Joined

  • Last visited

About SaladBadger

  • Rank
    Senior Member

Recent Profile Visitors

The recent visitors block is disabled and is not being shown to other users.

Single Status Update

See all updates by SaladBadger

  1. Doom's renderer evolution is weird. If you're familiar with the final rendering code, with its use of polar coordinates for projection and clipping and the use of a BSP to determine rendering order, the 0.5 rendering code is completely different. Points are projected and clipped using relatively conventional algorithms (it's so by the book that the projected vertex structure uses x for position left/right on screen and z for depth, unlike the map format). Processed lines are shoved into subsectors, spans are generated and drawn (no visplanes here yet, but I haven't traced flat rendering just yet), then it flows into adjacent sectors by looking at 2s lines that made it into the subsector. This is depth-first rather than breadth-first. When the renderer is unable to draw further, it draws all the things in the current sector, and then backs up. This has the fun effect of making things standing on the line between sectors sometimes get cut off based on how the game walked the sectors.


    I'm still working on the code cleanup, I want to be able to show how this works alongside fully functioning code.