Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKévin Dietrich <kevin.dietrich@mailoo.org>2022-06-01 08:02:05 +0300
committerKévin Dietrich <kevin.dietrich@mailoo.org>2022-06-01 08:02:05 +0300
commit54d076b20d39dfd043cbbe7dd8375adfb8755937 (patch)
tree3af573488fb70b9488e469fc932822d2d11744c8 /source/blender/draw/intern/draw_subdivision.h
parent65e7d49939337216f5160e60a179ddc1e18dbd4d (diff)
Fix T98526: broken corner attributes with GPU subdivision
Although reusing the same patch coordinate for all corner pointing the same vertex works for interpolation vertices, it does work for interpolation face varying attributes. So we need to keep the original patch coordinates around for face varying interpolation. This was caused by the previous fix (a5dcae0c641604c033f852e41841f58460c40069).
Diffstat (limited to 'source/blender/draw/intern/draw_subdivision.h')
-rw-r--r--source/blender/draw/intern/draw_subdivision.h4
1 files changed, 3 insertions, 1 deletions
diff --git a/source/blender/draw/intern/draw_subdivision.h b/source/blender/draw/intern/draw_subdivision.h
index 2689159d259..44a37cee385 100644
--- a/source/blender/draw/intern/draw_subdivision.h
+++ b/source/blender/draw/intern/draw_subdivision.h
@@ -104,8 +104,10 @@ typedef struct DRWSubdivCache {
bool optimal_display;
bool use_custom_loop_normals;
- /* Coordinates used to evaluate patches for UVs, positions, and normals. */
+ /* Coordinates used to evaluate patches for positions and normals. */
struct GPUVertBuf *patch_coords;
+ /* Coordinates used to evaluate patches for attributes. */
+ struct GPUVertBuf *corner_patch_coords;
/* Coordinates used to evaluate patches for the face centers (or face dots) in edit-mode. */
struct GPUVertBuf *fdots_patch_coords;