[Bf-blender-cvs] [e8f1ce29cd0] temp-sculpt-colors: temp-sculpt-colors: fix bug in get_vcol_refs
Joseph Eagar
noreply at git.blender.org
Wed Jan 12 10:16:50 CET 2022
Commit: e8f1ce29cd0e5cf0827a33da07106688e07f1b25
Author: Joseph Eagar
Date: Wed Jan 12 01:16:13 2022 -0800
Branches: temp-sculpt-colors
https://developer.blender.org/rBe8f1ce29cd0e5cf0827a33da07106688e07f1b25
temp-sculpt-colors: fix bug in get_vcol_refs
===================================================================
M source/blender/draw/intern/mesh_extractors/extract_mesh_vbo_vcol.cc
===================================================================
diff --git a/source/blender/draw/intern/mesh_extractors/extract_mesh_vbo_vcol.cc b/source/blender/draw/intern/mesh_extractors/extract_mesh_vbo_vcol.cc
index d1c816330ed..705f6a88cb9 100644
--- a/source/blender/draw/intern/mesh_extractors/extract_mesh_vbo_vcol.cc
+++ b/source/blender/draw/intern/mesh_extractors/extract_mesh_vbo_vcol.cc
@@ -59,6 +59,11 @@ static std::vector<AttributeRef> get_vcol_refs(const CustomData *cd_vdata,
AttributeDomain domain = domains[step2];
int i = cdata->typemap[(int)type];
+
+ if (i == -1) {
+ continue;
+ }
+
for (; i < cdata->totlayer && (CustomDataType)cdata->layers[i].type == type; i++, layeri++) {
const CustomDataLayer *layer = cdata->layers + i;
@@ -275,14 +280,14 @@ static void extract_vcol_init(const MeshRenderData *mr,
const MLoop *mloop = mr->mloop;
if (ref.type == CD_PROP_COLOR) {
- pcol = static_cast<MPropCol*>(cdata->layers[idx].data);
+ pcol = static_cast<MPropCol *>(cdata->layers[idx].data);
}
else {
mcol = static_cast<MLoopCol *>(cdata->layers[idx].data);
}
const bool is_corner = ref.domain == ATTR_DOMAIN_CORNER;
-
+
for (int i = 0; i < totloop; i++, mloop++) {
const int v_i = is_corner ? i : mloop->v;
More information about the Bf-blender-cvs
mailing list