Blender V4.3
draw_common.hh
Go to the documentation of this file.
1/* SPDX-FileCopyrightText: 2023 Blender Authors
2 *
3 * SPDX-License-Identifier: GPL-2.0-or-later */
4
9#pragma once
10
11#include "draw_common_c.hh"
12#include "draw_manager.hh"
13#include "draw_pass.hh"
14
15namespace blender::draw {
16
19void hair_init();
20
21gpu::VertBuf *hair_pos_buffer_get(Scene *scene,
22 Object *object,
23 ParticleSystem *psys,
24 ModifierData *md);
25
26void hair_update(Manager &manager);
27
28void hair_free();
29
30gpu::Batch *hair_sub_pass_setup(PassMain::Sub &sub_ps,
31 const Scene *scene,
32 Object *object,
33 ParticleSystem *psys,
34 ModifierData *md,
35 GPUMaterial *gpu_material = nullptr);
36
37gpu::Batch *hair_sub_pass_setup(PassSimple::Sub &sub_ps,
38 const Scene *scene,
39 Object *object,
40 ParticleSystem *psys,
41 ModifierData *md,
42 GPUMaterial *gpu_material = nullptr);
43
46void curves_init();
47
48gpu::VertBuf *curves_pos_buffer_get(Scene *scene, Object *object);
49
50void curves_update(Manager &manager);
51
52void curves_free();
53
55 const Scene *scene,
56 Object *ob,
57 GPUMaterial *gpu_material = nullptr);
58
60 const Scene *scene,
61 Object *ob,
62 GPUMaterial *gpu_material = nullptr);
63
64/* Point cloud. */
65
67 Object *object,
68 GPUMaterial *gpu_material = nullptr);
69
71 Object *object,
72 GPUMaterial *gpu_material = nullptr);
73
82 Scene *scene,
83 Object *ob,
84 GPUMaterial *gpu_material);
91 Scene *scene,
92 Object *ob,
93 GPUMaterial *gpu_material);
94
95} // namespace blender::draw
detail::PassBase< command::DrawMultiBuf > Sub
Definition draw_pass.hh:462
gpu::Batch * point_cloud_sub_pass_setup(PassMain::Sub &sub_ps, Object *object, GPUMaterial *gpu_material=nullptr)
gpu::Batch * hair_sub_pass_setup(PassMain::Sub &sub_ps, const Scene *scene, Object *object, ParticleSystem *psys, ModifierData *md, GPUMaterial *gpu_material=nullptr)
Definition draw_hair.cc:416
gpu::VertBuf * curves_pos_buffer_get(Scene *scene, Object *object)
void hair_update(Manager &manager)
Definition draw_hair.cc:338
gpu::Batch * curves_sub_pass_setup(PassMain::Sub &ps, const Scene *scene, Object *ob, GPUMaterial *gpu_material=nullptr)
void curves_update(Manager &manager)
gpu::VertBuf * hair_pos_buffer_get(Scene *scene, Object *object, ParticleSystem *psys, ModifierData *md)
Definition draw_hair.cc:324
PassMain::Sub * volume_sub_pass(PassMain::Sub &ps, Scene *scene, Object *ob, GPUMaterial *gpu_material)
void hair_free()
Definition draw_hair.cc:344
void hair_init()
Definition draw_hair.cc:272