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:
Diffstat (limited to 'source/blender/draw/intern/mesh_extractors/extract_mesh_vbo_edit_data.cc')
-rw-r--r--source/blender/draw/intern/mesh_extractors/extract_mesh_vbo_edit_data.cc15
1 files changed, 11 insertions, 4 deletions
diff --git a/source/blender/draw/intern/mesh_extractors/extract_mesh_vbo_edit_data.cc b/source/blender/draw/intern/mesh_extractors/extract_mesh_vbo_edit_data.cc
index 3cc1375329e..0002b95c867 100644
--- a/source/blender/draw/intern/mesh_extractors/extract_mesh_vbo_edit_data.cc
+++ b/source/blender/draw/intern/mesh_extractors/extract_mesh_vbo_edit_data.cc
@@ -72,11 +72,11 @@ static void mesh_render_data_edge_flag(const MeshRenderData *mr,
}
}
- /* Use a byte for value range */
- if (mr->crease_ofs != -1) {
- float crease = BM_ELEM_CD_GET_FLOAT(eed, mr->crease_ofs);
+ /* Use half a byte for value range */
+ if (mr->edge_crease_ofs != -1) {
+ float crease = BM_ELEM_CD_GET_FLOAT(eed, mr->edge_crease_ofs);
if (crease > 0) {
- eattr->crease = (uchar)(crease * 255.0f);
+ eattr->crease = (uchar)ceil(crease * 15.0f);
}
}
/* Use a byte for value range */
@@ -107,6 +107,13 @@ static void mesh_render_data_vert_flag(const MeshRenderData *mr,
if (BM_elem_flag_test(eve, BM_ELEM_SELECT)) {
eattr->e_flag |= VFLAG_VERT_SELECTED;
}
+ /* Use half a byte for value range */
+ if (mr->vert_crease_ofs != -1) {
+ float crease = BM_ELEM_CD_GET_FLOAT(eve, mr->vert_crease_ofs);
+ if (crease > 0) {
+ eattr->crease |= (uchar)ceil(crease * 15.0f) << 4;
+ }
+ }
}
static GPUVertFormat *get_edit_data_format()