Added shadow baking
This commit is contained in:
@@ -5419,6 +5419,7 @@ void RE_Database_FromScene_Vectors(Render *re, Scene *sce)
|
||||
RE_BAKE_AO: for baking, no lamps, but all objects
|
||||
RE_BAKE_TEXTURE:for baking, no lamps, only selected objects
|
||||
RE_BAKE_DISPLACEMENT:for baking, no lamps, only selected objects
|
||||
RE_BAKE_SHADOW: for baking, only shadows, but all objects
|
||||
*/
|
||||
void RE_Database_Baking(Render *re, Scene *scene, int type, Object *actob)
|
||||
{
|
||||
@@ -5449,6 +5450,10 @@ void RE_Database_Baking(Render *re, Scene *scene, int type, Object *actob)
|
||||
re->r.mode &= ~R_RAYTRACE;
|
||||
}
|
||||
|
||||
if(!actob && (type==RE_BAKE_SHADOW)) {
|
||||
re->r.mode |= R_SHADOW;
|
||||
}
|
||||
|
||||
/* setup render stuff */
|
||||
re->memArena = BLI_memarena_new(BLI_MEMARENA_STD_BUFSIZE);
|
||||
|
||||
@@ -5486,7 +5491,7 @@ void RE_Database_Baking(Render *re, Scene *scene, int type, Object *actob)
|
||||
set_node_shader_lamp_loop(shade_material_loop);
|
||||
|
||||
/* MAKE RENDER DATA */
|
||||
nolamps= !ELEM(type, RE_BAKE_LIGHT, RE_BAKE_ALL);
|
||||
nolamps= !ELEM3(type, RE_BAKE_LIGHT, RE_BAKE_ALL, RE_BAKE_SHADOW);
|
||||
onlyselected= ELEM3(type, RE_BAKE_NORMALS, RE_BAKE_TEXTURE, RE_BAKE_DISPLACEMENT);
|
||||
|
||||
database_init_objects(re, lay, nolamps, onlyselected, actob, 0);
|
||||
|
||||
Reference in New Issue
Block a user