-
Notifications
You must be signed in to change notification settings - Fork 573
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Better flat visibility checks for Ortho projection. #2905
base: master
Are you sure you want to change the base?
Conversation
do you have a wad i can use to test these changes? |
viewpos_3rdperson.zip |
hmm. I just discovered that r_dithertransparency isn't working with 3d floors. I remember putting it in at some point. |
…ke it into vkdoom but not gzdoom?)
If this isn't getting in soon, can I pile on the OoB visual-portal-rendering commits into this PR? It touches the sacred files, meaning will require more extensive testing. |
yeah i've been busy with work and the bone manip branch, so haven't had much of a chance to test it yet, so feel free to add more stuff |
…nts. SkyPortals will be stenciled, and will always use perspective projection. Disabled interpolation when portalgroup changes (portal transition occurs) if viewpoint is OoB (was necessary for fog of war when r_radarclipper is set to true). Tightened up radar clipper by making it more aggressive. Voided walls wont' get filled in by a floor or ceiling sky (because of the stencil). Ceiling sky will be half-infinitely tall upwards, and floor sky will be half-infinitely tall downwards. Use only floor skies and a good GLSKYBOX for top-down/isometric cameras. Level.ReplaceTextures("F_SKY1", "SKY1", TexMan.NOT_FLOOR); (zscript) is a nice trick for WorldLoaded().
viewpos_3rdperson_2.zip LinePortals and skyportals now render in OoB viewpoints. Sky will be stenciled (so textureless walls don't get filled in). Still no sector-portal rendering (sky in floor works though). I also disabled interpolation for the moment when portalgroup changes (a vague proxy for portal transition) for OoB viewpoints. radarclipper fog-of-war was acting up otherwise, revealing unexplored rooms when I go through a portal and come back. Sky example: https://youtu.be/fL2okDsv-BA |
…o create a new type of portal stencil for the HWPlaneMirrorPortal. Stacked sector portals could be made to work the same way, but there are clipper issues, revealing out-of-view sections of the map on the other side. Hence sector portal rendering is still disabled in OoB viewpoints.
viewpos_3rdperson_3.zip |
viewpos_3rdperson_4.zip |
…oB is not the same as Ortho.
i'll try to test this PR during the coming weekend 👍 |
Using sign of dot-product between view vector and flat normal to determine orthographic-projection visibility for flats, instead of the default
ZatPoint()
height check.