Enable gamma correction by default

Currently the default for “GammaCorrection” in AppSettings is false:

I remember Nehon wanted to change it to true. Perhaps that change should happen in JME 3.4. Any opinions?

2 Likes

I’d suggest changing it to true - it should always be used, and it’s a subtlety that’s easy to miss.

2 Likes

He also said it should be removed from SettingsDialog.

1 Like

That part I disagree with.

Apps that are using unshaded or regular lighting and have configured colors specifically will all look broken and washed out. Being able to toggle that check box off to check is a huge advantage to tracking down what the real issue is instead of just assuming 3.4 is broken.

As I recall, even the JME color constants look messed up with gamma=true because there is no easy programmatic way of using setAsSrgb() in a way that is different when gamma is/isn’t enabled.

There is no way to disable the toggle short of not using the dialog is there?

Yeah, just like there is no way to disable AA without not using the dialog, etc…

It’s currently a very basic dialog meant primarily for tests, examples, and prototyping.

…which I guess is ok in the end since it’s one of the half-dozen issues with glfw…

Right, makes sense.

I wish we could get away with enabling vsync by default, too… but I know folks would freak out if suddenly their app is only rendering exactly as many frames as needed instead of 10x more than their display can ever show. :wink:

4 Likes

Yeah, I decided not to mention that tiny detail :frowning: One step at a time!

If there’s no objection by Thursday (to changing the gamma default) I’ll change it in master branch.

1 Like

There is no way to disable the toggle short of not using the dialog is there?

Yeah, just like there is no way to disable AA without not using the dialog, etc…

It’s possible (in JME 3.3) to enable/disable MSAA/gamma by performing a restart … thanks to @tonihele and his PR 1269.

2 Likes

Yes, but you can’t remove the toggle (or AA) from the dialog… which is what he was asking about.

1 Like

Oops! I misread the double negatives.

That’s done: SHA1 hash 6ade1a0.

When I went to update the javadoc, I found it already claiming that the default setting is “true”. This change resolves that issue :wink:

Regarding vsync: I’d support changing that default to “true” as well. And if we’re going to change it, JME 3.4 might be a good time to do so.

3 Likes

I’m for it. (obviously)

It’s easy enough to turn off if folks want to hear their GPU scream through their desktop speakers as it blazes 1500 FPS that will never be displayed. :slight_smile:

For those who are serious about watching the performance of their frames, the visual profilers are perhaps a better tool anyway. You can see spiky frames and not just some average over time.

5 Likes

You handle more troubleshooting requests than I do. If you’re for it, that counts for a lot. To minimize confusion, I’ll open a new topic for it.

I just noticed yesterday that whenever I set setGammaCorrection(true) and then use the water filter (simple water filter - SimpleWaterProcessor) JME is stuck and I need to restart the JVM