Background
Although it looks 3D, the raycasting technique used by Wolfenstein 3D is actually a clever way of rendering a 2D world. It 'fakes' a 3D perspective by rendering columns of pixels with varying heights, based on the distance of the wall to the player. The world itself is a 2D grid with cells, with each cell containing information about whether a cell is empty, solid or contains a prop (a vase or exit sign). The only difference between walls and props is that a prop has a distance based on its own origin to the player, regardless of the texture column being drawn. For more information about this render technique and its underlying mathematics, see this explanation.