Search Issue Tracker
Not Reproducible
Votes
1
Found in
2018.3.0b5
Issue ID
1090093
Regression
No
Graphics.DrawMeshInstanced merges incompatible batches when overriding material properties using MaterialPropertyBlock
Steps to reproduce:
1. Open the attached project
2. Make sure that Assets/material is using TestShader and that GPU Instancing is enabled
3. Enter Play mode
Expected result: Spheres on the right are white
Actual result: Spheres on the right are red
Reproducible with: 5.6.3f1, 2017.4.13f1, 2018.2.12f1 2018.3.0b5, 2019.1.0a4
Notes:
- The expected behavior is reached only when the color property is explicitly overwritten in the second block.
- "It happens too when the block is recreated instead of cleared or if the call is done without a MaterialPropertyBlock."
Comments (1)
-
GilCat
Feb 04, 2019 12:18
What are the plans for solving this?
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
- Mouse input is registered incorrectly in Custom RP when downscaling Render Target and rendering Overlay UI before final upscale
- Time.deltaTime is locked to the display's refresh rate when the built Player is moved to a Secondary Display and Windowed Mode is used
- Crash on RaiseException when importing a specific asset
- Crash on RaiseException when opening a specific project
- DownloadHandlerScript.CompleteContent is called twice when building for WebGL
Resolution Note:
block.SetColor(property, Color.red);
Graphics.DrawMeshInstanced(mesh, 0, material, transforms, transforms.Length, block);
block.SetColor(property, Color.white);
Graphics.DrawMeshInstanced(mesh, 0, material, transforms, transforms.Length, block);
works