diff options
author | Kévin Dietrich <kevin.dietrich@mailoo.org> | 2022-01-15 03:36:18 +0300 |
---|---|---|
committer | Kévin Dietrich <kevin.dietrich@mailoo.org> | 2022-01-15 03:36:18 +0300 |
commit | 9664cc91f338e34de3a4bd826cd62f73885b5149 (patch) | |
tree | 5784893108f2a5d781af320ca9333867f328e150 /source/blender | |
parent | 6a16a9e661f134be3f2be1725c25de9d191ce7ba (diff) |
Fix T94918: GPU subdivision uses viewport levels for final render
The resolution for the subdivision grid traversal was always based on
the viewport setting.
Diffstat (limited to 'source/blender')
-rw-r--r-- | source/blender/draw/intern/draw_cache_impl_subdivision.cc | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/source/blender/draw/intern/draw_cache_impl_subdivision.cc b/source/blender/draw/intern/draw_cache_impl_subdivision.cc index 6eb1fbf26fa..3e6cd01e7cb 100644 --- a/source/blender/draw/intern/draw_cache_impl_subdivision.cc +++ b/source/blender/draw/intern/draw_cache_impl_subdivision.cc @@ -955,7 +955,8 @@ static bool draw_subdiv_build_cache(DRWSubdivCache *cache, const SubsurfModifierData *smd, const bool is_final_render) { - const int level = get_render_subsurf_level(&scene->r, smd->levels, is_final_render); + const int requested_levels = (is_final_render) ? smd->renderLevels : smd->levels; + const int level = get_render_subsurf_level(&scene->r, requested_levels, is_final_render); SubdivToMeshSettings to_mesh_settings; to_mesh_settings.resolution = (1 << level) + 1; to_mesh_settings.use_optimal_display = false; |