-
Notifications
You must be signed in to change notification settings - Fork 177
Add antialiasing setting. #1427
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
Conversation
The following links are available:
build (macOS-10.15, client) build (macOS-10.15, full) build (windows-latest, full) build (self-hosted_debian-11_aarch64, full)
|
I've tested it on Linux in Desktop mode, and on Windows 10 in Desktop and VR mode. Works as intended in every case and helps avoid extreme blurriness issue with TAA on HP Reberb G2. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Some very minor notes mostly related to the comments. Otherwise, looks great!
|
||
void setAAMode(int mode); | ||
int getAAMode() const { return _mode; } | ||
|
||
void setDebugFXAA(bool debug) { debugFXAAX = (debug ? 0.0f : 1.0f); emit dirty();} | ||
bool debugFXAA() const { return (debugFXAAX == 0.0f ? true : false); } | ||
|
||
int _mode{ TAA }; | ||
int _mode{ TAA }; // '_' prefix but not private? |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I'd move it. It doesn't seem to be referenced from anywhere, so this is likely not intentional.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Ok, that's what I thought. I couldn't find any references to it but I'm not confident I would be able to confirm any problems in testing. I think it would be best to move it separately from this PR, but I can move it here if you want.
@@ -140,7 +140,7 @@ void Antialiasing::run(const render::RenderContextPointer& renderContext, const | |||
#else | |||
|
|||
void AntialiasingConfig::setAAMode(int mode) { | |||
_mode = std::min((int)AntialiasingConfig::MODE_COUNT, std::max(0, mode)); | |||
_mode = std::min((int)AntialiasingConfig::MODE_COUNT, std::max(0, mode)); // Just use unsigned? |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Ints are just more comfortable to work with, I figure. You have to take the problems of it being unsigned everywhere.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I find unsigned ints much more intuitive for enums, but I guess it doesn't matter. This particular line just seems like a waste so I wanted to flag it for you.
Works. And I must say, having been involved with this engine and project for several years, Vircadia at 2x resolution on Oculus Quest (Link) in VR with antaliasing off, all effects off, looks so incredibly clean. The moment any effects are turned on there are huge amounts of aliasing introduced. |
The following links are available:
build (macOS-10.15, client) build (macOS-10.15, full) build (windows-latest, full) build (self-hosted_debian-11_aarch64, full)
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Works for me as well. Two things that should be mentioned: this is not set by any of the presets and is controlled independently. Also, it can be set while not using the Custom preset. It might be nice to put a divider between this and the other settings later. However, the ideal is for settings to all be selectable even when using a preset, upon changing something it just sets you to "Custom" anyway.
Notes for another time...
It seems to do its job, thank you!
No description provided.