Search Issue Tracker
Fixed in 2020.2.X
Votes
0
Found in
2017.4
2019.2.21f1
2020.2
Issue ID
1225021
Regression
No
DrawProcedural with infinite bounds doesn't render when instance is at edge of viewport
Reproduction steps:
1. Open the project from the attached file "1225021.zip"
2. Enter Play Mode
3. Adjust the Main Camera so that the rendered cube is at the edge of the Game View, but still visible
4. Inspect the Game View
Expected result: The drawn instance is rendered when it's at the edge of the viewport
Actual result: The instance is not rendered when it's at the edge of the viewport
Reproducible with: 2017.4.38f1, 2018.4.19f1, 2019.3.5f1, 2020.1.0b1, 2020.2.0a2
Notes:
- Reproducible with HDRP, URP and Built-in render pipelines
- Reproducible with Direct3D11, OpenGLCore, Metal graphics API
- Also reproducible with Graphics.DrawMeshInstanceIndirect(), Graphics.DrawMeshInstancedProcedural(), Graphics.DrawProceduralIndirect()
- Reproducible with all Vector3 static properties as the dimensions of the bounds
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
- Animator Controller throws MissingReferenceException after undoing Layer Creation
- Full stack trace is always printed when an exception occurs in an IL2CPP build
- Licensing Client fails to launch when opening Unity Hub (licensing client path is not found)
- Licensing Client fails to launch when opening Unity Hub
- Different custom Shader behavior when GPU Resident Drawer is enabled
Resolution Note (fix version 2020.2):
When rendering objects with non-finite bounds the bounds are reset to zero. As a result of this the object gets culled when the center leaves the camera frustum (the extends are zero). To communicate this I have added the following warning message when the bounds get reset: "The bounds contain one of the following values: NaN, float.PositiveInfinity, float.NegativeInfinity. All values in bounds are reset to zero.".
Fixed in 2020.2.0a8