Search Unity

Bug HDRP ignores mesh/renderer bounds, no way to fix overly aggressive frustum culling w/tessellation

Discussion in 'High Definition Render Pipeline' started by Warren93, Nov 5, 2022.

  1. Warren93

    Warren93

    Joined:
    Jun 2, 2014
    Posts:
    9
    I'm trying to render tessellated terrain for a flight sim, where a heightmap texture determines the tessellation displacement. In case of terrain features like mountains, the displacement can be very high (e.g. the peak of the mountain will be way above the center of the mesh renderer, causing it to be prematurely culled when the base of the mountain is not in the frustum).

    With BRP, the simple way to fix this was to just change the mesh bounds or change the culling matrix. But none of that has any effect in HDRP.

    (this similar to this thread was posted a while back):
    https://forum.unity.com/threads/unwanted-early-culling-of-tessellated-terrain.1124299/
    ...although it seems the issue in that thread may have been individual tris getting culled too early in the shader rather than the whole mesh on the CPU side.

    It would seem that terrain is a classic use case for tessellation, but this culling issue (and the apparent lack of any way to fix it) makes it basically useless for this purpose unless you're rendering very flat terrain.

    Perhaps someone from Unity could shed some light on this?
     

    Attached Files: