[Bf-blender-cvs] [4c2d7767cf3] hair_guides hair_guides_grooming: Merge branch 'blender2.8' into hair_guides
Lukas Tönne
noreply at git.blender.org
Sun May 27 09:43:18 CEST 2018
Commit: 4c2d7767cf3dbabf9a46f7b2a4e1de3c08a2edf7
Author: Lukas Tönne
Date: Sun May 27 08:42:53 2018 +0100
Branches: hair_guides hair_guides_grooming
https://developer.blender.org/rB4c2d7767cf3dbabf9a46f7b2a4e1de3c08a2edf7
Merge branch 'blender2.8' into hair_guides
===================================================================
===================================================================
diff --cc source/blender/draw/CMakeLists.txt
index f6f8fe4eb14,daea87bed54..d0cb8c1cc5f
--- a/source/blender/draw/CMakeLists.txt
+++ b/source/blender/draw/CMakeLists.txt
@@@ -63,7 -62,7 +63,8 @@@ set(SR
intern/draw_cache_impl_metaball.c
intern/draw_cache_impl_particles.c
intern/draw_common.c
+ intern/draw_debug.c
+ intern/draw_hair.c
intern/draw_instance_data.c
intern/draw_manager.c
intern/draw_manager_data.c
diff --cc source/blender/draw/engines/eevee/eevee_materials.c
index 19b60baa2d9,e3c91c2828d..e33cfd56f22
--- a/source/blender/draw/engines/eevee/eevee_materials.c
+++ b/source/blender/draw/engines/eevee/eevee_materials.c
@@@ -982,10 -936,9 +982,12 @@@ void EEVEE_materials_cache_init(EEVEE_V
state = DRW_STATE_WRITE_DEPTH | DRW_STATE_DEPTH_LESS_EQUAL | DRW_STATE_CLIP_PLANES | DRW_STATE_CULL_BACK;
psl->depth_pass_clip_cull = DRW_pass_create("Depth Pass Cull Clip", state);
- stl->g_data->depth_shgrp_clip_cull = DRW_shgroup_create(e_data.default_prepass_clip_sh, psl->depth_pass_clip_cull);
- stl->g_data->hair_fibers_depth_shgrp_clip_cull = DRW_shgroup_create(e_data.default_prepass_hair_fiber_clip_sh, psl->depth_pass_clip_cull);
+ stl->g_data->depth_shgrp_clip_cull = DRW_shgroup_create(
+ e_data.default_prepass_clip_sh, psl->depth_pass_clip_cull);
++ stl->g_data->hair_fibers_depth_shgrp_clip_cull = DRW_shgroup_create(
++ e_data.default_prepass_hair_fiber_clip_sh, psl->depth_pass_clip_cull);
DRW_shgroup_uniform_block(stl->g_data->depth_shgrp_clip_cull, "clip_block", sldata->clip_ubo);
+ DRW_shgroup_uniform_block(stl->g_data->hair_fibers_depth_shgrp_clip_cull, "clip_block", sldata->clip_ubo);
}
{
diff --cc source/blender/draw/engines/eevee/eevee_private.h
index c29798c0058,81a74f4da8d..baee6d602aa
--- a/source/blender/draw/engines/eevee/eevee_private.h
+++ b/source/blender/draw/engines/eevee/eevee_private.h
@@@ -811,9 -809,11 +814,13 @@@ struct GPUMaterial *EEVEE_material_worl
struct GPUMaterial *EEVEE_material_mesh_get(
struct Scene *scene, Material *ma, EEVEE_Data *vedata,
bool use_blend, bool use_multiply, bool use_refract, bool use_sss, bool use_translucency, int shadow_method);
- struct GPUMaterial *EEVEE_material_mesh_volume_get(struct Scene *scene, Material *ma);
- struct GPUMaterial *EEVEE_material_mesh_depth_get(struct Scene *scene, Material *ma, bool use_hashed_alpha, bool is_shadow);
- struct GPUMaterial *EEVEE_material_hair_get(struct Scene *scene, Material *ma, int shadow_method, bool use_fibers);
+ struct GPUMaterial *EEVEE_material_mesh_volume_get(
+ struct Scene *scene, Material *ma);
+ struct GPUMaterial *EEVEE_material_mesh_depth_get(
+ struct Scene *scene, Material *ma, bool use_hashed_alpha, bool is_shadow);
-struct GPUMaterial *EEVEE_material_hair_get(struct Scene *scene, Material *ma, int shadow_method);
++struct GPUMaterial *EEVEE_material_hair_get(
++ struct Scene *scene, Material *ma, int shadow_method, bool use_fibers);
++
void EEVEE_materials_free(void);
void EEVEE_draw_default_passes(EEVEE_PassList *psl);
void EEVEE_update_noise(EEVEE_PassList *psl, EEVEE_FramebufferList *fbl, const double offsets[3]);
diff --cc source/blender/draw/intern/draw_cache.h
index 025a5d06bf1,1fd6b22c221..5068a2f2732
--- a/source/blender/draw/intern/draw_cache.h
+++ b/source/blender/draw/intern/draw_cache.h
@@@ -169,19 -169,18 +172,24 @@@ struct Gwn_Batch *DRW_cache_lattice_wir
struct Gwn_Batch *DRW_cache_lattice_vert_overlay_get(struct Object *ob);
/* Particles */
- struct Gwn_Batch *DRW_cache_particles_get_hair(struct Object *object, struct ParticleSystem *psys, struct ModifierData *md);
- struct Gwn_Batch *DRW_cache_particles_get_dots(struct Object *object, struct ParticleSystem *psys);
- struct Gwn_Batch *DRW_cache_particles_get_edit_strands(struct Object *object, struct ParticleSystem *psys, struct PTCacheEdit *edit);
- struct Gwn_Batch *DRW_cache_particles_get_edit_inner_points(struct Object *object, struct ParticleSystem *psys, struct PTCacheEdit *edit);
- struct Gwn_Batch *DRW_cache_particles_get_edit_tip_points(struct Object *object, struct ParticleSystem *psys, struct PTCacheEdit *edit);
+ struct Gwn_Batch *DRW_cache_particles_get_hair(
+ struct Object *object, struct ParticleSystem *psys, struct ModifierData *md);
+ struct Gwn_Batch *DRW_cache_particles_get_dots(
+ struct Object *object, struct ParticleSystem *psys);
+ struct Gwn_Batch *DRW_cache_particles_get_edit_strands(
+ struct Object *object, struct ParticleSystem *psys, struct PTCacheEdit *edit);
+ struct Gwn_Batch *DRW_cache_particles_get_edit_inner_points(
+ struct Object *object, struct ParticleSystem *psys, struct PTCacheEdit *edit);
+ struct Gwn_Batch *DRW_cache_particles_get_edit_tip_points(
+ struct Object *object, struct ParticleSystem *psys, struct PTCacheEdit *edit);
struct Gwn_Batch *DRW_cache_particles_get_prim(int type);
+/* Hair */
+struct Gwn_Batch *DRW_cache_hair_get_fibers(struct HairSystem *hsys, const struct HairExportCache *hair_export,
+ const struct DRWHairFiberTextureBuffer **r_buffer);
+struct Gwn_Batch *DRW_cache_hair_get_follicle_points(struct HairSystem *hsys, const struct HairExportCache *hair_export);
+struct Gwn_Batch *DRW_cache_hair_get_guide_curve_edges(struct HairSystem *hsys, const struct HairExportCache *hair_export);
+
/* Metaball */
struct Gwn_Batch *DRW_cache_mball_surface_get(struct Object *ob);
diff --cc source/blender/draw/intern/draw_cache_impl.h
index e6eb3542792,f77dafc9b31..7f372d123a8
--- a/source/blender/draw/intern/draw_cache_impl.h
+++ b/source/blender/draw/intern/draw_cache_impl.h
@@@ -130,16 -125,15 +131,21 @@@ struct Gwn_Batch *DRW_mesh_batch_cache_
void DRW_mesh_cache_sculpt_coords_ensure(struct Mesh *me);
/* Particles */
- struct Gwn_Batch *DRW_particles_batch_cache_get_hair(struct Object *object, struct ParticleSystem *psys, struct ModifierData *md);
- struct Gwn_Batch *DRW_particles_batch_cache_get_dots(struct Object *object, struct ParticleSystem *psys);
- struct Gwn_Batch *DRW_particles_batch_cache_get_edit_strands(struct Object *object, struct ParticleSystem *psys, struct PTCacheEdit *edit);
- struct Gwn_Batch *DRW_particles_batch_cache_get_edit_inner_points(struct Object *object, struct ParticleSystem *psys, struct PTCacheEdit *edit);
- struct Gwn_Batch *DRW_particles_batch_cache_get_edit_tip_points(struct Object *object, struct ParticleSystem *psys, struct PTCacheEdit *edit);
+ struct Gwn_Batch *DRW_particles_batch_cache_get_hair(
+ struct Object *object, struct ParticleSystem *psys, struct ModifierData *md);
+ struct Gwn_Batch *DRW_particles_batch_cache_get_dots(
+ struct Object *object, struct ParticleSystem *psys);
+ struct Gwn_Batch *DRW_particles_batch_cache_get_edit_strands(
+ struct Object *object, struct ParticleSystem *psys, struct PTCacheEdit *edit);
+ struct Gwn_Batch *DRW_particles_batch_cache_get_edit_inner_points(
+ struct Object *object, struct ParticleSystem *psys, struct PTCacheEdit *edit);
+ struct Gwn_Batch *DRW_particles_batch_cache_get_edit_tip_points(
+ struct Object *object, struct ParticleSystem *psys, struct PTCacheEdit *edit);
+/* Hair */
+struct Gwn_Batch *DRW_hair_batch_cache_get_fibers(struct HairSystem *hsys, const struct HairExportCache *hair_export,
+ const struct DRWHairFiberTextureBuffer **r_buffer);
+struct Gwn_Batch *DRW_hair_batch_cache_get_follicle_points(struct HairSystem *hsys, const struct HairExportCache *hair_export);
+struct Gwn_Batch *DRW_hair_batch_cache_get_guide_curve_edges(struct HairSystem *hsys, const struct HairExportCache *hair_export);
+
#endif /* __DRAW_CACHE_IMPL_H__ */
More information about the Bf-blender-cvs
mailing list