50 #define VCLASS_LIGHT_AREA_SHAPE (1 << 0)
51 #define VCLASS_LIGHT_SPOT_SHAPE (1 << 1)
52 #define VCLASS_LIGHT_SPOT_BLEND (1 << 2)
53 #define VCLASS_LIGHT_SPOT_CONE (1 << 3)
54 #define VCLASS_LIGHT_DIST (1 << 4)
56 #define VCLASS_CAMERA_FRAME (1 << 5)
57 #define VCLASS_CAMERA_DIST (1 << 6)
58 #define VCLASS_CAMERA_VOLUME (1 << 7)
60 #define VCLASS_SCREENSPACE (1 << 8)
61 #define VCLASS_SCREENALIGNED (1 << 9)
63 #define VCLASS_EMPTY_SCALED (1 << 10)
64 #define VCLASS_EMPTY_AXES (1 << 11)
65 #define VCLASS_EMPTY_AXES_NAME (1 << 12)
66 #define VCLASS_EMPTY_AXES_SHADOW (1 << 13)
67 #define VCLASS_EMPTY_SIZE (1 << 14)
71 #define DRW_SPHERE_SHAPE_LATITUDE_LOW 32
72 #define DRW_SPHERE_SHAPE_LONGITUDE_LOW 24
74 #define DRW_SPHERE_SHAPE_LATITUDE_MEDIUM 64
75 #define DRW_SPHERE_SHAPE_LONGITUDE_MEDIUM 48
77 #define DRW_SPHERE_SHAPE_LATITUDE_HIGH 80
78 #define DRW_SPHERE_SHAPE_LONGITUDE_HIGH 60
264 static GPUVertBuf *fill_arrows_vbo(
const float scale)
271 if (
format.attr_len == 0) {
279 float v1[3] = {0.0, 0.0, 0.0};
280 float v2[3] = {0.0, 0.0, 0.0};
281 float vtmp1[3], vtmp2[3];
283 for (
int axis = 0; axis < 3; axis++) {
284 const int arrow_axis = (axis == 0) ? 1 : 0;
293 v1[arrow_axis] = -0.08f;
299 v1[arrow_axis] = 0.08f;
306 v1[arrow_axis] =
v1[axis] =
v2[axis] = 0.0f;
331 for (
int axis = 0; axis < 3; axis++) {
333 for (
int j = 0; j < 2; j++) {
342 else if (axis == 1) {
363 const float pos[3][2] = {{-1.0f, -1.0f}, {3.0f, -1.0f}, {-1.0f, 3.0f}};
364 const float uvs[3][2] = {{0.0f, 0.0f}, {2.0f, 0.0f}, {0.0f, 2.0f}};
371 if (
format.attr_len == 0) {
381 for (
int i = 0; i < 3; i++) {
402 const float p[4][2] = {{-1.0f, -1.0f}, {-1.0f, 1.0f}, {1.0f, 1.0f}, {1.0f, -1.0f}};
403 for (
int a = 0;
a < 4;
a++) {
423 const float p[4][2] = {{-1.0f, -1.0f}, {-1.0f, 1.0f}, {1.0f, 1.0f}, {1.0f, -1.0f}};
424 for (
int a = 0;
a < 5;
a++) {
442 if (
format.attr_len == 0) {
450 for (
int i = 0; i < 8; i++) {
451 for (
int j = 0; j < 8; j++) {
452 float pos0[2] = {(
float)i / 8.0f, (
float)j / 8.0f};
453 float pos1[2] = {(
float)(i + 1) / 8.0f, (
float)j / 8.0f};
454 float pos2[2] = {(
float)i / 8.0f, (
float)(j + 1) / 8.0f};
455 float pos3[2] = {(
float)(i + 1) / 8.0f, (
float)(j + 1) / 8.0f};
495 switch (level_of_detail) {
516 int v_len = (lat_res - 1) * lon_res * 6;
519 const float lon_inc = 2 *
M_PI / lon_res;
520 const float lat_inc =
M_PI / lat_res;
525 for (
int i = 0; i < lon_res; i++, lon += lon_inc) {
527 for (
int j = 0; j < lat_res; j++, lat += lat_inc) {
528 if (j != lat_res - 1) {
554 GPUVertBuf *vbo,
int *vert_idx,
int segments,
float radius,
float z,
int flag)
556 for (
int a = 0;
a < segments;
a++) {
557 for (
int b = 0; b < 2; b++) {
558 float angle = (2.0f *
M_PI * (
a + b)) / segments;
569 GPUVertBuf *vbo,
int *vert_idx,
int segments,
float radius,
float z,
int flag)
571 for (
int a = 0;
a < segments * 2;
a += 2) {
572 for (
int b = 0; b < 2; b++) {
573 float angle = (2.0f *
M_PI * (
a + b)) / (segments * 2);
587 {-1.0f, 0.0f, -1.0f},
591 {-1.0f, 1.0f, -1.0f},
607 0, 1, 1, 2, 2, 3, 3, 0, 4, 5, 5, 6, 6, 7, 7, 4, 0, 4, 1, 5, 2, 6, 3, 7,
613 static const uint bone_box_wire_adjacent_face[24] = {
614 0, 2, 0, 4, 1, 6, 1, 8, 3, 10, 5, 10, 7, 11, 9, 11, 3, 8, 2, 5, 4, 7, 6, 9,
658 static const uint bone_box_solid_tris_adjacency[12][6] = {
660 {3, 26, 4, 20, 5, 1},
662 {6, 2, 7, 16, 8, 11},
663 {9, 7, 10, 32, 11, 24},
665 {12, 0, 13, 22, 14, 17},
666 {15, 13, 16, 30, 17, 6},
668 {18, 3, 19, 28, 20, 23},
669 {21, 19, 22, 33, 23, 12},
671 {24, 4, 25, 10, 26, 29},
672 {27, 25, 28, 34, 29, 18},
674 {30, 9, 31, 15, 32, 35},
675 {33, 31, 34, 21, 35, 27},
715 for (
int i = 0; i < vert_len; i++) {
722 for (
int i = 0; i < tri_len; i++) {
735 #define CIRCLE_RESOL 64
971 uint gpumat_array_len)
1052 float p[3][3] = {{0}};
1058 p[1][2] = p[2][2] = 0.75f;
1059 for (
int sides = 0; sides < 4; sides++) {
1060 if (sides % 2 == 1) {
1068 for (
int i = 0,
a = 1; i < 2; i++,
a++) {
1131 #define NSEGMENTS 12
1173 const float pos[8][3] = {
1178 {-1.0f, 0.0f, 1.0f},
1179 {-1.0f, 0.0f, 0.0f},
1180 {0.0f, -1.0f, 1.0f},
1181 {0.0f, -1.0f, 0.0f},
1189 if (
format.attr_len == 0) {
1205 #define NSEGMENTS 24
1220 if (
format.attr_len == 0) {
1230 float v[3] = {0.0f, 0.0f, 0.0f};
1237 for (
int i = 0; i <
NSEGMENTS / 2; i++) {
1238 float v[3] = {0.0f, 0.0f, 0.0f};
1262 #define CIRCLE_RESOL 32
1272 for (
int i = 0; i < 4; i++) {
1273 float z = 0.05f * (
float)i;
1285 #define CIRCLE_RESOL 32
1295 for (
int i = 0; i < 3; i++) {
1296 float radius = 1.0f + 0.5f * i;
1308 #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++) {
1427 #define CIRCLE_RESOL 32
1452 #define DIAMOND_NSEGMENTS 4
1453 #define INNER_NSEGMENTS 8
1454 #define OUTER_NSEGMENTS 10
1455 #define CIRCLE_NSEGMENTS 32
1461 return start ? 0.4f : 0.3f;
1463 return start ? 0.6f : 0.7f;
1465 return start ? 1.4f : 1.3f;
1467 return start ? 1.6f : 1.7f;
1469 return start ? 2.4f : 2.3f;
1471 return start ? 2.6f : 2.7f;
1506 const float r = 9.0f;
1530 const float r = 9.0f;
1537 for (
int a = 0;
a < 8;
a++) {
1565 const float r = 9.0f;
1638 const float r = 9.0f;
1669 const float r = 9.0f;
1677 for (
int a = 0;
a < 4;
a++) {
1678 for (
int b = 0; b < 2; b++) {
1679 const float p[4][2] = {{-1.0f, -1.0f}, {-1.0f, 1.0f}, {1.0f, 1.0f}, {1.0f, -1.0f}};
1680 float x = p[(
a + b) % 4][0];
1681 float y = p[(
a + b) % 4][1];
1699 #undef CIRCLE_NSEGMENTS
1700 #undef OUTER_NSEGMENTS
1701 #undef INNER_NSEGMENTS
1713 const int segments = 16;
1721 if (
format.attr_len == 0) {
1728 for (
int j = 0; j < 3; j++) {
1729 float z = 0.25f * j - 0.125f;
1730 float r = (j == 0 ? 0.5f : 0.25f);
1734 for (
int i = 1; i < segments; i++) {
1735 float x =
cosf(2.0f * (
float)
M_PI * i / segments) *
r;
1736 float y =
sinf(2.0f * (
float)
M_PI * i / segments) *
r;
1745 for (
int j = 0; j < 4; j++) {
1746 float x = (((j + 1) % 2) * (j - 1)) * 0.5f;
1747 float y = ((j % 2) * (j - 2)) * 0.5f;
1748 for (
int i = 0; i < 3; i++) {
1754 float z = 0.25f * i - 0.125f;
1783 const float r = 14.0f;
1787 const float sin_pi_3 = 0.86602540378f;
1788 const float cos_pi_3 = 0.5f;
1789 const float p[7][2] = {
1791 {sin_pi_3, cos_pi_3},
1792 {sin_pi_3, -cos_pi_3},
1794 {-sin_pi_3, -cos_pi_3},
1795 {-sin_pi_3, cos_pi_3},
1798 for (
int i = 0; i < 6; i++) {
1813 for (
int i = 0; i < 6; i++) {
1814 char axes[] =
"zZyYxX";
1837 const float r = 14.0f;
1841 const float sin_pi_3 = 0.86602540378f;
1842 const float cos_pi_3 = 0.5f;
1843 const float p[7][2] = {
1845 {sin_pi_3, cos_pi_3},
1846 {sin_pi_3, -cos_pi_3},
1848 {-sin_pi_3, -cos_pi_3},
1849 {-sin_pi_3, cos_pi_3},
1852 for (
int i = 0; i < 6; i++) {
1853 float t1[2], t2[2], tr[2];
1859 for (
int j = 1; j < 2; j++) {
1875 for (
int i = 0; i < 6; i++) {
1876 char axes[] =
"zZyYxX";
1899 const float r = 20.0f;
1902 const float sin_pi_3 = 0.86602540378f;
1903 const float p[4][2] = {
1909 for (
int i = 0; i < 4; i++) {
1910 for (
int a = 0;
a < 2;
a++) {
1911 float x = p[(i +
a) % 4][0] *
r;
1912 float y = p[(i +
a) % 4][1] *
r;
1931 {0.1f, 0.1f, -0.1f},
1932 {-0.1f, 0.1f, -0.1f},
1933 {-0.1f, 0.1f, 0.1f},
1938 {0.0f, -1.0f, 0.0f},
1955 static const uint bone_octahedral_wire[24] = {
1956 0, 1, 1, 5, 5, 3, 3, 0, 0, 4, 4, 5, 5, 2, 2, 0, 1, 2, 2, 3, 3, 4, 4, 1,
1961 static const uint bone_octahedral_wire_adjacent_face[24] = {
1962 0, 3, 4, 7, 5, 6, 1, 2, 2, 3, 6, 7, 4, 5, 0, 1, 0, 4, 1, 5, 2, 6, 3, 7,
2005 static const uint bone_octahedral_solid_tris_adjacency[8][6] = {
2006 {0, 12, 1, 10, 2, 3},
2007 {3, 15, 4, 1, 5, 6},
2008 {6, 18, 7, 4, 8, 9},
2009 {9, 21, 10, 7, 11, 0},
2011 {12, 22, 13, 2, 14, 17},
2012 {15, 13, 16, 5, 17, 20},
2013 {18, 16, 19, 8, 20, 23},
2014 {21, 19, 22, 11, 23, 14},
2024 {0.99388373f, 0.11043154f, -0.00000000f},
2025 {0.00000000f, 0.11043154f, -0.99388373f},
2026 {-0.99388373f, 0.11043154f, 0.00000000f},
2027 {0.00000000f, 0.11043154f, 0.99388373f},
2039 if (
format.attr_len == 0) {
2049 for (
int i = 0; i < 8; i++) {
2050 for (
int j = 0; j < 3; j++) {
2072 for (
int i = 0; i < 12; i++) {
2084 pos_nor_batch->verts[0],
2100 if (
format.attr_len == 0) {
2110 for (
int i = 0; i < 12; i++) {
2111 for (
int j = 0; j < 3; j++) {
2130 for (
int i = 0; i < 12; i++) {
2142 pos_nor_batch->verts[0],
2155 r_nor[2] =
cosf(lat);
2161 const int lon_res = 24;
2162 const int lat_res = 24;
2163 const float lon_inc = 2.0f *
M_PI / lon_res;
2164 const float lat_inc =
M_PI / lat_res;
2171 if (
format.attr_len == 0) {
2180 for (
int i = 0; i < lon_res; i++, lon += lon_inc) {
2182 float co1[3], co2[3];
2187 for (
int j = 0; j < lat_res; j++, lat += lat_inc) {
2211 #define CIRCLE_RESOL 64
2212 float v0[2],
v1[2],
v2[2];
2213 const float radius = 1.0f;
2218 uint pos0, pos1, pos2;
2220 if (
format.attr_len == 0) {
2257 const int lon_res = 16;
2258 const int lat_res = 8;
2259 const float rad = 0.05f;
2260 const float lon_inc = 2 *
M_PI / lon_res;
2261 const float lat_inc =
M_PI / lat_res;
2268 if (
format.attr_len == 0) {
2278 for (
int i = 0; i < lon_res; i++, lon += lon_inc) {
2280 for (
int j = 0; j < lat_res; j++, lat += lat_inc) {
2281 if (j != lat_res - 1) {
2283 vbo,
attr_id.pos,
attr_id.nor, &v_idx, rad, lat + lat_inc, lon + lon_inc);
2284 add_lat_lon_vert(vbo,
attr_id.pos,
attr_id.nor, &v_idx, rad, lat + lat_inc, lon);
2285 add_lat_lon_vert(vbo,
attr_id.pos,
attr_id.nor, &v_idx, rad, lat, lon);
2289 add_lat_lon_vert(vbo,
attr_id.pos,
attr_id.nor, &v_idx, rad, lat, lon + lon_inc);
2291 vbo,
attr_id.pos,
attr_id.nor, &v_idx, rad, lat + lat_inc, lon + lon_inc);
2292 add_lat_lon_vert(vbo,
attr_id.pos,
attr_id.nor, &v_idx, rad, lat, lon);
2299 # define CIRCLE_RESOL 64
2301 const float radius = 0.05f;
2308 if (
format.attr_len == 0) {
2322 # undef CIRCLE_RESOL
2335 # define CIRCLE_RESOL 64
2336 const float radius = 0.05f;
2343 if (
format.attr_len == 0) {
2360 # undef CIRCLE_RESOL
2367 #define COL_WIRE (1 << 0)
2368 #define COL_HEAD (1 << 1)
2369 #define COL_TAIL (1 << 2)
2370 #define COL_BONE (1 << 3)
2372 #define POS_HEAD (1 << 4)
2373 #define POS_TAIL (1 << 5)
2374 #define POS_BONE (1 << 6)
2379 #define CIRCLE_RESOL 12
2382 const float radius = 2.0f;
2390 if (
format.attr_len == 0) {
2404 for (
int i = 0; i < 2; i++) {
2429 for (
int i = 0; i < 6; i++) {
2430 pos[1] = (
ELEM(i, 0, 3)) ? 0.0f : ((i < 3) ? 1.0f : -1.0f);
2450 {0.9f *
S_X, 1.0f *
S_Y},
2451 {-1.0f *
S_X, -1.0f *
S_Y},
2452 {-0.9f *
S_X, 1.0f *
S_Y},
2453 {1.0f *
S_X, -1.0f *
S_Y},
2455 #define X_LEN (sizeof(x_axis_name) / (sizeof(float[2])))
2462 {-1.0f *
S_X, 1.0f *
S_Y},
2463 {0.0f *
S_X, -0.1f *
S_Y},
2464 {1.0f *
S_X, 1.0f *
S_Y},
2465 {0.0f *
S_X, -0.1f *
S_Y},
2466 {0.0f *
S_X, -0.1f *
S_Y},
2467 {0.0f *
S_X, -1.0f *
S_Y},
2469 #define Y_LEN (sizeof(y_axis_name) / (sizeof(float[2])))
2476 {-0.95f *
S_X, 1.00f *
S_Y},
2477 {0.95f *
S_X, 1.00f *
S_Y},
2478 {0.95f *
S_X, 1.00f *
S_Y},
2479 {0.95f *
S_X, 0.90f *
S_Y},
2480 {0.95f *
S_X, 0.90f *
S_Y},
2481 {-1.00f *
S_X, -0.90f *
S_Y},
2482 {-1.00f *
S_X, -0.90f *
S_Y},
2483 {-1.00f *
S_X, -1.00f *
S_Y},
2484 {-1.00f *
S_X, -1.00f *
S_Y},
2485 {1.00f *
S_X, -1.00f *
S_Y},
2487 #define Z_LEN (sizeof(z_axis_name) / (sizeof(float[2])))
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},
2502 {-1.0f *
S_X, 1.0f *
S_Y}
2514 #define MARKER_LEN (sizeof(axis_marker) / (sizeof(float[2])))
2515 #define MARKER_FILL_LAYER 6
2528 for (
int axis = 0; axis < 3; axis++) {
2532 float p[3] = {0.0f, 0.0f, axis};
2547 p[2] = axis + 0.25f;
2548 for (
int i = 0; i < axis_v_len[axis]; i++) {
2578 #define set_vert(a, b, quarter) \
2580 copy_v2_fl2(pos, (quarter % 2 == 0) ? -(a) : (a), (quarter < 2) ? -(b) : (b)); \
2581 GPU_vertbuf_attr_set(vbo, attr_id.pos, v++, pos); \
2589 float x,
z, px, pz,
pos[2];
2596 if (
format.attr_len == 0) {
2604 for (q = 0; q < 4; q++) {
2606 for (i = 1; i < n; i++) {
2609 for (j = 1; j <= (n - i); j++) {
2649 if (
format.attr_len == 0) {
2657 for (i = 0; i < n * 4; i++) {
2658 float a = (1.0f - (i / (
float)(n * 4))) * 2.0f *
M_PI;
2683 const int v_len = 2 * (4 + 4);
2688 const float p[4][2] = {{-1.0f, -1.0f}, {-1.0f, 1.0f}, {1.0f, 1.0f}, {1.0f, -1.0f}};
2690 for (
int a = 0;
a < 4;
a++) {
2691 for (
int b = 0; b < 2; b++) {
2692 float x = p[(
a + b) % 4][0];
2693 float y = p[(
a + b) % 4][1];
2698 for (
int a = 0;
a < 4;
a++) {
2722 for (
int a = 0;
a < 3;
a++) {
2764 const int v_len = 2 * 3;
2769 const float p[3][2] = {{-1.0f, 1.0f}, {1.0f, 1.0f}, {0.0f, 0.0f}};
2770 for (
int a = 0;
a < 3;
a++) {
2771 for (
int b = 0; b < 2; b++) {
2772 float x = p[(
a + b) % 3][0];
2773 float y = p[(
a + b) % 3][1];
2788 const int v_len = 3;
2874 uint gpumat_array_len)
2935 if (mesh_eval !=
NULL) {
2972 if (mesh_eval !=
NULL) {
2985 if (mesh_eval !=
NULL) {
3000 if (mesh_eval !=
NULL) {
3012 if (mesh_eval !=
NULL) {
3022 uint gpumat_array_len)
3028 if (mesh_eval !=
NULL) {
3061 uint gpumat_array_len)
3084 if (mesh_eval !=
NULL) {
3099 if (mesh_eval !=
NULL) {
3114 if (mesh_eval !=
NULL) {
3129 if (mesh_eval !=
NULL) {
3144 if (mesh_eval !=
NULL) {
3153 uint gpumat_array_len)
3161 if (mesh_eval !=
NULL) {
3180 if (mesh_eval !=
NULL) {
3193 if (mesh_eval !=
NULL) {
3206 if (mesh_eval !=
NULL) {
3218 if (mesh_eval !=
NULL) {
3231 if (mesh_eval !=
NULL) {
3243 uint gpumat_array_len)
3249 if (mesh_eval !=
NULL) {
3408 #define CIRCLE_RESOL 32
3442 if (*drw_cursor ==
NULL) {
3443 const float f5 = 0.25f;
3444 const float f10 = 0.5f;
3445 const float f20 = 1.0f;
3447 const int segments = 16;
3448 const int vert_len = segments + 8;
3449 const int index_len = vert_len + 5;
3451 const uchar red[3] = {255, 0, 0};
3452 const uchar white[3] = {255, 255, 255};
3458 if (
format.attr_len == 0) {
3471 for (
int i = 0; i < segments; i++) {
3483 if (crosshair_lines) {
3484 uchar crosshair_color[3];
3548 if (mesh_eval !=
NULL) {
3579 const bool is_paint_mode =
ELEM(
3583 ((is_paint_mode && (ob == draw_ctx->
obact) &&
typedef float(TangentPoint)[2]
enum eContextObjectMode CTX_data_mode_enum_ex(const struct Object *obedit, const struct Object *ob, const eObjectMode object_mode)
General operations, lookup, etc. for blender objects.
struct Mesh * BKE_object_get_evaluated_mesh(struct Object *object)
bool BLI_gset_add(GSet *gs, void *key)
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)
#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 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 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 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.
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
GPUBatch * DRW_cache_text_face_wireframe_get(Object *ob)
#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_curve_edge_detection_get(Object *ob, bool *r_is_manifold)
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]
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_text_surface_shaded_get(Object *ob, struct GPUMaterial **gpumat_array, uint gpumat_array_len)
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_surf_face_wireframe_get(Object *ob)
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)
GPUBatch * DRW_cache_surf_edge_detection_get(Object *ob, bool *r_is_manifold)
#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_surf_surface_shaded_get(Object *ob, struct GPUMaterial **gpumat_array, uint gpumat_array_len)
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_curve_surface_get(Object *ob)
GPUBatch * DRW_cache_surf_surface_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)
GPUBatch * DRW_cache_text_edge_detection_get(Object *ob, bool *r_is_manifold)
static void circle_dashed_verts(GPUVertBuf *vbo, int *vert_idx, int segments, float radius, float z, int flag)
GPUBatch * DRW_cache_text_surface_get(Object *ob)
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)
GPUBatch * DRW_cache_surf_loose_edges_get(Object *ob)
#define DRW_SPHERE_SHAPE_LATITUDE_HIGH
void drw_batch_cache_validate(Object *ob)
#define DRW_SPHERE_SHAPE_LONGITUDE_LOW
GPUBatch * DRW_cache_curve_face_wireframe_get(Object *ob)
#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)
GPUBatch * DRW_cache_curve_loose_edges_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_curve_surface_shaded_get(Object *ob, struct GPUMaterial **gpumat_array, uint gpumat_array_len)
GPUBatch * DRW_cache_bone_arrows_get(void)
GPUBatch * DRW_cache_empty_cube_get(void)
GPUBatch * DRW_cache_mesh_surface_edges_get(Object *ob)
GPUBatch * DRW_cache_text_loose_edges_get(Object *ob)
struct GPUBatch * DRW_cache_gpencil_face_wireframe_get(struct Object *ob)
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_curve_batch_cache_get_wire_edge(struct Curve *cu)
struct GPUBatch * DRW_particles_batch_cache_get_edit_tip_points(struct Object *object, struct ParticleSystem *psys, struct PTCacheEdit *edit)
struct GPUBatch ** DRW_mesh_batch_cache_get_surface_shaded(struct Mesh *me, struct GPUMaterial **gpumat_array, uint gpumat_array_len)
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)
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)
void DRW_mesh_batch_cache_create_requested(struct TaskGraph *task_graph, struct Object *ob, struct Mesh *me, const struct Scene *scene, const bool is_paint_mode, const bool use_hide)
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_lattice_batch_cache_get_all_edges(struct Lattice *lt, bool use_weight, const int actdef)
struct GPUBatch * DRW_mesh_batch_cache_get_surface_sculpt(struct Mesh *me)
struct GPUBatch * DRW_pointcloud_batch_cache_get_dots(struct Object *ob)
struct GPUBatch * DRW_curve_batch_cache_get_triangles_with_normals(struct Curve *cu)
struct GPUBatch * DRW_volume_batch_cache_get_selection_surface(struct Volume *volume)
struct GPUBatch * DRW_mesh_batch_cache_get_all_edges(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)
struct GPUBatch * DRW_mesh_batch_cache_get_surface_edges(struct Mesh *me)
void DRW_hair_batch_cache_validate(struct Hair *hair)
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(struct Mesh *me)
struct GPUBatch * DRW_mesh_batch_cache_get_surface_texpaint_single(struct Mesh *me)
void DRW_mesh_batch_cache_validate(struct Mesh *me)
struct GPUBatch * DRW_mesh_batch_cache_get_surface_vertpaint(struct Mesh *me)
int DRW_hair_material_count_get(struct Hair *hair)
struct GPUVertBuf * DRW_curve_batch_cache_pos_vertbuf_get(struct Curve *cu)
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)
int DRW_pointcloud_material_count_get(struct PointCloud *pointcloud)
struct GPUBatch * DRW_curve_batch_cache_get_edit_verts(struct Curve *cu)
void DRW_mesh_batch_cache_free_old(struct Mesh *me, int ctime)
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)
int DRW_mesh_material_count_get(struct Mesh *me)
struct GPUBatch * DRW_metaball_batch_cache_get_edge_detection(struct Object *ob, bool *r_is_manifold)
struct GPUBatch ** DRW_curve_batch_cache_get_surface_shaded(struct Curve *cu, struct GPUMaterial **gpumat_array, uint gpumat_array_len)
struct GPUBatch * DRW_curve_batch_cache_get_edge_detection(struct Curve *cu, bool *r_is_manifold)
struct GPUBatch * DRW_mesh_batch_cache_get_edit_mesh_analysis(struct Mesh *me)
struct GPUBatch * DRW_mesh_batch_cache_get_surface(struct Mesh *me)
struct GPUBatch * DRW_curve_batch_cache_get_wireframes_face(struct Curve *cu)
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 @612::@615 attr_id
struct EditFont * editfont
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
struct MDeformVert * dvert
struct EditLatt * editlatt