Commit: d09822c8763b11e17a65792cb458003e0dd61388
Author: Lukas Tönne
Date:   Mon Jul 2 08:19:58 2018 +0100
Branches: tmp_hair_curves
https://developer.blender.org/rBd09822c8763b11e17a65792cb458003e0dd61388

Fix a few minor crashes from unfinished hair shader code.

===================================================================

M       source/blender/draw/engines/eevee/eevee_materials.c
M       source/blender/draw/intern/draw_cache_impl_hair.c

===================================================================

diff --git a/source/blender/draw/engines/eevee/eevee_materials.c 
b/source/blender/draw/engines/eevee/eevee_materials.c
index da57225156b..02cbbc2f036 100644
--- a/source/blender/draw/engines/eevee/eevee_materials.c
+++ b/source/blender/draw/engines/eevee/eevee_materials.c
@@ -1514,10 +1514,16 @@ static void material_hair(
        }
        
        {
-               /*DRWShadingGroup *shgrp =*/ DRW_shgroup_hair_create(ob, hsys, 
scalp, draw_set, psl->depth_pass, e_data.default_hair_prepass_sh);
+               /*DRWShadingGroup *shgrp =*/ DRW_shgroup_hair_create(
+                           ob, hsys, scalp, draw_set,
+                           psl->depth_pass,
+                           e_data.default_hair_prepass_sh);
        }
        {
-               DRWShadingGroup *shgrp = DRW_shgroup_hair_create(ob, hsys, 
scalp, draw_set, psl->depth_pass_clip, e_data.default_hair_prepass_clip_sh);
+               DRWShadingGroup *shgrp = DRW_shgroup_hair_create(
+                                            ob, hsys, scalp, draw_set,
+                                            psl->depth_pass_clip,
+                                            
e_data.default_hair_prepass_clip_sh);
                DRW_shgroup_uniform_block(shgrp, "clip_block", 
sldata->clip_ubo);
        }
        
diff --git a/source/blender/draw/intern/draw_cache_impl_hair.c 
b/source/blender/draw/intern/draw_cache_impl_hair.c
index b2ba6113048..3712e256199 100644
--- a/source/blender/draw/intern/draw_cache_impl_hair.c
+++ b/source/blender/draw/intern/draw_cache_impl_hair.c
@@ -125,7 +125,9 @@ void DRW_hair_batch_cache_dirty(HairSystem *hsys, int mode)
 static void hair_batch_cache_clear(HairSystem *hsys)
 {
        HairBatchCache *cache = hsys->draw_batch_cache;
-       particle_batch_cache_clear_hair(&cache->hair);
+       if (cache) {
+               particle_batch_cache_clear_hair(&cache->hair);
+       }
 }
 
 void DRW_hair_batch_cache_free(HairSystem *hsys)
@@ -213,10 +215,10 @@ static void 
hair_batch_cache_ensure_procedural_strand_data(
         const HairExportCache *hair_export,
         ParticleHairCache *cache)
 {
-#if 0 // TODO
        int active_uv = 0;
        int active_col = 0;
 
+#if 0 // TODO
        ParticleSystemModifierData *psmd = (ParticleSystemModifierData *)md;
 
        if (psmd != NULL && psmd->mesh_final != NULL) {
@@ -229,6 +231,7 @@ static void hair_batch_cache_ensure_procedural_strand_data(
                        active_col = 
CustomData_get_active_layer(&psmd->mesh_final->ldata, CD_MLOOPCOL);
                }
        }
+#endif
 
        Gwn_VertBufRaw data_step;
        Gwn_VertBufRaw uv_step[MAX_MTFACE];
@@ -256,6 +259,7 @@ static void hair_batch_cache_ensure_procedural_strand_data(
        GWN_vertbuf_data_alloc(cache->proc_strand_buf, cache->strands_count);
        GWN_vertbuf_attr_get_raw_data(cache->proc_strand_buf, data_id, 
&data_step);
 
+#if 0 // TODO
        /* UV layers */
        for (int i = 0; i < cache->num_uv_layers; i++) {
                cache->proc_uv_buf[i] = 
GWN_vertbuf_create_with_format(&format_uv);
@@ -351,8 +355,6 @@ static void hair_batch_cache_ensure_procedural_strand_data(
                }
                MEM_freeN(parent_mcol);
        }
-#else
-       UNUSED_VARS(hair_export);
 #endif
 
        /* Create vbo immediatly to bind to texture buffer. */
@@ -491,3 +493,17 @@ bool hair_ensure_procedural_data(
 
        return need_ft_update;
 }
+
+Gwn_Batch *DRW_hair_batch_cache_get_fibers(HairSystem *hsys, const 
HairExportCache *hair_export)
+{
+       // TODO
+       UNUSED_VARS(hsys, hair_export);
+       return NULL;
+}
+
+Gwn_Batch *DRW_hair_batch_cache_get_follicle_points(HairSystem *hsys, const 
HairExportCache *hair_export)
+{
+       // TODO
+       UNUSED_VARS(hsys, hair_export);
+       return NULL;
+}

_______________________________________________
Bf-blender-cvs mailing list
[email protected]
https://lists.blender.org/mailman/listinfo/bf-blender-cvs

Reply via email to