tempun
Member
Posts: 447
Registered: 08-09 |
beetlejoose said:
I'll answer based on what I think you mean, but if I'm wrong then please give some more details.
Do you mean to render the output onto a series of large flat surfaces?
If we restrict view patch so that you can't see what's exactly below you, then three will suffice. If Doom had narrower horizontal field of view, then more would be needed. beetlejoose said:
Simple, but unfortunately that won't produce the desired effect.
As you rotate the view the image on the surfaces become compressed.
I don't understand what you're talking about. I can't see any distortion of the sky if it's made as a skybox. beetlejoose said:
Imagine when you have rotated so that your viewpoint is in the plane of a surface then you won't see anything at all.
You can't. You're always inside a skybox,and you don't move relative to it.
beetlejoose said:
A sphere produces the correct projection. But even when rendering a sphere on a graphics card its an approximation made out of small flat surfaces - triangles. Each triangle has the same distortion as above but because they can be made small and many a better approximation can be achieved and the distortion minimized.
Let me explain again.
Doom already correctly projects the scene on the screen, but only if the view pitch is zero. So if we want to render a scene with view pitch P and yaw Y, we make a temporary skybox : front side - view with yaw Y, left side with yaw (Y + 90) , right with yaw (Y - 90), all three views made with doom renderer, assuming that horizontal FOV is 90 degrees (if not, replace 90 with hor.FOV and rotate skybox walls accordingly) Now, render the skybox. Your viewpoint: in the center of the skybox,yaw=0 (we took care of it before) and pitch P.
|