diff options
author | Clément Foucault <foucault.clem@gmail.com> | 2017-01-23 20:36:30 +0300 |
---|---|---|
committer | Clément Foucault <foucault.clem@gmail.com> | 2017-01-23 20:36:30 +0300 |
commit | c5ed9434791ec01a65756cd182e15f8744b7e6f3 (patch) | |
tree | 4dc3e0b20fb654523485fb54e462cb840508ce74 /source/blender/blenkernel/intern/material.c | |
parent | efa46d7db0e395d6b1380432e5de5bf2a628c81d (diff) |
Clay Material work.
Diffstat (limited to 'source/blender/blenkernel/intern/material.c')
-rw-r--r-- | source/blender/blenkernel/intern/material.c | 19 |
1 files changed, 19 insertions, 0 deletions
diff --git a/source/blender/blenkernel/intern/material.c b/source/blender/blenkernel/intern/material.c index 54945242fe4..ad53d03f43a 100644 --- a/source/blender/blenkernel/intern/material.c +++ b/source/blender/blenkernel/intern/material.c @@ -111,6 +111,11 @@ void BKE_material_free(Material *ma) BKE_icon_id_delete((ID *)ma); BKE_previewimg_free(&ma->preview); + + if (ma->clay.runtime) { + MEM_freeN(ma->clay.runtime); + ma->clay.runtime = NULL; + } } void BKE_material_init(Material *ma) @@ -206,6 +211,17 @@ void BKE_material_init(Material *ma) ma->mode2 = MA_CASTSHADOW; ma->shade_flag = MA_APPROX_OCCLUSION; ma->preview = NULL; + + /* New engines */ + ma->clay.matcap_rot = 0.0f; + ma->clay.matcap_hue = 0.5f; + ma->clay.matcap_sat = 0.5f; + ma->clay.matcap_val = 0.5f; + ma->clay.ssao_distance = 0.2; + ma->clay.ssao_attenuation = 1.0f; + ma->clay.ssao_factor_cavity = 1.0f; + ma->clay.ssao_factor_edge = 1.0f; + ma->clay.runtime = NULL; } Material *BKE_material_add(Main *bmain, const char *name) @@ -247,6 +263,7 @@ Material *BKE_material_copy(Main *bmain, Material *ma) BKE_previewimg_id_copy(&man->id, &ma->id); BLI_listbase_clear(&man->gpumaterial); + man->clay.runtime = NULL; BKE_id_copy_ensure_local(bmain, &ma->id, &man->id); @@ -279,6 +296,7 @@ Material *localize_material(Material *ma) man->nodetree = ntreeLocalize(ma->nodetree); BLI_listbase_clear(&man->gpumaterial); + man->clay.runtime = NULL; return man; } @@ -1698,6 +1716,7 @@ void copy_matcopybuf(Material *ma) matcopybuf.nodetree = ntreeCopyTree_ex(ma->nodetree, G.main, false); matcopybuf.preview = NULL; BLI_listbase_clear(&matcopybuf.gpumaterial); + matcopybuf.clay.runtime = NULL; matcopied = 1; } |