Commit graph

13 commits

Author SHA1 Message Date
James R 7060083db5 Update copyright year to 2020 2020-02-19 14:08:45 -08:00
Jaime Passos dedd5527da Restore portal culling code that went gone by pure accident 2019-12-11 11:35:34 -03:00
Steel Titanium d415cd5c6d
Update copyright date on source files 2019-12-06 13:49:42 -05:00
Nev3r a1b2a0a344 Properly take skybox viewpoint angle into account. 2019-06-11 14:47:58 +02:00
Nev3r d2605e0314 Remove remnants of portalcullsector. 2019-06-10 17:13:04 +02:00
Nev3r 581e80ed69 Made Portal_Add static; move ffloors clip reset from R_RenderPlayerView to r_plane. 2019-06-09 22:48:54 +02:00
Nev3r 8c3ddd61d5 Refactored a bit of code regarding visplane bound trimming for portals; reset ffloor's f_clip/c_clip so that FOFs on portals don't interfere with previously acquired bounds. 2019-06-07 13:10:12 +02:00
Nev3r 0d77e8afaf Add pad checks for visplanes; invalidate invalid columns from visplanes (visplane renderer and column renderers don't speak exactly the same language).
The visplane portal top boundary offset has been restored since all known bugs involving it have been fixed.
2019-06-06 11:26:13 +02:00
Nev3r 1c14062e8b Vissprite clipping improvements.
Vissprites are now only clipped against their respective portal's geometry obtained from their BSP run.
Additionally, if a portal is provided, they're clipped to the portal's clip boundaries.
The work on this branch should conclude after a pair of remaining glitches are fixed.
2019-06-05 18:07:08 +02:00
Nev3r 25b56ffecd Masked elements are now fully grouped individually for each portal/view; fixed viewz-related glitches,.
The drawnodes are now fully grouped in separate lists, and then sorted individually. This fixes sorting problems caused by portals belonging to differently perceived scales (skyboxes for example).

Drawsegs and vissprite/drawnode sorting require the viewz, so the viewz is stored for each portal/view, and then restored when needed; without this, the rendering process erroneously sorts the elements, and draws some at wrong positions.
2019-06-05 12:10:59 +02:00
Nev3r b22aa784fb Set a default frontscale for visplane portals.
I don't know whether this is necessary or not but I'm poking blindly trying to fix the sorting issues for now.
2019-06-04 21:04:35 +02:00
Nev3r 264386f842 Add visplane portal creation functionality and use it to replace the skybox rendering.
The skybox rendering process has been replaced with portals instead. Those are generated after the first BSP tree pass by looking for existing sky visplanes at the time, and their windows are used to define new portals.
The skybox portals are still incomplete and cause visual glitches when masked elements are involved.
2019-06-02 00:07:55 +02:00
Nev3r df0a40b3c2 Code refactoring to turn portal struct into a more generalized shape.
Split portal-related code to its own source files.
Most of the 2-line-specific setup has been moved to the function which adds a 2-line case. The portals should render as they used to so far, anyway.
2019-06-01 13:07:23 +02:00