Search Issue Tracker
By Design
Votes
1
Found in
2019.4
2020.1
2020.2
2020.2.0a15
Issue ID
1259743
Regression
No
[Bug] Shader behavior discrepancy when OpenGL is used compared to other Graphics APIs
How to reproduce:
1. Open the attached project named "Case_1259743"
2. Open the Sample Scene and enter Play mode
3. Open Scene view and observe the shader behavior on one of the Spheres
4. Exit Play mode and switch the used graphics API to OpenGL Core
5. Repeat Steps 2 and 3
Expected result: The behavior of the Shader remains the same as with other graphics APIs
Actual result: The shader highlights wrong triangles creating completely different result comparing to graphics APIs
Reproducible with: 2019.4.4f1(7.0.1, 7.4.1), 2020.1.0b16(8.1.0, 9.0.0-preview.35), 2020.2.0a18(10.0.0)
Could not test with: 2018.4.25f1(Could not downgrade the project due to compilation errors)
Notes:
1. OpenGL Core, OpenGLES2 and OpenGLES3 display different output compared to other graphics APIs
2. D3D11, D3D12 and Vulkan behave identically between each other and display the expected result
Add comment
All about bugs
View bugs we have successfully reproduced, and vote for the bugs you want to see fixed most urgently.
Latest issues
- Texture2D hash changes inside of an AssetBundle when rebuilding a SpriteAtlas bundle with an empty AssetPostprocessor Script enabled
- Aniso Level still applies when Generate MipMap is disabled in Texture Import Settings
- Mipmap Limit Groups long names are not truncated when creating a new Mipmap Limit Group with a long name
- “ArgumentException: Invalid double parameter.” error is thrown when Infinity is typed into the Fixed Timestep field
- GameObject becomes gray when using HDRP and STP together on macOS
Resolution Note (2020.2.X):
OpenGL uses last primitive vertex as provoking vertex for flat shading. All other APIs use the first one, hence the discrepancy.