41 #define VCLASS_LIGHT_AREA_SHAPE (1 << 0)
42 #define VCLASS_LIGHT_SPOT_SHAPE (1 << 1)
43 #define VCLASS_LIGHT_SPOT_BLEND (1 << 2)
44 #define VCLASS_LIGHT_SPOT_CONE (1 << 3)
45 #define VCLASS_LIGHT_DIST (1 << 4)
47 #define VCLASS_CAMERA_FRAME (1 << 5)
48 #define VCLASS_CAMERA_DIST (1 << 6)
49 #define VCLASS_CAMERA_VOLUME (1 << 7)
51 #define VCLASS_SCREENSPACE (1 << 8)
52 #define VCLASS_SCREENALIGNED (1 << 9)
54 #define VCLASS_EMPTY_SCALED (1 << 10)
55 #define VCLASS_EMPTY_AXES (1 << 11)
56 #define VCLASS_EMPTY_AXES_NAME (1 << 12)
57 #define VCLASS_EMPTY_AXES_SHADOW (1 << 13)
58 #define VCLASS_EMPTY_SIZE (1 << 14)
62 #define DRW_SPHERE_SHAPE_LATITUDE_LOW 32
63 #define DRW_SPHERE_SHAPE_LONGITUDE_LOW 24
65 #define DRW_SPHERE_SHAPE_LATITUDE_MEDIUM 64
66 #define DRW_SPHERE_SHAPE_LONGITUDE_MEDIUM 48
68 #define DRW_SPHERE_SHAPE_LATITUDE_HIGH 80
69 #define DRW_SPHERE_SHAPE_LONGITUDE_HIGH 60
263 static GPUVertBuf *fill_arrows_vbo(
const float scale)
270 if (
format.attr_len == 0) {
278 float v1[3] = {0.0, 0.0, 0.0};
279 float v2[3] = {0.0, 0.0, 0.0};
280 float vtmp1[3], vtmp2[3];
282 for (
int axis = 0; axis < 3; axis++) {
283 const int arrow_axis = (axis == 0) ? 1 : 0;
292 v1[arrow_axis] = -0.08f;
298 v1[arrow_axis] = 0.08f;
305 v1[arrow_axis] =
v1[axis] =
v2[axis] = 0.0f;
330 for (
int axis = 0; axis < 3; axis++) {
332 for (
int j = 0; j < 2; j++) {
341 else if (axis == 1) {
361 const float pos[3][2] = {{-1.0f, -1.0f}, {3.0f, -1.0f}, {-1.0f, 3.0f}};
362 const float uvs[3][2] = {{0.0f, 0.0f}, {2.0f, 0.0f}, {0.0f, 2.0f}};
369 if (
format.attr_len == 0) {
379 for (
int i = 0; i < 3; i++) {
399 const float p[4][2] = {{-1.0f, 1.0f}, {1.0f, 1.0f}, {-1.0f, -1.0f}, {1.0f, -1.0f}};
400 for (
int a = 0;
a < 4;
a++) {
419 const float p[4][2] = {{-1.0f, -1.0f}, {-1.0f, 1.0f}, {1.0f, 1.0f}, {1.0f, -1.0f}};
420 for (
int a = 0;
a < 5;
a++) {
437 if (
format.attr_len == 0) {
445 for (
int i = 0; i < 8; i++) {
446 for (
int j = 0; j < 8; j++) {
447 float pos0[2] = {(
float)i / 8.0f, (
float)j / 8.0f};
448 float pos1[2] = {(
float)(i + 1) / 8.0f, (
float)j / 8.0f};
449 float pos2[2] = {(
float)i / 8.0f, (
float)(j + 1) / 8.0f};
450 float pos3[2] = {(
float)(i + 1) / 8.0f, (
float)(j + 1) / 8.0f};
490 switch (level_of_detail) {
511 int v_len = (lat_res - 1) * lon_res * 6;
514 const float lon_inc = 2 *
M_PI / lon_res;
515 const float lat_inc =
M_PI / lat_res;
520 for (
int i = 0; i < lon_res; i++, lon += lon_inc) {
522 for (
int j = 0; j < lat_res; j++, lat += lat_inc) {
523 if (j != lat_res - 1) {
549 GPUVertBuf *vbo,
int *vert_idx,
int segments,
float radius,
float z,
int flag)
551 for (
int a = 0;
a < segments;
a++) {
552 for (
int b = 0;
b < 2;
b++) {
564 GPUVertBuf *vbo,
int *vert_idx,
int segments,
float radius,
float z,
int flag)
566 for (
int a = 0;
a < segments * 2;
a += 2) {
567 for (
int b = 0;
b < 2;
b++) {
568 float angle = (2.0f *
M_PI * (
a +
b)) / (segments * 2);
582 {-1.0f, 0.0f, -1.0f},
586 {-1.0f, 1.0f, -1.0f},
602 0, 1, 1, 2, 2, 3, 3, 0, 4, 5, 5, 6, 6, 7, 7, 4, 0, 4, 1, 5, 2, 6, 3, 7,
608 static const uint bone_box_wire_adjacent_face[24] = {
609 0, 2, 0, 4, 1, 6, 1, 8, 3, 10, 5, 10, 7, 11, 9, 11, 3, 8, 2, 5, 4, 7, 6, 9,
653 static const uint bone_box_solid_tris_adjacency[12][6] = {
655 {3, 26, 4, 20, 5, 1},
657 {6, 2, 7, 16, 8, 11},
658 {9, 7, 10, 32, 11, 24},
660 {12, 0, 13, 22, 14, 17},
661 {15, 13, 16, 30, 17, 6},
663 {18, 3, 19, 28, 20, 23},
664 {21, 19, 22, 33, 23, 12},
666 {24, 4, 25, 10, 26, 29},
667 {27, 25, 28, 34, 29, 18},
669 {30, 9, 31, 15, 32, 35},
670 {33, 31, 34, 21, 35, 27},
710 for (
int i = 0; i < vert_len; i++) {
717 for (
int i = 0; i < tri_len; i++) {
730 #define CIRCLE_RESOL 64
973 uint gpumat_array_len)
1054 float p[3][3] = {{0}};
1060 p[1][2] = p[2][2] = 0.75f;
1061 for (
int sides = 0; sides < 4; sides++) {
1062 if (sides % 2 == 1) {
1070 for (
int i = 0,
a = 1; i < 2; i++,
a++) {
1133 #define NSEGMENTS 12
1175 const float pos[8][3] = {
1180 {-1.0f, 0.0f, 1.0f},
1181 {-1.0f, 0.0f, 0.0f},
1182 {0.0f, -1.0f, 1.0f},
1183 {0.0f, -1.0f, 0.0f},
1191 if (
format.attr_len == 0) {
1207 #define NSEGMENTS 24
1222 if (
format.attr_len == 0) {
1232 float v[3] = {0.0f, 0.0f, 0.0f};
1239 for (
int i = 0; i <
NSEGMENTS / 2; i++) {
1240 float v[3] = {0.0f, 0.0f, 0.0f};
1263 #define CIRCLE_RESOL 32
1273 for (
int i = 0; i < 4; i++) {
1274 float z = 0.05f * (
float)i;
1286 #define CIRCLE_RESOL 32
1296 for (
int i = 0; i < 3; i++) {
1297 float radius = 1.0f + 0.5f * i;
1309 #define SPIRAL_RESOL 32
1338 #define CIRCLE_RESOL 32
1358 #define CIRCLE_RESOL 32
1359 #define SIDE_STIPPLE 32
1370 for (
int i = 0; i < 2; i++) {
1371 float z = i * 2.0f - 1.0f;
1375 for (
int a = 0;
a < 4;
a++) {
1392 #define CIRCLE_RESOL 32
1393 #define SIDE_STIPPLE 32
1404 for (
int i = 0; i < 2; i++) {
1405 float z = i * 2.0f - 1.0f;
1409 for (
int a = 0;
a < 4;
a++) {
1426 #define CIRCLE_RESOL 32
1451 #define DIAMOND_NSEGMENTS 4
1452 #define INNER_NSEGMENTS 8
1453 #define OUTER_NSEGMENTS 10
1454 #define CIRCLE_NSEGMENTS 32
1460 return start ? 0.4f : 0.3f;
1462 return start ? 0.6f : 0.7f;
1464 return start ? 1.4f : 1.3f;
1466 return start ? 1.6f : 1.7f;
1468 return start ? 2.4f : 2.3f;
1470 return start ? 2.6f : 2.7f;
1505 const float r = 9.0f;
1529 const float r = 9.0f;
1536 for (
int a = 0;
a < 8;
a++) {
1564 const float r = 9.0f;
1637 const float r = 9.0f;
1668 const float r = 9.0f;
1676 for (
int a = 0;
a < 4;
a++) {
1677 for (
int b = 0;
b < 2;
b++) {
1678 const float p[4][2] = {{-1.0f, -1.0f}, {-1.0f, 1.0f}, {1.0f, 1.0f}, {1.0f, -1.0f}};
1679 float x = p[(
a +
b) % 4][0];
1680 float y = p[(
a +
b) % 4][1];
1698 #undef CIRCLE_NSEGMENTS
1699 #undef OUTER_NSEGMENTS
1700 #undef INNER_NSEGMENTS
1712 const int segments = 16;
1720 if (
format.attr_len == 0) {
1727 for (
int j = 0; j < 3; j++) {
1728 float z = 0.25f * j - 0.125f;
1729 float r = (j == 0 ? 0.5f : 0.25f);
1733 for (
int i = 1; i < segments; i++) {
1734 float x =
cosf(2.0f * (
float)
M_PI * i / segments) *
r;
1735 float y =
sinf(2.0f * (
float)
M_PI * i / segments) *
r;
1744 for (
int j = 0; j < 4; j++) {
1745 float x = (((j + 1) % 2) * (j - 1)) * 0.5f;
1746 float y = ((j % 2) * (j - 2)) * 0.5f;
1747 for (
int i = 0; i < 3; i++) {
1753 float z = 0.25f * i - 0.125f;
1782 const float r = 14.0f;
1786 const float sin_pi_3 = 0.86602540378f;
1787 const float cos_pi_3 = 0.5f;
1788 const float p[7][2] = {
1790 {sin_pi_3, cos_pi_3},
1791 {sin_pi_3, -cos_pi_3},
1793 {-sin_pi_3, -cos_pi_3},
1794 {-sin_pi_3, cos_pi_3},
1797 for (
int i = 0; i < 6; i++) {
1812 for (
int i = 0; i < 6; i++) {
1813 char axes[] =
"zZyYxX";
1836 const float r = 14.0f;
1840 const float sin_pi_3 = 0.86602540378f;
1841 const float cos_pi_3 = 0.5f;
1842 const float p[7][2] = {
1844 {sin_pi_3, cos_pi_3},
1845 {sin_pi_3, -cos_pi_3},
1847 {-sin_pi_3, -cos_pi_3},
1848 {-sin_pi_3, cos_pi_3},
1851 for (
int i = 0; i < 6; i++) {
1852 float t1[2], t2[2], tr[2];
1858 for (
int j = 1; j < 2; j++) {
1874 for (
int i = 0; i < 6; i++) {
1875 char axes[] =
"zZyYxX";
1898 const float r = 20.0f;
1901 const float sin_pi_3 = 0.86602540378f;
1902 const float p[4][2] = {
1908 for (
int i = 0; i < 4; i++) {
1909 for (
int a = 0;
a < 2;
a++) {
1910 float x = p[(i +
a) % 4][0] *
r;
1911 float y = p[(i +
a) % 4][1] *
r;
1930 {0.1f, 0.1f, -0.1f},
1931 {-0.1f, 0.1f, -0.1f},
1932 {-0.1f, 0.1f, 0.1f},
1937 {0.0f, -1.0f, 0.0f},
1954 static const uint bone_octahedral_wire[24] = {
1955 0, 1, 1, 5, 5, 3, 3, 0, 0, 4, 4, 5, 5, 2, 2, 0, 1, 2, 2, 3, 3, 4, 4, 1,
1960 static const uint bone_octahedral_wire_adjacent_face[24] = {
1961 0, 3, 4, 7, 5, 6, 1, 2, 2, 3, 6, 7, 4, 5, 0, 1, 0, 4, 1, 5, 2, 6, 3, 7,
2004 static const uint bone_octahedral_solid_tris_adjacency[8][6] = {
2005 {0, 12, 1, 10, 2, 3},
2006 {3, 15, 4, 1, 5, 6},
2007 {6, 18, 7, 4, 8, 9},
2008 {9, 21, 10, 7, 11, 0},
2010 {12, 22, 13, 2, 14, 17},
2011 {15, 13, 16, 5, 17, 20},
2012 {18, 16, 19, 8, 20, 23},
2013 {21, 19, 22, 11, 23, 14},
2023 {0.99388373f, 0.11043154f, -0.00000000f},
2024 {0.00000000f, 0.11043154f, -0.99388373f},
2025 {-0.99388373f, 0.11043154f, 0.00000000f},
2026 {0.00000000f, 0.11043154f, 0.99388373f},
2038 if (
format.attr_len == 0) {
2048 for (
int i = 0; i < 8; i++) {
2049 for (
int j = 0; j < 3; j++) {
2071 for (
int i = 0; i < 12; i++) {
2083 pos_nor_batch->verts[0],
2099 if (
format.attr_len == 0) {
2109 for (
int i = 0; i < 12; i++) {
2110 for (
int j = 0; j < 3; j++) {
2129 for (
int i = 0; i < 12; i++) {
2141 pos_nor_batch->verts[0],
2154 r_nor[2] =
cosf(lat);
2160 const int lon_res = 24;
2161 const int lat_res = 24;
2162 const float lon_inc = 2.0f *
M_PI / lon_res;
2163 const float lat_inc =
M_PI / lat_res;
2170 if (
format.attr_len == 0) {
2179 for (
int i = 0; i < lon_res; i++, lon += lon_inc) {
2181 float co1[3], co2[3];
2186 for (
int j = 0; j < lat_res; j++, lat += lat_inc) {
2210 #define CIRCLE_RESOL 64
2211 float v0[2],
v1[2],
v2[2];
2212 const float radius = 1.0f;
2217 uint pos0, pos1, pos2;
2219 if (
format.attr_len == 0) {
2256 const int lon_res = 16;
2257 const int lat_res = 8;
2258 const float rad = 0.05f;
2259 const float lon_inc = 2 *
M_PI / lon_res;
2260 const float lat_inc =
M_PI / lat_res;
2267 if (
format.attr_len == 0) {
2277 for (
int i = 0; i < lon_res; i++, lon += lon_inc) {
2279 for (
int j = 0; j < lat_res; j++, lat += lat_inc) {
2280 if (j != lat_res - 1) {
2282 vbo,
attr_id.pos,
attr_id.nor, &v_idx, rad, lat + lat_inc, lon + lon_inc);
2283 add_lat_lon_vert(vbo,
attr_id.pos,
attr_id.nor, &v_idx, rad, lat + lat_inc, lon);
2284 add_lat_lon_vert(vbo,
attr_id.pos,
attr_id.nor, &v_idx, rad, lat, lon);
2288 add_lat_lon_vert(vbo,
attr_id.pos,
attr_id.nor, &v_idx, rad, lat, lon + lon_inc);
2290 vbo,
attr_id.pos,
attr_id.nor, &v_idx, rad, lat + lat_inc, lon + lon_inc);
2291 add_lat_lon_vert(vbo,
attr_id.pos,
attr_id.nor, &v_idx, rad, lat, lon);
2298 # define CIRCLE_RESOL 64
2300 const float radius = 0.05f;
2307 if (
format.attr_len == 0) {
2321 # undef CIRCLE_RESOL
2334 # define CIRCLE_RESOL 64
2335 const float radius = 0.05f;
2342 if (
format.attr_len == 0) {
2359 # undef CIRCLE_RESOL
2366 #define COL_WIRE (1 << 0)
2367 #define COL_HEAD (1 << 1)
2368 #define COL_TAIL (1 << 2)
2369 #define COL_BONE (1 << 3)
2371 #define POS_HEAD (1 << 4)
2372 #define POS_TAIL (1 << 5)
2373 #define POS_BONE (1 << 6)
2378 #define CIRCLE_RESOL 12
2381 const float radius = 2.0f;
2389 if (
format.attr_len == 0) {
2403 for (
int i = 0; i < 2; i++) {
2428 for (
int i = 0; i < 6; i++) {
2429 pos[1] =
ELEM(i, 0, 3) ? 0.0f : ((i < 3) ? 1.0f : -1.0f);
2449 {0.9f *
S_X, 1.0f *
S_Y},
2450 {-1.0f *
S_X, -1.0f *
S_Y},
2451 {-0.9f *
S_X, 1.0f *
S_Y},
2452 {1.0f *
S_X, -1.0f *
S_Y},
2454 #define X_LEN (sizeof(x_axis_name) / (sizeof(float[2])))
2461 {-1.0f *
S_X, 1.0f *
S_Y},
2462 {0.0f *
S_X, -0.1f *
S_Y},
2463 {1.0f *
S_X, 1.0f *
S_Y},
2464 {0.0f *
S_X, -0.1f *
S_Y},
2465 {0.0f *
S_X, -0.1f *
S_Y},
2466 {0.0f *
S_X, -1.0f *
S_Y},
2468 #define Y_LEN (sizeof(y_axis_name) / (sizeof(float[2])))
2475 {-0.95f *
S_X, 1.00f *
S_Y},
2476 {0.95f *
S_X, 1.00f *
S_Y},
2477 {0.95f *
S_X, 1.00f *
S_Y},
2478 {0.95f *
S_X, 0.90f *
S_Y},
2479 {0.95f *
S_X, 0.90f *
S_Y},
2480 {-1.00f *
S_X, -0.90f *
S_Y},
2481 {-1.00f *
S_X, -0.90f *
S_Y},
2482 {-1.00f *
S_X, -1.00f *
S_Y},
2483 {-1.00f *
S_X, -1.00f *
S_Y},
2484 {1.00f *
S_X, -1.00f *
S_Y},
2486 #define Z_LEN (sizeof(z_axis_name) / (sizeof(float[2])))
2494 {-1.0f *
S_X, 1.0f *
S_Y},
2495 {1.0f *
S_X, 1.0f *
S_Y},
2496 {1.0f *
S_X, 1.0f *
S_Y},
2497 {1.0f *
S_X, -1.0f *
S_Y},
2498 {1.0f *
S_X, -1.0f *
S_Y},
2499 {-1.0f *
S_X, -1.0f *
S_Y},
2500 {-1.0f *
S_X, -1.0f *
S_Y},
2501 {-1.0f *
S_X, 1.0f *
S_Y}
2513 #define MARKER_LEN (sizeof(axis_marker) / (sizeof(float[2])))
2514 #define MARKER_FILL_LAYER 6
2527 for (
int axis = 0; axis < 3; axis++) {
2531 float p[3] = {0.0f, 0.0f, axis};
2546 p[2] = axis + 0.25f;
2547 for (
int i = 0; i < axis_v_len[axis]; i++) {
2577 #define set_vert(a, b, quarter) \
2579 copy_v2_fl2(pos, (quarter % 2 == 0) ? -(a) : (a), (quarter < 2) ? -(b) : (b)); \
2580 GPU_vertbuf_attr_set(vbo, attr_id.pos, v++, pos); \
2588 float x,
z, px, pz,
pos[2];
2595 if (
format.attr_len == 0) {
2603 for (q = 0; q < 4; q++) {
2605 for (i = 1; i < n; i++) {
2608 for (j = 1; j <= (n - i); j++) {
2648 if (
format.attr_len == 0) {
2656 for (i = 0; i < n * 4; i++) {
2657 float a = (1.0f - (i / (
float)(n * 4))) * 2.0f *
M_PI;
2682 const int v_len = 2 * (4 + 4);
2687 const float p[4][2] = {{-1.0f, -1.0f}, {-1.0f, 1.0f}, {1.0f, 1.0f}, {1.0f, -1.0f}};
2689 for (
int a = 0;
a < 4;
a++) {
2690 for (
int b = 0;
b < 2;
b++) {
2691 float x = p[(
a +
b) % 4][0];
2692 float y = p[(
a +
b) % 4][1];
2697 for (
int a = 0;
a < 4;
a++) {
2721 for (
int a = 0;
a < 3;
a++) {
2763 const int v_len = 2 * 3;
2768 const float p[3][2] = {{-1.0f, 1.0f}, {1.0f, 1.0f}, {0.0f, 0.0f}};
2769 for (
int a = 0;
a < 3;
a++) {
2770 for (
int b = 0;
b < 2;
b++) {
2771 float x = p[(
a +
b) % 3][0];
2772 float y = p[(
a +
b) % 3][1];
2787 const int v_len = 3;
2872 uint gpumat_array_len)
2982 uint gpumat_array_len)
3169 #define CIRCLE_RESOL 32
3202 if (*drw_cursor ==
NULL) {
3203 const float f5 = 0.25f;
3204 const float f10 = 0.5f;
3205 const float f20 = 1.0f;
3207 const int segments = 16;
3208 const int vert_len = segments + 8;
3209 const int index_len = vert_len + 5;
3212 const uchar white[3] = {255, 255, 255};
3218 if (
format.attr_len == 0) {
3231 for (
int i = 0; i < segments; i++) {
3243 if (crosshair_lines) {
3244 uchar crosshair_color[3];
3335 const bool is_paint_mode =
ELEM(
3339 ((is_paint_mode && (ob == draw_ctx->
obact) &&
3370 const bool is_paint_mode =
ELEM(
3374 ((is_paint_mode && (ob == draw_ctx->
obact) &&
3415 const char *base_name,
3418 bool is_active_render,
3419 bool is_active_layer)
3422 const char *layer_name = cl->
name;
3427 BLI_snprintf(attr_name,
sizeof(attr_name),
"%s%s", base_name, attr_safe_name);
3431 BLI_snprintf(attr_name,
sizeof(attr_name),
"a%s", attr_safe_name);
3435 if (is_active_render) {
3440 if (is_active_layer) {
3441 BLI_snprintf(attr_name,
sizeof(attr_name),
"a%s", base_name);
typedef float(TangentPoint)[2]
enum eContextObjectMode CTX_data_mode_enum_ex(const struct Object *obedit, const struct Object *ob, eObjectMode object_mode)
General operations, lookup, etc. for blender objects.
struct Mesh * BKE_object_get_evaluated_mesh_no_subsurf(const struct Object *object)
bool BLI_gset_add(GSet *gs, void *key)
BLI_INLINE bool BLI_listbase_is_empty(const struct ListBase *lb)
MINLINE void madd_v2_v2v2fl(float r[2], const float a[2], const float b[2], float f)
MINLINE void copy_v2_v2(float r[2], const float a[2])
MINLINE void copy_v3_fl3(float v[3], float x, float y, float z)
MINLINE void add_v2_v2v2(float r[2], const float a[2], const float b[2])
MINLINE void mul_v3_v3fl(float r[3], const float a[3], float f)
MINLINE void mul_v2_v2fl(float r[2], const float a[2], float f)
MINLINE void copy_v2_fl(float r[2], float f)
size_t BLI_snprintf(char *__restrict dst, size_t maxncpy, const char *__restrict format,...) ATTR_NONNULL(1
#define UNUSED_FUNCTION(x)
Object is a sort of wrapper for general info.
#define GPU_BATCH_DISCARD_SAFE(batch)
GPUBatch * GPU_batch_create_ex(GPUPrimType prim, GPUVertBuf *vert, GPUIndexBuf *elem, eGPUBatchFlag owns_flag)
struct GPUIndexBuf GPUIndexBuf
void GPU_indexbuf_init(GPUIndexBufBuilder *, GPUPrimType, uint prim_len, uint vertex_len)
void GPU_indexbuf_add_primitive_restart(GPUIndexBufBuilder *)
GPUIndexBuf * GPU_indexbuf_build(GPUIndexBufBuilder *)
void GPU_indexbuf_add_generic_vert(GPUIndexBufBuilder *, uint v)
void GPU_indexbuf_add_line_adj_verts(GPUIndexBufBuilder *, uint v1, uint v2, uint v3, uint v4)
void GPU_indexbuf_init_ex(GPUIndexBufBuilder *, GPUPrimType, uint index_len, uint vertex_len)
void GPU_indexbuf_add_tri_verts(GPUIndexBufBuilder *, uint v1, uint v2, uint v3)
_GL_VOID GLfloat value _GL_VOID_RET _GL_VOID const GLuint GLboolean *residences _GL_BOOL_RET _GL_VOID GLsizei GLfloat GLfloat GLfloat GLfloat const GLubyte *bitmap _GL_VOID_RET _GL_VOID GLenum const void *lists _GL_VOID_RET _GL_VOID const GLdouble *equation _GL_VOID_RET _GL_VOID GLdouble GLdouble blue _GL_VOID_RET _GL_VOID GLfloat GLfloat blue _GL_VOID_RET _GL_VOID GLint GLint blue _GL_VOID_RET _GL_VOID GLshort GLshort blue _GL_VOID_RET _GL_VOID GLubyte GLubyte blue _GL_VOID_RET _GL_VOID GLuint GLuint blue _GL_VOID_RET _GL_VOID GLushort GLushort blue _GL_VOID_RET _GL_VOID GLbyte GLbyte GLbyte alpha _GL_VOID_RET _GL_VOID GLdouble GLdouble GLdouble alpha _GL_VOID_RET _GL_VOID GLfloat GLfloat GLfloat alpha _GL_VOID_RET _GL_VOID GLint GLint GLint alpha _GL_VOID_RET _GL_VOID GLshort GLshort GLshort alpha _GL_VOID_RET _GL_VOID GLubyte GLubyte GLubyte alpha _GL_VOID_RET _GL_VOID GLuint GLuint GLuint alpha _GL_VOID_RET _GL_VOID GLushort GLushort GLushort alpha _GL_VOID_RET _GL_VOID GLenum mode _GL_VOID_RET _GL_VOID GLint GLsizei GLsizei GLenum type _GL_VOID_RET _GL_VOID GLsizei GLenum GLenum const void *pixels _GL_VOID_RET _GL_VOID const void *pointer _GL_VOID_RET _GL_VOID GLdouble v _GL_VOID_RET _GL_VOID GLfloat v _GL_VOID_RET _GL_VOID GLint GLint i2 _GL_VOID_RET _GL_VOID GLint j _GL_VOID_RET _GL_VOID GLfloat param _GL_VOID_RET _GL_VOID GLint param _GL_VOID_RET _GL_VOID GLdouble GLdouble GLdouble GLdouble GLdouble zFar _GL_VOID_RET _GL_UINT GLdouble *equation _GL_VOID_RET _GL_VOID GLenum GLint *params _GL_VOID_RET _GL_VOID GLenum GLfloat *v _GL_VOID_RET _GL_VOID GLenum GLfloat *params _GL_VOID_RET _GL_VOID GLfloat *values _GL_VOID_RET _GL_VOID GLushort *values _GL_VOID_RET _GL_VOID GLenum GLfloat *params _GL_VOID_RET _GL_VOID GLenum GLdouble *params _GL_VOID_RET _GL_VOID GLenum GLint *params _GL_VOID_RET _GL_VOID GLsizei const void *pointer _GL_VOID_RET _GL_VOID GLsizei const void *pointer _GL_VOID_RET _GL_BOOL GLfloat param _GL_VOID_RET _GL_VOID GLint param _GL_VOID_RET _GL_VOID GLenum GLfloat param _GL_VOID_RET _GL_VOID GLenum GLint param _GL_VOID_RET _GL_VOID GLushort pattern _GL_VOID_RET _GL_VOID GLdouble GLdouble GLint GLint const GLdouble *points _GL_VOID_RET _GL_VOID GLdouble GLdouble GLint GLint GLdouble GLdouble GLint GLint const GLdouble *points _GL_VOID_RET _GL_VOID GLdouble GLdouble u2 _GL_VOID_RET _GL_VOID GLdouble GLdouble GLint GLdouble GLdouble v2 _GL_VOID_RET _GL_VOID GLenum GLfloat param _GL_VOID_RET _GL_VOID GLenum GLint param _GL_VOID_RET _GL_VOID GLenum mode _GL_VOID_RET _GL_VOID GLdouble GLdouble nz _GL_VOID_RET _GL_VOID GLfloat GLfloat nz _GL_VOID_RET _GL_VOID GLint GLint nz _GL_VOID_RET _GL_VOID GLshort GLshort nz _GL_VOID_RET _GL_VOID GLsizei const void *pointer _GL_VOID_RET _GL_VOID GLsizei const GLfloat *values _GL_VOID_RET _GL_VOID GLsizei const GLushort *values _GL_VOID_RET _GL_VOID GLint param _GL_VOID_RET _GL_VOID const GLuint const GLclampf *priorities _GL_VOID_RET _GL_VOID GLdouble y _GL_VOID_RET _GL_VOID GLfloat y _GL_VOID_RET _GL_VOID GLint y _GL_VOID_RET _GL_VOID GLshort y _GL_VOID_RET _GL_VOID GLdouble GLdouble z _GL_VOID_RET _GL_VOID GLfloat GLfloat z _GL_VOID_RET _GL_VOID GLint GLint z _GL_VOID_RET _GL_VOID GLshort GLshort z _GL_VOID_RET _GL_VOID GLdouble GLdouble z
_GL_VOID GLfloat value _GL_VOID_RET _GL_VOID const GLuint GLboolean *residences _GL_BOOL_RET _GL_VOID GLsizei GLfloat GLfloat GLfloat GLfloat const GLubyte *bitmap _GL_VOID_RET _GL_VOID GLenum const void *lists _GL_VOID_RET _GL_VOID const GLdouble *equation _GL_VOID_RET _GL_VOID GLdouble GLdouble blue _GL_VOID_RET _GL_VOID GLfloat GLfloat blue _GL_VOID_RET _GL_VOID GLint GLint blue _GL_VOID_RET _GL_VOID GLshort GLshort blue _GL_VOID_RET _GL_VOID GLubyte GLubyte blue _GL_VOID_RET _GL_VOID GLuint GLuint blue _GL_VOID_RET _GL_VOID GLushort GLushort blue _GL_VOID_RET _GL_VOID GLbyte GLbyte GLbyte alpha _GL_VOID_RET _GL_VOID GLdouble GLdouble GLdouble alpha _GL_VOID_RET _GL_VOID GLfloat GLfloat GLfloat alpha _GL_VOID_RET _GL_VOID GLint GLint GLint alpha _GL_VOID_RET _GL_VOID GLshort GLshort GLshort alpha _GL_VOID_RET _GL_VOID GLubyte GLubyte GLubyte alpha _GL_VOID_RET _GL_VOID GLuint GLuint GLuint alpha _GL_VOID_RET _GL_VOID GLushort GLushort GLushort alpha _GL_VOID_RET _GL_VOID GLenum mode _GL_VOID_RET _GL_VOID GLint GLsizei GLsizei GLenum type _GL_VOID_RET _GL_VOID GLsizei GLenum GLenum const void *pixels _GL_VOID_RET _GL_VOID const void *pointer _GL_VOID_RET _GL_VOID GLdouble v _GL_VOID_RET _GL_VOID GLfloat v _GL_VOID_RET _GL_VOID GLint GLint i2 _GL_VOID_RET _GL_VOID GLint j _GL_VOID_RET _GL_VOID GLfloat param _GL_VOID_RET _GL_VOID GLint param _GL_VOID_RET _GL_VOID GLdouble GLdouble GLdouble GLdouble GLdouble zFar _GL_VOID_RET _GL_UINT GLdouble *equation _GL_VOID_RET _GL_VOID GLenum GLint *params _GL_VOID_RET _GL_VOID GLenum GLfloat *v _GL_VOID_RET _GL_VOID GLenum GLfloat *params _GL_VOID_RET _GL_VOID GLfloat *values _GL_VOID_RET _GL_VOID GLushort *values _GL_VOID_RET _GL_VOID GLenum GLfloat *params _GL_VOID_RET _GL_VOID GLenum GLdouble *params _GL_VOID_RET _GL_VOID GLenum GLint *params _GL_VOID_RET _GL_VOID GLsizei const void *pointer _GL_VOID_RET _GL_VOID GLsizei const void *pointer _GL_VOID_RET _GL_BOOL GLfloat param _GL_VOID_RET _GL_VOID GLint param _GL_VOID_RET _GL_VOID GLenum GLfloat param _GL_VOID_RET _GL_VOID GLenum GLint param _GL_VOID_RET _GL_VOID GLushort pattern _GL_VOID_RET _GL_VOID GLdouble GLdouble GLint GLint const GLdouble *points _GL_VOID_RET _GL_VOID GLdouble GLdouble GLint GLint GLdouble GLdouble GLint GLint const GLdouble *points _GL_VOID_RET _GL_VOID GLdouble GLdouble u2 _GL_VOID_RET _GL_VOID GLdouble GLdouble GLint GLdouble GLdouble v2 _GL_VOID_RET _GL_VOID GLenum GLfloat param _GL_VOID_RET _GL_VOID GLenum GLint param _GL_VOID_RET _GL_VOID GLenum mode _GL_VOID_RET _GL_VOID GLdouble GLdouble nz _GL_VOID_RET _GL_VOID GLfloat GLfloat nz _GL_VOID_RET _GL_VOID GLint GLint nz _GL_VOID_RET _GL_VOID GLshort GLshort nz _GL_VOID_RET _GL_VOID GLsizei const void *pointer _GL_VOID_RET _GL_VOID GLsizei const GLfloat *values _GL_VOID_RET _GL_VOID GLsizei const GLushort *values _GL_VOID_RET _GL_VOID GLint param _GL_VOID_RET _GL_VOID const GLuint const GLclampf *priorities _GL_VOID_RET _GL_VOID GLdouble y _GL_VOID_RET _GL_VOID GLfloat y _GL_VOID_RET _GL_VOID GLint y _GL_VOID_RET _GL_VOID GLshort y _GL_VOID_RET _GL_VOID GLdouble GLdouble z _GL_VOID_RET _GL_VOID GLfloat GLfloat z _GL_VOID_RET _GL_VOID GLint GLint z _GL_VOID_RET _GL_VOID GLshort GLshort z _GL_VOID_RET _GL_VOID GLdouble GLdouble GLdouble w _GL_VOID_RET _GL_VOID GLfloat GLfloat GLfloat w _GL_VOID_RET _GL_VOID GLint GLint GLint w _GL_VOID_RET _GL_VOID GLshort GLshort GLshort w _GL_VOID_RET _GL_VOID GLdouble GLdouble GLdouble y2 _GL_VOID_RET _GL_VOID GLfloat GLfloat GLfloat y2 _GL_VOID_RET _GL_VOID GLint GLint GLint y2 _GL_VOID_RET _GL_VOID GLshort GLshort GLshort y2 _GL_VOID_RET _GL_VOID GLdouble GLdouble GLdouble z _GL_VOID_RET _GL_VOID GLdouble GLdouble z _GL_VOID_RET _GL_VOID GLuint *buffer _GL_VOID_RET _GL_VOID GLdouble t _GL_VOID_RET _GL_VOID GLfloat t _GL_VOID_RET _GL_VOID GLint t _GL_VOID_RET _GL_VOID GLshort t _GL_VOID_RET _GL_VOID GLdouble GLdouble r _GL_VOID_RET _GL_VOID GLfloat GLfloat r _GL_VOID_RET _GL_VOID GLint GLint r _GL_VOID_RET _GL_VOID GLshort GLshort r _GL_VOID_RET _GL_VOID GLdouble GLdouble r
_GL_VOID GLfloat value _GL_VOID_RET _GL_VOID const GLuint GLboolean *residences _GL_BOOL_RET _GL_VOID GLsizei GLfloat GLfloat GLfloat GLfloat const GLubyte *bitmap _GL_VOID_RET _GL_VOID GLenum const void *lists _GL_VOID_RET _GL_VOID const GLdouble *equation _GL_VOID_RET _GL_VOID GLdouble GLdouble blue _GL_VOID_RET _GL_VOID GLfloat GLfloat blue _GL_VOID_RET _GL_VOID GLint GLint blue _GL_VOID_RET _GL_VOID GLshort GLshort blue _GL_VOID_RET _GL_VOID GLubyte GLubyte blue _GL_VOID_RET _GL_VOID GLuint GLuint blue _GL_VOID_RET _GL_VOID GLushort GLushort blue _GL_VOID_RET _GL_VOID GLbyte GLbyte GLbyte alpha _GL_VOID_RET _GL_VOID GLdouble GLdouble GLdouble alpha _GL_VOID_RET _GL_VOID GLfloat GLfloat GLfloat alpha _GL_VOID_RET _GL_VOID GLint GLint GLint alpha _GL_VOID_RET _GL_VOID GLshort GLshort GLshort alpha _GL_VOID_RET _GL_VOID GLubyte GLubyte GLubyte alpha _GL_VOID_RET _GL_VOID GLuint GLuint GLuint alpha _GL_VOID_RET _GL_VOID GLushort GLushort GLushort alpha _GL_VOID_RET _GL_VOID GLenum mode _GL_VOID_RET _GL_VOID GLint y
_GL_VOID GLfloat value _GL_VOID_RET _GL_VOID const GLuint GLboolean *residences _GL_BOOL_RET _GL_VOID GLsizei GLfloat GLfloat GLfloat GLfloat const GLubyte *bitmap _GL_VOID_RET _GL_VOID GLenum type
_GL_VOID GLfloat value _GL_VOID_RET _GL_VOID const GLuint GLboolean *residences _GL_BOOL_RET _GL_VOID GLsizei GLfloat GLfloat GLfloat GLfloat const GLubyte *bitmap _GL_VOID_RET _GL_VOID GLenum const void *lists _GL_VOID_RET _GL_VOID const GLdouble *equation _GL_VOID_RET _GL_VOID GLdouble GLdouble blue _GL_VOID_RET _GL_VOID GLfloat GLfloat blue _GL_VOID_RET _GL_VOID GLint GLint blue _GL_VOID_RET _GL_VOID GLshort GLshort blue _GL_VOID_RET _GL_VOID GLubyte GLubyte blue _GL_VOID_RET _GL_VOID GLuint GLuint blue _GL_VOID_RET _GL_VOID GLushort GLushort blue _GL_VOID_RET _GL_VOID GLbyte GLbyte GLbyte alpha _GL_VOID_RET _GL_VOID GLdouble GLdouble GLdouble alpha _GL_VOID_RET _GL_VOID GLfloat GLfloat GLfloat alpha _GL_VOID_RET _GL_VOID GLint GLint GLint alpha _GL_VOID_RET _GL_VOID GLshort GLshort GLshort alpha _GL_VOID_RET _GL_VOID GLubyte GLubyte GLubyte alpha _GL_VOID_RET _GL_VOID GLuint GLuint GLuint alpha _GL_VOID_RET _GL_VOID GLushort GLushort GLushort alpha _GL_VOID_RET _GL_VOID GLenum mode _GL_VOID_RET _GL_VOID GLint GLsizei GLsizei GLenum type _GL_VOID_RET _GL_VOID GLsizei GLenum GLenum const void *pixels _GL_VOID_RET _GL_VOID const void *pointer _GL_VOID_RET _GL_VOID GLdouble v _GL_VOID_RET _GL_VOID GLfloat v _GL_VOID_RET _GL_VOID GLint GLint i2 _GL_VOID_RET _GL_VOID GLint j _GL_VOID_RET _GL_VOID GLfloat param _GL_VOID_RET _GL_VOID GLint param _GL_VOID_RET _GL_VOID GLdouble GLdouble GLdouble GLdouble GLdouble zFar _GL_VOID_RET _GL_UINT GLdouble *equation _GL_VOID_RET _GL_VOID GLenum GLint *params _GL_VOID_RET _GL_VOID GLenum GLfloat *v _GL_VOID_RET _GL_VOID GLenum GLfloat *params _GL_VOID_RET _GL_VOID GLfloat *values _GL_VOID_RET _GL_VOID GLushort *values _GL_VOID_RET _GL_VOID GLenum GLfloat *params _GL_VOID_RET _GL_VOID GLenum GLdouble *params _GL_VOID_RET _GL_VOID GLenum GLint *params _GL_VOID_RET _GL_VOID GLsizei const void *pointer _GL_VOID_RET _GL_VOID GLsizei const void *pointer _GL_VOID_RET _GL_BOOL GLfloat param _GL_VOID_RET _GL_VOID GLint param _GL_VOID_RET _GL_VOID GLenum GLfloat param _GL_VOID_RET _GL_VOID GLenum GLint param _GL_VOID_RET _GL_VOID GLushort pattern _GL_VOID_RET _GL_VOID GLdouble GLdouble GLint GLint const GLdouble *points _GL_VOID_RET _GL_VOID GLdouble GLdouble GLint GLint GLdouble v1
void GPU_vertbuf_vert_set(GPUVertBuf *verts, uint v_idx, const void *data)
#define GPU_vertbuf_create_with_format(format)
struct GPUVertBuf GPUVertBuf
void GPU_vertbuf_data_alloc(GPUVertBuf *, uint v_len)
void GPU_vertbuf_attr_fill(GPUVertBuf *, uint a_idx, const void *data)
void GPU_vertbuf_attr_set(GPUVertBuf *, uint a_idx, uint v_idx, const void *data)
void GPU_vertbuf_data_resize(GPUVertBuf *, uint v_len)
Read Guarded memory(de)allocation.
Group Output data from inside of a node group A color picker Mix two input colors RGB to Convert a color s luminance to a grayscale value Generate a normal vector and a dot product Bright Control the brightness and contrast of the input color Vector Map an input vectors to used to fine tune the interpolation of the input Camera Retrieve information about the camera and how it relates to the current shading point s position Clamp a value between a minimum and a maximum Vector Perform vector math operation Invert a producing a negative Combine Generate a color from its red
Group Output data from inside of a node group A color picker Mix two input colors RGB to Convert a color s luminance to a grayscale value Generate a normal vector and a dot product Bright Control the brightness and contrast of the input color Vector Map an input vectors to used to fine tune the interpolation of the input Camera Retrieve information about the camera and how it relates to the current shading point s position Clamp a value between a minimum and a maximum Vector Perform vector math operation Invert a color
void UI_GetThemeColor3ubv(int colorid, unsigned char col[3])
ATTR_WARN_UNUSED_RESULT const BMVert * v2
ATTR_WARN_UNUSED_RESULT const BMVert * v
SIMD_FORCE_INLINE btScalar angle(const btVector3 &v) const
Return the angle between this and another vector.
struct VertShaded VertShaded
#define DRW_SPHERE_SHAPE_LONGITUDE_HIGH
GPUBatch * DRW_cache_mesh_face_wireframe_get(Object *ob)
GPUBatch * DRW_cache_camera_frame_get(void)
GPUBatch * DRW_cache_empty_capsule_body_get(void)
GPUBatch * DRW_cache_curve_edge_normal_get(Object *ob)
#define VCLASS_LIGHT_AREA_SHAPE
GPUBatch * DRW_cache_groundline_get(void)
GPUBatch * DRW_cache_circle_get(void)
#define set_vert(a, b, quarter)
static struct DRWShapeCache SHC
GPUBatch * DRW_cache_plain_axes_get(void)
GPUBatch * DRW_cache_empty_sphere_get(void)
GPUVertBuf * DRW_cache_object_pos_vertbuf_get(Object *ob)
GPUBatch * DRW_cache_mesh_surface_sculptcolors_get(Object *ob)
static const float bone_box_solid_normals[12][3]
static GPUVertBuf * sphere_wire_vbo(const float rad, int flag)
GPUBatch ** DRW_cache_mball_surface_shaded_get(Object *ob, struct GPUMaterial **gpumat_array, uint gpumat_array_len)
GPUBatch * DRW_cache_bone_octahedral_wire_get(void)
GPUBatch * DRW_cache_quad_get(void)
GPUBatch * DRW_cache_particles_get_edit_inner_points(Object *object, ParticleSystem *psys, struct PTCacheEdit *edit)
GPUBatch * DRW_cache_object_all_edges_get(Object *ob)
static const uint bone_octahedral_wire_lines_adjacency[12][4]
void drw_batch_cache_generate_requested_evaluated_mesh_or_curve(Object *ob)
static float y_axis_name[6][2]
GPUBatch * DRW_cache_lattice_verts_get(Object *ob)
GPUBatch * DRW_cache_cursor_get(bool crosshair_lines)
GPUBatch * DRW_cache_mball_edge_detection_get(Object *ob, bool *r_is_manifold)
GPUBatch * DRW_cache_lightprobe_grid_get(void)
GPUBatch * DRW_cache_light_area_disk_lines_get(void)
static float x_axis_name[4][2]
GPUBatch * DRW_cache_curve_edge_wire_get(Object *ob)
GPUBatch * DRW_cache_bone_dof_lines_get(void)
#define VCLASS_CAMERA_DIST
GPUBatch * DRW_cache_empty_cylinder_get(void)
static const float bone_octahedral_smooth_normals[6][3]
static const float staticSine[16]
GPUBatch * DRW_cache_text_edge_wire_get(Object *ob)
#define VCLASS_EMPTY_AXES_NAME
#define VCLASS_LIGHT_SPOT_BLEND
GPUBatch * DRW_cache_pointcloud_surface_get(Object *object)
GPUBatch * DRW_cache_mesh_all_verts_get(Object *ob)
GPUBatch * DRW_cache_field_force_get(void)
GPUBatch * DRW_cache_grid_get(void)
GPUBatch * DRW_cache_field_tube_limit_get(void)
GPUBatch * DRW_cache_field_cone_limit_get(void)
#define DRW_SPHERE_SHAPE_LONGITUDE_MEDIUM
GPUBatch * DRW_cache_lattice_vert_overlay_get(Object *ob)
static const uint bone_box_wire_lines_adjacency[12][4]
static const uint bone_box_wire[24]
GPUBatch * DRW_cache_object_edge_detection_get(Object *ob, bool *r_is_manifold)
GPUBatch * DRW_cache_field_sphere_limit_get(void)
GPUBatch * DRW_cache_mesh_surface_texpaint_single_get(Object *ob)
#define DRW_SPHERE_SHAPE_LATITUDE_LOW
GPUBatch * DRW_cache_field_vortex_get(void)
GPUBatch ** DRW_cache_object_surface_material_get(struct Object *ob, struct GPUMaterial **gpumat_array, uint gpumat_array_len)
void DRW_cdlayer_attr_aliases_add(GPUVertFormat *format, const char *base_name, const CustomData *UNUSED(data), const CustomDataLayer *cl, bool is_active_render, bool is_active_layer)
#define VCLASS_EMPTY_AXES
GPUBatch * DRW_cache_light_area_square_lines_get(void)
GPUBatch * DRW_cache_bone_box_get(void)
GPUBatch * DRW_cache_light_spot_lines_get(void)
GPUBatch * DRW_cache_speaker_get(void)
GPUBatch * DRW_cache_bone_octahedral_get(void)
GPUBatch * drw_cache_procedural_points_get(void)
#define VCLASS_EMPTY_SCALED
GPUBatch * DRW_cache_mesh_surface_weights_get(Object *ob)
GPUBatch * DRW_cache_lattice_wire_get(Object *ob, bool use_weight)
GPUBatch * DRW_cache_particles_get_dots(Object *object, ParticleSystem *psys)
GPUBatch * DRW_cache_camera_volume_wire_get(void)
static const float bone_box_verts[8][3]
void drw_batch_cache_generate_requested(Object *ob)
static void circle_dashed_verts(GPUVertBuf *vbo, int *vert_idx, int segments, float radius, float z, int flag)
GPUBatch * DRW_cache_volume_selection_surface_get(Object *ob)
GPUBatch * DRW_cache_light_spot_volume_get(void)
GPUBatch * DRW_cache_bone_point_wire_outline_get(void)
GPUBatch * DRW_cache_object_face_wireframe_get(Object *ob)
GPUBatch * DRW_cache_field_wind_get(void)
GPUBatch * DRW_cache_bone_stick_get(void)
static const float bone_octahedral_verts[6][3]
GPUBatch * DRW_cache_lightprobe_planar_get(void)
GPUBatch * DRW_cache_bone_envelope_outline_get(void)
GPUBatch * DRW_cache_surf_edge_wire_get(Object *ob)
GPUBatch * drw_cache_procedural_triangles_get(void)
static const float bone_octahedral_solid_normals[8][3]
GPUBatch * DRW_cache_fullscreen_quad_get(void)
#define VCLASS_LIGHT_DIST
GPUBatch * DRW_cache_field_curve_get(void)
GPUBatch * DRW_cache_mball_face_wireframe_get(Object *ob)
#define DRW_SPHERE_SHAPE_LATITUDE_HIGH
void drw_batch_cache_validate(Object *ob)
#define DRW_SPHERE_SHAPE_LONGITUDE_LOW
#define VCLASS_LIGHT_SPOT_SHAPE
void DRW_shape_cache_free(void)
GPUBatch * DRW_cache_cube_get(void)
GPUBatch ** DRW_cache_mesh_surface_shaded_get(Object *ob, struct GPUMaterial **gpumat_array, uint gpumat_array_len)
GPUBatch * DRW_cache_normal_arrow_get(void)
void drw_batch_cache_generate_requested_delayed(Object *ob)
GPUBatch * DRW_cache_camera_tria_get(void)
#define VCLASS_CAMERA_FRAME
GPUBatch * DRW_cache_camera_volume_get(void)
#define VCLASS_CAMERA_VOLUME
GPUBatch * DRW_cache_mesh_surface_vertpaint_get(Object *ob)
GPUBatch * DRW_cache_sphere_get(const eDRWLevelOfDetail level_of_detail)
#define VCLASS_LIGHT_SPOT_CONE
GPUBatch * DRW_cache_mesh_edge_detection_get(Object *ob, bool *r_is_manifold)
static float z_axis_name[10][2]
GPUBatch * DRW_cache_particles_get_prim(int type)
GPUBatch * DRW_cache_light_sun_lines_get(void)
GPUBatch * DRW_cache_bone_envelope_solid_get(void)
GPUBatch * DRW_cache_lightprobe_cube_get(void)
static void UNUSED_FUNCTION() add_fancy_edge(GPUVertBuf *vbo, uint pos_id, uint n1_id, uint n2_id, uint *v_idx, const float co1[3], const float co2[3], const float n1[3], const float n2[3])
static const uint bone_octahedral_solid_tris[8][3]
GPUBatch * DRW_cache_bone_point_get(void)
GPUBatch * DRW_cache_mesh_all_edges_get(Object *ob)
GPUBatch * DRW_cache_camera_tria_wire_get(void)
GPUBatch * DRW_cache_curve_vert_overlay_get(Object *ob)
static void circle_verts(GPUVertBuf *vbo, int *vert_idx, int segments, float radius, float z, int flag)
#define VCLASS_SCREENALIGNED
#define DIAMOND_NSEGMENTS
GPUBatch * DRW_cache_mesh_surface_get(Object *ob)
#define VCLASS_SCREENSPACE
GPUBatch * DRW_cache_mesh_surface_mesh_analysis_get(Object *ob)
GPUBatch * DRW_cache_curve_edge_overlay_get(Object *ob)
static void sphere_lat_lon_vert(GPUVertBuf *vbo, int *v_ofs, float lat, float lon)
static const uint bone_box_solid_tris[12][3]
GPUBatch * DRW_cache_particles_get_edit_tip_points(Object *object, ParticleSystem *psys, struct PTCacheEdit *edit)
GPUBatch ** DRW_cache_mesh_surface_texpaint_get(Object *ob)
#define MARKER_FILL_LAYER
static const float bone_box_smooth_normals[8][3]
GPUBatch * DRW_cache_bone_box_wire_get(void)
GPUBatch * DRW_cache_mball_surface_get(Object *ob)
int DRW_cache_object_material_count_get(struct Object *ob)
static GPUVertFormat extra_vert_format(void)
static void benv_lat_lon_to_co(const float lat, const float lon, float r_nor[3])
GPUBatch * DRW_cache_quad_wires_get(void)
#define DRW_SPHERE_SHAPE_LATITUDE_MEDIUM
GPUBatch * drw_cache_procedural_lines_get(void)
GPUBatch * DRW_cache_mesh_loose_edges_get(Object *ob)
static float axis_marker[8][2]
GPUBatch * DRW_cache_empty_capsule_cap_get(void)
GPUBatch * DRW_cache_volume_face_wireframe_get(Object *ob)
GPUBatch * DRW_cache_particles_get_edit_strands(Object *object, ParticleSystem *psys, struct PTCacheEdit *edit, bool use_weight)
GPUBatch * DRW_cache_single_arrow_get(void)
void DRW_batch_cache_free_old(Object *ob, int ctime)
GPUBatch * DRW_cache_particles_get_hair(Object *object, ParticleSystem *psys, ModifierData *md)
GPUBatch * DRW_cache_camera_distances_get(void)
GPUBatch * DRW_cache_object_surface_get(Object *ob)
GPUBatch * DRW_cache_pointcloud_get_dots(Object *object)
static float light_distance_z_get(char axis, const bool start)
GPUBatch * DRW_cache_empty_cone_get(void)
#define VCLASS_EMPTY_SIZE
GPUBatch * DRW_gpencil_dummy_buffer_get(void)
GPUBatch * DRW_cache_object_loose_edges_get(struct Object *ob)
GPUBatch * DRW_cache_light_point_lines_get(void)
GPUBatch * DRW_cache_bone_dof_sphere_get(void)
GPUBatch * DRW_cache_bone_arrows_get(void)
GPUBatch * DRW_cache_empty_cube_get(void)
GPUBatch * DRW_cache_mesh_surface_edges_get(Object *ob)
struct GPUBatch * DRW_cache_gpencil_face_wireframe_get(struct Object *ob)
int DRW_gpencil_material_count_get(struct bGPdata *gpd)
struct GPUBatch ** DRW_metaball_batch_cache_get_surface_shaded(struct Object *ob, struct MetaBall *mb, struct GPUMaterial **gpumat_array, uint gpumat_array_len)
struct GPUBatch * DRW_mesh_batch_cache_get_edge_detection(struct Mesh *me, bool *r_is_manifold)
struct GPUBatch ** DRW_mesh_batch_cache_get_surface_texpaint(struct Object *object, struct Mesh *me)
struct GPUBatch * DRW_curve_batch_cache_get_wire_edge(struct Curve *cu)
struct GPUBatch * DRW_mesh_batch_cache_get_surface_sculpt(struct Object *object, struct Mesh *me)
void DRW_mesh_batch_cache_validate(struct Object *object, struct Mesh *me)
struct GPUBatch * DRW_particles_batch_cache_get_edit_tip_points(struct Object *object, struct ParticleSystem *psys, struct PTCacheEdit *edit)
struct GPUBatch * DRW_pointcloud_batch_cache_get_surface(struct Object *ob)
struct GPUBatch * DRW_curve_batch_cache_get_edit_edges(struct Curve *cu)
int DRW_metaball_material_count_get(struct MetaBall *mb)
struct GPUVertBuf * DRW_mesh_batch_cache_pos_vertbuf_get(struct Mesh *me)
struct GPUBatch * DRW_mesh_batch_cache_get_loose_edges(struct Mesh *me)
void DRW_pointcloud_batch_cache_validate(struct PointCloud *pointcloud)
void DRW_mesh_batch_cache_create_requested(struct TaskGraph *task_graph, struct Object *ob, struct Mesh *me, const struct Scene *scene, bool is_paint_mode, bool use_hide)
struct GPUBatch * DRW_volume_batch_cache_get_wireframes_face(struct Volume *volume)
struct GPUBatch * DRW_particles_batch_cache_get_edit_strands(struct Object *object, struct ParticleSystem *psys, struct PTCacheEdit *edit, bool use_weight)
struct GPUBatch * DRW_mesh_batch_cache_get_wireframes_face(struct Mesh *me)
struct GPUBatch * DRW_lattice_batch_cache_get_edit_verts(struct Lattice *lt)
struct GPUBatch ** DRW_cache_pointcloud_surface_shaded_get(struct Object *ob, struct GPUMaterial **gpumat_array, uint gpumat_array_len)
void DRW_curve_batch_cache_create_requested(struct Object *ob, const struct Scene *scene)
struct GPUBatch * DRW_pointcloud_batch_cache_get_dots(struct Object *ob)
struct GPUBatch * DRW_volume_batch_cache_get_selection_surface(struct Volume *volume)
struct GPUBatch * DRW_mesh_batch_cache_get_surface_vertpaint(struct Object *object, struct Mesh *me)
struct GPUBatch * DRW_mesh_batch_cache_get_all_edges(struct Mesh *me)
int DRW_mesh_material_count_get(const struct Object *object, const struct Mesh *me)
struct GPUBatch * DRW_mesh_batch_cache_get_surface_weights(struct Mesh *me)
void DRW_lattice_batch_cache_validate(struct Lattice *lt)
struct GPUBatch * DRW_lattice_batch_cache_get_all_verts(struct Lattice *lt)
struct GPUBatch * DRW_mesh_batch_cache_get_all_verts(struct Mesh *me)
struct GPUVertBuf * DRW_mball_batch_cache_pos_vertbuf_get(struct Object *ob)
struct GPUBatch * DRW_particles_batch_cache_get_edit_inner_points(struct Object *object, struct ParticleSystem *psys, struct PTCacheEdit *edit)
void DRW_curve_batch_cache_validate(struct Curve *cu)
void DRW_mball_batch_cache_validate(struct MetaBall *mb)
struct GPUBatch * DRW_curve_batch_cache_get_normal_edge(struct Curve *cu)
struct GPUBatch * DRW_mesh_batch_cache_get_surface_texpaint_single(struct Object *object, struct Mesh *me)
struct GPUBatch * DRW_mesh_batch_cache_get_surface_edges(struct Object *object, struct Mesh *me)
int DRW_curve_material_count_get(struct Curve *cu)
struct GPUBatch * DRW_metaball_batch_cache_get_wireframes_face(struct Object *ob)
void DRW_volume_batch_cache_validate(struct Volume *volume)
int DRW_volume_material_count_get(struct Volume *volume)
void DRW_curves_batch_cache_free_old(struct Curves *curves, int ctime)
int DRW_pointcloud_material_count_get(struct PointCloud *pointcloud)
struct GPUBatch * DRW_curve_batch_cache_get_edit_verts(struct Curve *cu)
void DRW_curves_batch_cache_create_requested(struct Object *ob)
struct GPUBatch ** DRW_mesh_batch_cache_get_surface_shaded(struct Object *object, struct Mesh *me, struct GPUMaterial **gpumat_array, uint gpumat_array_len)
void DRW_mesh_batch_cache_free_old(struct Mesh *me, int ctime)
struct GPUBatch * DRW_lattice_batch_cache_get_all_edges(struct Lattice *lt, bool use_weight, int actdef)
void DRW_curves_batch_cache_validate(struct Curves *curves)
struct GPUBatch * DRW_particles_batch_cache_get_dots(struct Object *object, struct ParticleSystem *psys)
struct GPUBatch * DRW_metaball_batch_cache_get_triangles_with_normals(struct Object *ob)
struct GPUBatch * DRW_particles_batch_cache_get_hair(struct Object *object, struct ParticleSystem *psys, struct ModifierData *md)
struct GPUBatch * DRW_metaball_batch_cache_get_edge_detection(struct Object *ob, bool *r_is_manifold)
int DRW_curves_material_count_get(struct Curves *curves)
struct GPUBatch * DRW_mesh_batch_cache_get_edit_mesh_analysis(struct Mesh *me)
struct GPUBatch * DRW_mesh_batch_cache_get_surface(struct Mesh *me)
bool DRW_object_is_in_edit_mode(const Object *ob)
const DRWContextState * DRW_context_state_get(void)
bool DRW_object_use_hide_faces(const struct Object *ob)
struct @653::@656 attr_id
static const pxr::TfToken b("b", pxr::TfToken::Immortal)
struct Object * object_edit
struct TaskGraph * task_graph
struct GSet * delayed_extraction
GPUBatch * drw_camera_volume_wire
GPUBatch * drw_bone_dof_sphere
GPUBatch * drw_lightprobe_grid
GPUBatch * drw_single_arrow
GPUBatch * drw_empty_cube
GPUBatch * drw_bone_envelope_outline
GPUBatch * drw_light_point_lines
GPUBatch * drw_particle_cross
GPUBatch * drw_procedural_verts
GPUBatch * drw_gpencil_dummy_quad
GPUBatch * drw_lightprobe_cube
GPUBatch * drw_plain_axes
GPUBatch * drw_empty_cone
GPUBatch * drw_bone_box_wire
GPUBatch * drw_quad_wires
GPUBatch * drw_light_spot_lines
GPUBatch * drw_procedural_tris
GPUBatch * drw_bone_envelope
GPUBatch * drw_cursor_only_circle
GPUBatch * drw_camera_frame
GPUBatch * drw_empty_sphere
GPUBatch * drw_field_sphere_limit
GPUBatch * drw_camera_tria_wire
GPUBatch * drw_camera_tria
GPUBatch * drw_fullscreen_quad
GPUBatch * drw_empty_capsule_cap
GPUBatch * drw_field_curve
GPUBatch * drw_empty_cylinder
GPUBatch * drw_particle_circle
GPUBatch * drw_bone_arrows
GPUBatch * drw_field_force
GPUBatch * drw_sphere_lod[DRW_LOD_MAX]
GPUBatch * drw_light_area_disk_lines
GPUBatch * drw_procedural_lines
GPUBatch * drw_normal_arrow
GPUBatch * drw_bone_stick
GPUBatch * drw_bone_dof_lines
GPUBatch * drw_lightprobe_planar
GPUBatch * drw_empty_capsule_body
GPUBatch * drw_light_spot_volume
GPUBatch * drw_bone_point
GPUBatch * drw_bone_octahedral_wire
GPUBatch * drw_light_area_square_lines
GPUBatch * drw_particle_axis
GPUBatch * drw_field_cone_limit
GPUBatch * drw_field_vortex
GPUBatch * drw_camera_distances
GPUBatch * drw_camera_volume
GPUBatch * drw_bone_point_wire
GPUBatch * drw_field_wind
GPUBatch * drw_light_sun_lines
GPUBatch * drw_field_tube_limit
GPUBatch * drw_bone_octahedral
GPUBatch * drw_ground_line
ListBase vertex_group_names
struct MDeformVert * dvert
int vertex_group_active_index
struct EditLatt * editlatt