[Bf-blender-cvs] [b9e1f358bf1] hair_object: Remove disused functions for generating hair interpolation texture buffers.
Lukas Tönne
noreply at git.blender.org
Sun Sep 9 10:59:50 CEST 2018
Commit: b9e1f358bf1a2535a023fe752948f62ce7426c5b
Author: Lukas Tönne
Date: Sun Sep 9 09:59:23 2018 +0100
Branches: hair_object
https://developer.blender.org/rBb9e1f358bf1a2535a023fe752948f62ce7426c5b
Remove disused functions for generating hair interpolation texture buffers.
===================================================================
M source/blender/blenkernel/BKE_hair.h
M source/blender/blenkernel/intern/hair_draw.c
===================================================================
diff --git a/source/blender/blenkernel/BKE_hair.h b/source/blender/blenkernel/BKE_hair.h
index e7a2c4ed864..f7b3092f0aa 100644
--- a/source/blender/blenkernel/BKE_hair.h
+++ b/source/blender/blenkernel/BKE_hair.h
@@ -248,16 +248,6 @@ enum {
void BKE_hair_batch_cache_dirty(struct HairSystem* hsys, int mode);
void BKE_hair_batch_cache_free(struct HairSystem* hsys);
-void BKE_hair_get_texture_buffer_size(
- const struct HairExportCache *cache,
- int *r_size,
- int *r_strand_map_start,
- int *r_strand_vertex_start,
- int *r_fiber_start);
-void BKE_hair_get_texture_buffer(
- const struct HairExportCache *cache,
- void *texbuffer);
-
/* === Render API === */
/* Calculate required size for render buffers. */
diff --git a/source/blender/blenkernel/intern/hair_draw.c b/source/blender/blenkernel/intern/hair_draw.c
index e88e3cdb3ca..fe53af472cf 100644
--- a/source/blender/blenkernel/intern/hair_draw.c
+++ b/source/blender/blenkernel/intern/hair_draw.c
@@ -72,119 +72,6 @@ void BKE_hair_draw_settings_free(HairDrawSettings *draw_settings)
/* === Draw Cache === */
-typedef struct HairFiberTextureBuffer {
- unsigned int parent_index[4];
- float parent_weight[4];
- float root_position[3];
- int pad;
-} HairFiberTextureBuffer;
-BLI_STATIC_ASSERT_ALIGN(HairFiberTextureBuffer, 8)
-
-typedef struct HairStrandVertexTextureBuffer {
- float co[3];
- float nor[3];
- float tang[3];
- float len;
-} HairStrandVertexTextureBuffer;
-BLI_STATIC_ASSERT_ALIGN(HairStrandVertexTextureBuffer, 8)
-
-typedef struct HairStrandMapTextureBuffer {
- unsigned int vertex_start;
- unsigned int vertex_count;
-
- /* Shape attributes */
- float taper_length; /* Distance at which final thickness is reached */
- float taper_thickness; /* Relative thickness of the strand */
-} HairStrandMapTextureBuffer;
-BLI_STATIC_ASSERT_ALIGN(HairStrandMapTextureBuffer, 8)
-
-static void hair_get_strand_buffer(
- const HairExportCache *cache,
- HairStrandMapTextureBuffer *strand_map_buffer,
- HairStrandVertexTextureBuffer *strand_vertex_buffer)
-{
- for (int i = 0; i < cache->totcurves; ++i) {
- const HairFiberCurve *curve = &cache->fiber_curves[i];
- const HairFiberVertex *verts = &cache->fiber_verts[curve->vertstart];
- const float (*tangents)[3] = &cache->fiber_tangents[curve->vertstart];
- const float (*normals)[3] = &cache->fiber_normals[curve->vertstart];
- HairStrandMapTextureBuffer *smap = &strand_map_buffer[i];
- HairStrandVertexTextureBuffer *svert = &strand_vertex_buffer[curve->vertstart];
-
- smap->vertex_start = curve->vertstart;
- smap->vertex_count = curve->numverts;
- smap->taper_length = curve->taper_length;
- smap->taper_thickness = curve->taper_thickness;
-
- float len = 0.0f;
- for (int j = 0; j < curve->numverts; ++j)
- {
- copy_v3_v3(svert[j].co, verts[j].co);
- copy_v3_v3(svert[j].tang, tangents[j]);
- copy_v3_v3(svert[j].nor, normals[j]);
-
- if (j > 0)
- {
- len += len_v3v3(verts[j-1].co, verts[j].co);
- }
- svert[j].len = len;
- }
- }
-}
-
-static void hair_get_fiber_buffer(const HairExportCache *cache,
- HairFiberTextureBuffer *fiber_buf)
-{
- const int totfibers = cache->totfollicles;
- const HairFollicle *follicle = cache->follicles;
- HairFiberTextureBuffer *fb = fiber_buf;
- for (int i = 0; i < totfibers; ++i, ++fb, ++follicle) {
- copy_v3_v3(fb->root_position, cache->follicle_root_position[i]);
-
- fb->parent_index[0] = follicle->curve;
- fb->parent_index[1] = HAIR_CURVE_INDEX_NONE;
- fb->parent_index[2] = HAIR_CURVE_INDEX_NONE;
- fb->parent_index[3] = HAIR_CURVE_INDEX_NONE;
- fb->parent_weight[0] = 1.0f;
- fb->parent_weight[1] = 0.0f;
- fb->parent_weight[2] = 0.0f;
- fb->parent_weight[3] = 0.0f;
- }
-}
-
-void BKE_hair_get_texture_buffer_size(
- const HairExportCache *cache,
- int *r_size,
- int *r_strand_map_start,
- int *r_strand_vertex_start,
- int *r_fiber_start)
-{
- *r_strand_map_start = 0;
- *r_strand_vertex_start = *r_strand_map_start + cache->totcurves * sizeof(HairStrandMapTextureBuffer);
- *r_fiber_start = *r_strand_vertex_start + cache->totverts * sizeof(HairStrandVertexTextureBuffer);
- *r_size = *r_fiber_start + cache->totfollicles * sizeof(HairFiberTextureBuffer);
-}
-
-void BKE_hair_get_texture_buffer(
- const HairExportCache *cache,
- void *buffer)
-{
- int size, strand_map_start, strand_vertex_start, fiber_start;
- BKE_hair_get_texture_buffer_size(cache, &size, &strand_map_start, &strand_vertex_start, &fiber_start);
-
- HairStrandMapTextureBuffer *strand_map = (HairStrandMapTextureBuffer*)((char*)buffer + strand_map_start);
- HairStrandVertexTextureBuffer *strand_verts = (HairStrandVertexTextureBuffer*)((char*)buffer + strand_vertex_start);
- HairFiberTextureBuffer *fibers = (HairFiberTextureBuffer*)((char*)buffer + fiber_start);
-
- hair_get_strand_buffer(
- cache,
- strand_map,
- strand_verts);
- hair_get_fiber_buffer(
- cache,
- fibers);
-}
-
void (*BKE_hair_batch_cache_dirty_cb)(HairSystem* hsys, int mode) = NULL;
void (*BKE_hair_batch_cache_free_cb)(HairSystem* hsys) = NULL;
More information about the Bf-blender-cvs
mailing list