[PR #7048] Reworked retro mode #26838

Closed
opened 2026-01-31 09:18:25 +00:00 by claunia · 0 comments
Owner

Original Pull Request: https://github.com/microsoft/terminal/pull/7048

State: closed
Merged: No


Summary of the Pull Request

Reworked retro mode. This is a proposal and I expect feedback will be "mixed" and most likely rejected :).

The change is primarily in the pixel shader code but also a change of semantics of _ComputePixelShaderSettings in that it updates the pixel shader settings resource as this is now needed in several places.

Pixelshader code was tested manually,

References

https://github.com/microsoft/terminal/issues/6191

(I think with some more tweaks we could very close to the examples in the issue)

PR Checklist

(These are not completed yet, will do obviously if the PR seems interesting)

  • Closes #xxx
  • CLA signed. If not, go over here and sign the CLA
  • Tests added/passed
  • Documentation updated. If checked, please file a pull request on our docs repo and link it here: #xxx
  • Schema updated.
  • I've discussed this with core contributors already. If not checked, I'm ready to accept this work might be rejected in favor of a different grand plan. Issue number where discussion took place: #xxx

Detailed Description of the Pull Request / Additional comments

  1. Simulates CRT "bulge"
  2. Reworked scan line filter
  3. Removed blur as it distracted too much in my humble opinion. I would
    like to re-add a more subtle blur but was unable to get it to look right
    without taking too much GPU time.
  4. Simulates broken CRT by distorting colors across x/y

I also believe the new retro look should be less GPU intensive due to
the removal of the blur function (downsampling is expensive).

The bulge causes issues with copy-paste (as the coordinates don't match). Could be solved by transforming the coordinates.

Validation Steps Performed

Manual steps:

  1. Enabling retro effect "experimental.retroTerminalEffect": true.
  2. Checking the retro effects looks as expected.
  3. Checking that settings is reloaded live
**Original Pull Request:** https://github.com/microsoft/terminal/pull/7048 **State:** closed **Merged:** No --- ## Summary of the Pull Request Reworked retro mode. This is a proposal and I expect feedback will be "mixed" and most likely rejected :). The change is primarily in the pixel shader code but also a change of semantics of `_ComputePixelShaderSettings` in that it updates the pixel shader settings resource as this is now needed in several places. Pixelshader code was tested manually, <!-- Other than the issue solved, is this relevant to any other issues/existing PRs? --> ## References https://github.com/microsoft/terminal/issues/6191 (I think with some more tweaks we could very close to the examples in the issue) ## PR Checklist (These are not completed yet, will do obviously if the PR seems interesting) * [ ] Closes #xxx * [ ] CLA signed. If not, go over [here](https://cla.opensource.microsoft.com/microsoft/Terminal) and sign the CLA * [ ] Tests added/passed * [ ] Documentation updated. If checked, please file a pull request on [our docs repo](https://github.com/MicrosoftDocs/terminal) and link it here: #xxx * [ ] Schema updated. * [ ] I've discussed this with core contributors already. If not checked, I'm ready to accept this work might be rejected in favor of a different grand plan. Issue number where discussion took place: #xxx ## Detailed Description of the Pull Request / Additional comments 1. Simulates CRT "bulge" 2. Reworked scan line filter 3. Removed blur as it distracted too much in my humble opinion. I would like to re-add a more subtle blur but was unable to get it to look right without taking too much GPU time. 4. Simulates broken CRT by distorting colors across x/y I also believe the new retro look should be less GPU intensive due to the removal of the blur function (downsampling is expensive). The bulge causes issues with copy-paste (as the coordinates don't match). Could be solved by transforming the coordinates. ## Validation Steps Performed Manual steps: 1. Enabling retro effect `"experimental.retroTerminalEffect": true`. 2. Checking the retro effects looks as expected. 3. Checking that settings is reloaded live
claunia added the pull-request label 2026-01-31 09:18:25 +00:00
Sign in to join this conversation.
No Label pull-request
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: starred/terminal#26838