From 5e0e62f0407e15c936bae92d8fec043adee6ab07 Mon Sep 17 00:00:00 2001 From: Alex Fraser Date: Wed, 2 Jan 2013 00:05:30 +0000 Subject: Patch [#29035] Vertex colour baking There is a new option in the Bake panel to enable baking to vertex colors. Unlike regular baking, this mode does not require a UV map or image to bake to, however the object must have a vertex color layer. Thanks to: - AutoCRC for funding - Brech van Lommel and Dalai Felinto for their initial advice on how to implement it - Campbell Barton for helping to make this feature work with modifiers and bmesh --- source/blender/render/intern/include/renderdatabase.h | 6 ++++++ 1 file changed, 6 insertions(+) (limited to 'source/blender/render/intern/include') diff --git a/source/blender/render/intern/include/renderdatabase.h b/source/blender/render/intern/include/renderdatabase.h index 24989b13c48..1e81ca20d03 100644 --- a/source/blender/render/intern/include/renderdatabase.h +++ b/source/blender/render/intern/include/renderdatabase.h @@ -59,12 +59,16 @@ typedef struct VertTableNode { float *tangent; float *stress; float *winspeed; + /* Index of vertex in source mesh (before modifiers). */ + int *origindex; } VertTableNode; typedef struct VlakTableNode { struct VlakRen *vlak; struct MTFace *mtface; struct MCol *mcol; + /* Index of mpoly in source mesh (before tessellation). */ + int *origindex; int totmtface, totmcol; float *surfnor; float *tangent; @@ -114,9 +118,11 @@ float *RE_vertren_get_rad(struct ObjectRen *obr, struct VertRen *ver, int verify float *RE_vertren_get_strand(struct ObjectRen *obr, struct VertRen *ver, int verify); float *RE_vertren_get_tangent(struct ObjectRen *obr, struct VertRen *ver, int verify); float *RE_vertren_get_winspeed(struct ObjectInstanceRen *obi, struct VertRen *ver, int verify); +int *RE_vertren_get_origindex(struct ObjectRen *obr, VertRen *ver, int verify); struct MTFace *RE_vlakren_get_tface(struct ObjectRen *obr, VlakRen *ren, int n, char **name, int verify); struct MCol *RE_vlakren_get_mcol(struct ObjectRen *obr, VlakRen *ren, int n, char **name, int verify); +int *RE_vlakren_get_origindex(struct ObjectRen *obr, VlakRen *vlak, int verify); float *RE_vlakren_get_surfnor(struct ObjectRen *obr, VlakRen *ren, int verify); float *RE_vlakren_get_nmap_tangent(struct ObjectRen *obr, VlakRen *ren, int verify); RadFace **RE_vlakren_get_radface(struct ObjectRen *obr, VlakRen *ren, int verify); -- cgit v1.2.3