Blender V5.0
draw_curves_defines.hh
Go to the documentation of this file.
1/* SPDX-FileCopyrightText: 2025 Blender Authors
2 *
3 * SPDX-License-Identifier: GPL-2.0-or-later */
4
11
12#pragma once
13
15#define CURVES_PER_THREADGROUP 64
16
17#define POINTS_BY_CURVES_SLOT 0
18#define CURVE_TYPE_SLOT 1
19#define CURVE_RESOLUTION_SLOT 2
20#define EVALUATED_POINT_SLOT 3
21#define CURVE_CYCLIC_SLOT 4
22
23#define HANDLES_POS_LEFT_SLOT 5
24#define HANDLES_POS_RIGHT_SLOT 6
25#define BEZIER_OFFSETS_SLOT 7
26
27/* Nurbs (alias of other buffers). */
28#define CURVES_ORDER_SLOT CURVE_RESOLUTION_SLOT
29#define BASIS_CACHE_SLOT HANDLES_POS_LEFT_SLOT
30#define CONTROL_WEIGHTS_SLOT HANDLES_POS_RIGHT_SLOT
31#define BASIS_CACHE_OFFSET_SLOT BEZIER_OFFSETS_SLOT
32
33/* Position evaluation. */
34#define POINT_POSITIONS_SLOT 8
35#define POINT_RADII_SLOT 9
36#define EVALUATED_POS_RAD_SLOT 10
37
38/* Attribute evaluation. */
39#define POINT_ATTR_SLOT 8
40#define EVALUATED_ATTR_SLOT 9
41
42/* Intercept evaluation. */
43#define EVALUATED_TIME_SLOT 8
44#define CURVES_LENGTH_SLOT 9