Skip to content
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

Portals don't blend #1011

Closed
illwieckz opened this issue Jan 4, 2024 · 0 comments · Fixed by #1031
Closed

Portals don't blend #1011

illwieckz opened this issue Jan 4, 2024 · 0 comments · Fixed by #1031

Comments

@illwieckz
Copy link
Member

illwieckz commented Jan 4, 2024

This was described in #935:

#935

But in fact portal blending and alphaGen portal are two different features (while the second one may depend on the former though).

We can't blend rendered cameras with special effects, like in pulse map:

Tremulous:

portal over texture

Unvanquished:

portal over texture

The lack of portal blending is technically not a bug to fix, it's a feature request: the feature has to be implemented or to be finished,which is not the same amount of work than fixing something that worked before, one cannot make it work by bisecting or something, the code is not there yet.

There may be code for that feature to port from ioquake3.

@illwieckz illwieckz added the T-Feature-Request Proposed new feature label Jan 4, 2024
VReaperV added a commit to VReaperV/Daemon that referenced this issue Jan 6, 2024
Enables writing to color buffer when rendering the portal surface in FinalisePortalCommand::ExecuteSelf(). Changes glStencilOp to avoid depth test failing and clears stencil buffer in case there were multiple portals on the screen. Fixes DaemonEngine#1011.
VReaperV added a commit to VReaperV/Daemon that referenced this issue Jan 15, 2024
…th mirrors

Fixes portal blending with portal surfaces, misc_portal_surface entity selection and GL_FrontFace for mirrors in chains of recursive portals/mirrors. Fixes DaemonEngine#1011. Disables the 64qu distance limit for portal entities which wasn't working properly anyway.
VReaperV added a commit to VReaperV/Daemon that referenced this issue Jan 19, 2024
…th mirrors

Fixes portal blending with portal surfaces, misc_portal_surface entity selection and GL_FrontFace for mirrors in chains of recursive portals/mirrors. Fixes DaemonEngine#1011. Disables the 64qu distance limit for portal entities which wasn't working properly anyway.

We only need to render one stage for portal surfaces in depth and stencil passes, so render the first one available in Tess_StageIteratorPortal(). Don't compute color and texMatrices since we don't use those at this stage.
VReaperV added a commit to VReaperV/Daemon that referenced this issue Jan 19, 2024
…th mirrors

Fixes portal blending with portal surfaces, misc_portal_surface entity selection and GL_FrontFace for mirrors in chains of recursive portals/mirrors. Fixes DaemonEngine#1011. Disables the 64qu distance limit for portal entities which wasn't working properly anyway.

We only need to render one stage for portal surfaces in depth and stencil passes, so render the first one available in Tess_StageIteratorPortal(). Don't compute color and texMatrices since we don't use those at this stage.
VReaperV added a commit that referenced this issue Jan 19, 2024
…th mirrors

Fixes portal blending with portal surfaces, misc_portal_surface entity selection and GL_FrontFace for mirrors in chains of recursive portals/mirrors. Fixes #1011. Disables the 64qu distance limit for portal entities which wasn't working properly anyway.

We only need to render one stage for portal surfaces in depth and stencil passes, so render the first one available in Tess_StageIteratorPortal(). Don't compute color and texMatrices since we don't use those at this stage.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
Status: Done
1 participant