Welcome, Guest. Please login or register.

Author Topic: Amiga port of Wolfenstein 3D  (Read 7690 times)

Description:

0 Members and 1 Guest are viewing this topic.

Offline Karlos

  • Sockologist
  • Global Moderator
  • Hero Member
  • *****
  • Join Date: Nov 2002
  • Posts: 16867
  • Country: gb
  • Thanked: 4 times
    • Show all replies
Re: Amiga port of Wolfenstein 3D
« on: December 13, 2010, 02:04:28 PM »
Quote from: Xanxi;598420
About 15-25 FPS on AGA 060.


:roflmao:

You can get those sorts of frame-rates Quake 1 on a fast 68060.
int p; // A
 

Offline Karlos

  • Sockologist
  • Global Moderator
  • Hero Member
  • *****
  • Join Date: Nov 2002
  • Posts: 16867
  • Country: gb
  • Thanked: 4 times
    • Show all replies
Re: Amiga port of Wolfenstein 3D
« Reply #1 on: January 09, 2011, 02:32:31 PM »
Quote from: whabang;598661
Really? I was under the impression that Wolfenstein pre-rendered the wall tiles and then simply scaled everything. /me considers looking at the code.

I think it's a pretty basic raycaster, where 1-pixel wide columns are rendered. You cast out you ray and a vertical strip of texels from the appropriate position along the first wall it hits is rendered. There's no floor or ceiling texturing so large rooms are a bonus since most of the columns are going to be far away and thus short and not have many pixels to calculate. It's a strategy that would work well* with software MIP mapping, since the far away walls will tend to skip a lot of texels on the standard sized texture and thus be cache-inefficient.

*also one which would work well if the wall textures are actually rotated 90 degrees so that the vertical scan "down" the wall texture is, in reality, a linear scan through the texels "horizontally"...

Presumably something like this is used, if it wasn't, it is a real waste, especially on any system with a data cache.
« Last Edit: January 09, 2011, 02:35:48 PM by Karlos »
int p; // A