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

Camera

-

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

  1. 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

Add comment

Log in to post comment

All about bugs

View bugs we have successfully reproduced, and vote for the bugs you want to see fixed most urgently.