Commit: d3500c482fae55497abc5c02c7ccf9e5e7d22020 Author: Hans Goudey Date: Mon Feb 6 16:52:02 2023 -0500 Branches: master https://developer.blender.org/rBd3500c482fae55497abc5c02c7ccf9e5e7d22020
Cleanup: Move DRW_pbvh.h header to C++ For continued refactoring of the Mesh data structure. See T103343. =================================================================== M source/blender/blenkernel/intern/pbvh.cc M source/blender/blenkernel/intern/pbvh_bmesh.cc M source/blender/draw/CMakeLists.txt D source/blender/draw/DRW_pbvh.h A source/blender/draw/DRW_pbvh.hh M source/blender/draw/intern/draw_manager_data.cc M source/blender/draw/intern/draw_pbvh.cc =================================================================== diff --git a/source/blender/blenkernel/intern/pbvh.cc b/source/blender/blenkernel/intern/pbvh.cc index b45a136f28c..7c829d32a82 100644 --- a/source/blender/blenkernel/intern/pbvh.cc +++ b/source/blender/blenkernel/intern/pbvh.cc @@ -26,7 +26,7 @@ #include "BKE_pbvh.h" #include "BKE_subdiv_ccg.h" -#include "DRW_pbvh.h" +#include "DRW_pbvh.hh" #include "PIL_time.h" diff --git a/source/blender/blenkernel/intern/pbvh_bmesh.cc b/source/blender/blenkernel/intern/pbvh_bmesh.cc index f8d4bdc88da..ec09f254ff4 100644 --- a/source/blender/blenkernel/intern/pbvh_bmesh.cc +++ b/source/blender/blenkernel/intern/pbvh_bmesh.cc @@ -17,7 +17,7 @@ #include "BKE_ccg.h" #include "BKE_pbvh.h" -#include "DRW_pbvh.h" +#include "DRW_pbvh.hh" #include "bmesh.h" #include "pbvh_intern.hh" diff --git a/source/blender/draw/CMakeLists.txt b/source/blender/draw/CMakeLists.txt index d2835639686..19bd2267db5 100644 --- a/source/blender/draw/CMakeLists.txt +++ b/source/blender/draw/CMakeLists.txt @@ -220,7 +220,7 @@ set(SRC engines/overlay/overlay_wireframe.cc DRW_engine.h - DRW_pbvh.h + DRW_pbvh.hh DRW_select_buffer.h intern/DRW_gpu_wrapper.hh intern/DRW_render.h diff --git a/source/blender/draw/DRW_pbvh.h b/source/blender/draw/DRW_pbvh.h deleted file mode 100644 index 00c76b641ee..00000000000 --- a/source/blender/draw/DRW_pbvh.h +++ /dev/null @@ -1,99 +0,0 @@ -/* SPDX-License-Identifier: GPL-2.0-or-later - * Copyright 2022 Blender Foundation. */ - -/** \file - * \ingroup draw - */ - -#pragma once - -/* Needed for BKE_ccg.h. */ -#include "BLI_assert.h" -#include "BLI_bitmap.h" - -#include "BKE_ccg.h" - -#ifdef __cplusplus -extern "C" { -#endif - -struct PBVHAttrReq; -struct GPUBatch; -struct PBVHNode; -struct GSet; -struct DMFlagMat; -struct Mesh; -struct MLoopTri; -struct CustomData; -struct MLoop; -struct MPoly; -struct SubdivCCG; -struct BMesh; - -typedef struct PBVHBatches PBVHBatches; - -typedef struct PBVH_GPU_Args { - int pbvh_type; - - struct BMesh *bm; - const struct Mesh *me; - const float (*vert_positions)[3]; - const struct MLoop *mloop; - const struct MPoly *mpoly; - int mesh_verts_num, mesh_faces_num, mesh_grids_num; - struct CustomData *vdata, *ldata, *pdata; - const float (*vert_normals)[3]; - - const char *active_color; - const char *render_color; - - int face_sets_color_seed, face_sets_color_default; - int *face_sets; /* for PBVH_FACES and PBVH_GRIDS */ - - struct SubdivCCG *subdiv_ccg; - const struct DMFlagMat *grid_flag_mats; - const int *grid_indices; - CCGKey ccg_key; - CCGElem **grids; - void **gridfaces; - BLI_bitmap **grid_hidden; - - int *prim_indices; - int totprim; - - const bool *hide_poly; - - int node_verts_num; - - const struct MLoopTri *mlooptri; - struct PBVHNode *node; - - /* BMesh. */ - struct GSet *bm_unique_vert, *bm_other_verts, *bm_faces; - int cd_mask_layer; -} PBVH_GPU_Args; - -typedef struct PBVHGPUFormat PBVHGPUFormat; - -void DRW_pbvh_node_update(PBVHBatches *batches, PBVH_GPU_Args *args); -void DRW_pbvh_update_pre(PBVHBatches *batches, PBVH_GPU_Args *args); - -void DRW_pbvh_node_gpu_flush(PBVHBatches *batches); -struct PBVHBatches *DRW_pbvh_node_create(PBVH_GPU_Args *args); -void DRW_pbvh_node_free(PBVHBatches *batches); -struct GPUBatch *DRW_pbvh_tris_get(PBVHBatches *batches, - struct PBVHAttrReq *attrs, - int attrs_num, - PBVH_GPU_Args *args, - int *r_prim_count, - bool do_coarse_grids); -struct GPUBatch *DRW_pbvh_lines_get(struct PBVHBatches *batches, - struct PBVHAttrReq *attrs, - int attrs_num, - PBVH_GPU_Args *args, - int *r_prim_count, - bool do_coarse_grids); - -#ifdef __cplusplus -} -#endif diff --git a/source/blender/draw/DRW_pbvh.hh b/source/blender/draw/DRW_pbvh.hh new file mode 100644 index 00000000000..74cf1f93594 --- /dev/null +++ b/source/blender/draw/DRW_pbvh.hh @@ -0,0 +1,89 @@ +/* SPDX-License-Identifier: GPL-2.0-or-later + * Copyright 2022 Blender Foundation. */ + +/** \file + * \ingroup draw + */ + +#pragma once + +/* Needed for BKE_ccg.h. */ +#include "BLI_assert.h" +#include "BLI_bitmap.h" + +#include "BKE_ccg.h" + +struct PBVHAttrReq; +struct GPUBatch; +struct PBVHNode; +struct PBVHBatches; +struct PBVHGPUFormat; +struct GSet; +struct DMFlagMat; +struct Mesh; +struct MLoopTri; +struct CustomData; +struct MLoop; +struct MPoly; +struct SubdivCCG; +struct BMesh; + +struct PBVH_GPU_Args { + int pbvh_type; + + BMesh *bm; + const Mesh *me; + const float (*vert_positions)[3]; + const MLoop *mloop; + const MPoly *mpoly; + int mesh_verts_num, mesh_faces_num, mesh_grids_num; + CustomData *vdata, *ldata, *pdata; + const float (*vert_normals)[3]; + + const char *active_color; + const char *render_color; + + int face_sets_color_seed, face_sets_color_default; + int *face_sets; /* for PBVH_FACES and PBVH_GRIDS */ + + SubdivCCG *subdiv_ccg; + const DMFlagMat *grid_flag_mats; + const int *grid_indices; + CCGKey ccg_key; + CCGElem **grids; + void **gridfaces; + BLI_bitmap **grid_hidden; + + int *prim_indices; + int totprim; + + const bool *hide_poly; + + int node_verts_num; + + const MLoopTri *mlooptri; + PBVHNode *node; + + /* BMesh. */ + GSet *bm_unique_vert, *bm_other_verts, *bm_faces; + int cd_mask_layer; +}; + +void DRW_pbvh_node_update(PBVHBatches *batches, PBVH_GPU_Args *args); +void DRW_pbvh_update_pre(PBVHBatches *batches, PBVH_GPU_Args *args); + +void DRW_pbvh_node_gpu_flush(PBVHBatches *batches); +PBVHBatches *DRW_pbvh_node_create(PBVH_GPU_Args *args); +void DRW_pbvh_node_free(PBVHBatches *batches); +GPUBatch *DRW_pbvh_tris_get(PBVHBatches *batches, + PBVHAttrReq *attrs, + int attrs_num, + PBVH_GPU_Args *args, + int *r_prim_count, + bool do_coarse_grids); +GPUBatch *DRW_pbvh_lines_get(PBVHBatches *batches, + PBVHAttrReq *attrs, + int attrs_num, + PBVH_GPU_Args *args, + int *r_prim_count, + bool do_coarse_grids); diff --git a/source/blender/draw/intern/draw_manager_data.cc b/source/blender/draw/intern/draw_manager_data.cc index 779266a7b12..569fea083ef 100644 --- a/source/blender/draw/intern/draw_manager_data.cc +++ b/source/blender/draw/intern/draw_manager_data.cc @@ -5,7 +5,7 @@ * \ingroup draw */ -#include "DRW_pbvh.h" +#include "DRW_pbvh.hh" #include "draw_attributes.h" #include "draw_manager.h" diff --git a/source/blender/draw/intern/draw_pbvh.cc b/source/blender/draw/intern/draw_pbvh.cc index 68ef6cef8a6..04d985be71e 100644 --- a/source/blender/draw/intern/draw_pbvh.cc +++ b/source/blender/draw/intern/draw_pbvh.cc @@ -44,7 +44,7 @@ #include "GPU_batch.h" #include "DRW_engine.h" -#include "DRW_pbvh.h" +#include "DRW_pbvh.hh" #include "bmesh.h" #include "draw_pbvh.h" _______________________________________________ Bf-blender-cvs mailing list Bf-blender-cvs@blender.org List details, subscription details or unsubscribe: https://lists.blender.org/mailman/listinfo/bf-blender-cvs