Search Issue Tracker
Fixed in 2020.2.X
DrawProcedural with infinite bounds doesn't render when instance is at edge of viewport
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
- 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
All about bugs
View bugs we have successfully reproduced, and vote for the bugs you want to see fixed most urgently.
- [URP] Exceeding the platform's supported light limit gives shadow distortion when using Deferred Rendering Path
- URP Sample Buffer Image Tile is moved when the Offset Value is changed
- Static constructor in a struct returns false when running tests with IL2CPP
- Console throws warnings and a MissingReferenceException error for XR packages when doing a clean project import
- [Linux][IL2CPP] Dedicated server crashes when calling Socket.Send
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