Bug: Mobile Specular settings are twice as strong as the P.C. Shader model 5

… So strong that a Spec setting of 0 still renders a highlight that is equivalent to a setting of 1 on Shader model 5.

TeamKingdom,

I am not seeing exactly what you are seeing. Are you actually pushing your project to a mobile device, or are you packaging/launching onto a different platform? Please provide 100% reproduction steps so that I can enter a bug for our Developers if need be. Make sure to check 4.14.1 too.

Thank you!

Hi. I am deploying to iOS devices and see this behavior there but for the test above I am simply flipping between engine preview settings.

The above test is using the default level. I simply open the default material and change the roughness and specular settings. I set a roughness of zero and then try different spec numbers between zero and one. Flipping between shader model 5 and Es2 previews for the viewport. The spec reflection of the sun on the floor is very intense on the es2 preview compared to the shader model 5 look. As you decrease the speculr amount to zero you notice that the shader model 5 preview removes spec sun reflection completely but it is still very strong on Es2 mobile.
The setting of specular at 1 on shader model 5 is similar in intensity to a setting of 0 on Es2 mobile.

This is all with a new blank project on 4.14.1

Hey, TeamKingdom,

Is MobileHDR turned On in the project? If so, then the extra brightness you’re seeing probably is a bug. If Mobile HDR is off, then everything will seem over- bright, as that’s how LDR looks.

Yes, Mobile HDR is on by default.

Here is a really simple test I did.

Create this material.

Apply it to the floor of the default new level.

Shader model 5

ES2

Yes, I can confirm the behavior. Specularity in ES2 is extremely over-bright compared to SM5. MobileHDR is ON. Just open a new default blank project at Desktop, High Quality, No starter content. Click on the ground plane and change its default material by unplugging Roughness and connecting a Constant with a value of 0. Then connect a Constant with a value of 1 to specularity. Save the material and position the camera so the sun reflects on the plane. You will see the brightness shift between SM5 and ES2 as shown in the attached images.

As a side note, Samantha, while taking the screenshots for this report, I noticed that the High Resolution Screenshot tool’s interface is invisible in ES2, rendering it unusable. I had to switch to SM5, define my region, then switch back to ES2 to take a screenshot. Please let me know if you want me to enter a separate bug report for this.

Thanks!

-Adam

It seems to be the way ES2 is rendering bloom. I switched bloom Off in the Show > Post Processing section and you can see the result. Of course the actual highlight appears to be a different shape in ES2, but I assume that’s because ES2 does not support SSR? I hope this helps.

117911-sm5_bloomoff.png

117912-es2_bloomoff.png

Sorry, you must have posted before my page refreshed. :slight_smile:

You’re right, the inability to cancel spec is very strange.

Thanks for reporting this. I look forward to hearing back from Epic staff about this.

-Adam

A little discrepancy is expected but a spec setting of zero being super bright can’t be compensated for. Did you see the test I did above?

I found the answer to the default material question, so I deleted my last post so as not to clutter your original bug report. I hope you hear back from Epic on this. Have a good day!

Hi Samantha, Its been a while so I wondered if you ever got around to recreating the bug I entered? The simplest way to recreate it was fro the steps I outlined in my third response, with the Total Black material.

Cheers.

Hi all,

Thank you for submitting a bug report. I have reproduced this issue and logged a report for it here: Unreal Engine Issues and Bug Tracker (UE-39838)

You can track the report’s status as the issue is reviewed by our development staff. Please be aware that this issue may not be prioritized or fixed soon.

Cheers,

Ed Burgess

Thank you for looking into that, Ed!

I took a look at the bug ticket for this issue, and it says it is resolved, but in UE4.15 and UE4.15.1 it is still occurring.

I am having the same issue as I talk about over here:

Thanks for keeping an eye out Card and Dungeon. :slight_smile:

That ticket was marked as a duplicate. The related ticket wasn’t public, but I fixed that here: Unreal Engine Issues and Bug Tracker (UE-41393)

The fix version is listed for 4.16 so it hasn’t quite made it in yet.

Ed,
I am on UE 4.17.1 and I am still seeing the same behaviors as reported here with my project. The specular response on mobile seems to be just as overblown as it had been back in March. The issue you linked is also no longer able to be viewed, this is unfortunate as it has a code snippet that “helped” slightly with the issue if my memory serves me.

I would re-direct you to my original post as well, where I break down the visual differences in detail.

I am including 2 new images, both use a standard material where the roughness has been set to zero, and so has the color, the image shows specular from a directional lighting pointing straight down at the default scene floor. Not only is the mobile spec brighter, it doesn’t seem to have any of the specular falloff that the desktop has. This would have a big impact on shading as a whole. No changes have been to the scene at all beyond switching from Desktop shading to Mobile Shading.

Desktop Spec

Mobile Spec

Hi, I responded to one of your questions in a different thread. I hadn’t seen your example above. What you show does match exactly what I see. The original problem that I requested the bug fix for was that I couldn’t reduce the spec intensity at all on mobile. This meant that I couldn’t occlude spec reflections from dynamic lights in dark scenes. This has been fixed and I can now stop light spec reflections. The differences you show above are more to do with the differences in rendering the spec highlights on Mobile compared to shader model 5. Perhaps if you enter that as a bug and tag mobile rendering you might get a detailed reason for the discrepancy.