CacophonousChorus

Members
  • Content count

    3
  • Joined

  • Last visited

About CacophonousChorus

  • Rank
    Newbie
  1. @fraggle So, each visplane is just a vertical strip using a texture and neighboring strips with the same texture and z height are merged? How are the UV calculations done? I.e., how is the first UV offset picked at the bottom of a visplane given a particular x coordinate? Would you have to store the world space coordinates for the bottom of each column of each wall and then interpolate from the player's position to that point to get the first UV (then just interpolate UV/Z until you hit the top of that visplane column)?
  2. @scifista42 The first link states that the visplanes represent a horizontal list of columns to draw, but your video shows the visplanes being rendered as horizontal lines rendered sequentially as they move toward the center of the screen. Which is it? Is it possible that the columns are rendered first to a buffer and then all rows are drawn to the screen one at a time, or is the link incorrect, or am I incorrectly reading it? I'd look at the source, but I'm really trying not to as it feels kind of like cheating, if that makes sense.
  3. I've come to the point where I now need to add the rendering of visplanes to my engine. How does DOOM exactly handle them? What type of math (equations) is involved? Are they computed one at a time, or by scanline at a time? If it's a scanline at a time, then is it done vertically or horizontally for each visplane? How are the offsets into each texture computed? Any insights into the overall process would be immensely appreciated as I'm having a difficult time wrapping my head around the general process. Thanks!