View Issue Details
ID | Project | Category | View Status | Date Submitted | Last Update |
---|---|---|---|---|---|
0006349 | The Dark Mod | Graphics | public | 06.12.2023 20:01 | 05.03.2024 08:40 |
Reporter | stgatilov | Assigned To | stgatilov | ||
Priority | normal | Severity | normal | Reproducibility | sometimes |
Status | assigned | Resolution | open | ||
Product Version | TDM 2.11 | ||||
Target Version | TDM 2.13 | ||||
Summary | 0006349: Cleaning the scissors mess | ||||
Description | This started as a bug for low renderscale (0006214). I think it's time to refactor the whole scissor thing to make it better: 1) Try to make idScreenRect non-inclusive on right side, aka [L..R) --- not sure that would be easy, but such representation is much better. 2) When idScreenRect is computed, it is rounded down then expanded by 1 pixels in all directions. Instead of expanding, just round properly (maybe with tolerance, but no need to expand on lower side). 3) Make a single function to convert from vidsize rectangle to currentFBO rectangle, instead of two functions GL_ScissorVidSize, GL_ViewportVidSize and third function CalcScissorParam in DepthStage. Make sure it is conservative. 4) Do the same for "Relative" case, and make sure it is conservative too. 5) Make sure r_glScissor is respected everywhere, put moving it into scissor wrappers and getting rid of direct scissor API calls. 6) Wrap scissor state into some kind of auto-restore helper to avoid state leaks (this includes both on/off and the rectangle itself). | ||||
Tags | No tags attached. | ||||
I guess viewport should be wrapper too. Subviews (like remote render) have custom viewport, and it is easy to break it. |
|
Regarding point 5, this is resolved in: r10659. Fixed "r_useScissor 0" case. Now r_useScissor only applies to the case when scissor is used for optimization and depends on view. Scissors which are required for correctness are applied regardless of this cvar value, like limiting render region during shadow map fill. |
|
Date Modified | Username | Field | Change |
---|---|---|---|
06.12.2023 20:01 | stgatilov | New Issue | |
06.12.2023 20:01 | stgatilov | Status | new => assigned |
06.12.2023 20:01 | stgatilov | Assigned To | => stgatilov |
06.12.2023 20:01 | stgatilov | Issue generated from: 0006214 | |
06.12.2023 20:01 | stgatilov | Relationship added | related to 0006214 |
08.01.2024 10:01 | stgatilov | Note Added: 0016346 | |
05.03.2024 08:40 | stgatilov | Note Added: 0016562 |