Changeset View
Changeset View
Standalone View
Standalone View
source/blender/draw/modes/object_mode.c
| Show First 20 Lines • Show All 505 Lines • ▼ Show 20 Lines | if (!sh_data->outline_resolve) { | ||||
| RegionView3D *rv3d = draw_ctx->rv3d; | RegionView3D *rv3d = draw_ctx->rv3d; | ||||
| float grid_scale = ED_view3d_grid_scale(scene, v3d, NULL); | float grid_scale = ED_view3d_grid_scale(scene, v3d, NULL); | ||||
| float grid_res; | float grid_res; | ||||
| const bool show_axis_x = (v3d->gridflag & V3D_SHOW_X) != 0; | const bool show_axis_x = (v3d->gridflag & V3D_SHOW_X) != 0; | ||||
| const bool show_axis_y = (v3d->gridflag & V3D_SHOW_Y) != 0; | const bool show_axis_y = (v3d->gridflag & V3D_SHOW_Y) != 0; | ||||
| const bool show_axis_z = (v3d->gridflag & V3D_SHOW_Z) != 0; | const bool show_axis_z = (v3d->gridflag & V3D_SHOW_Z) != 0; | ||||
| const bool show_floor = (v3d->gridflag & V3D_SHOW_FLOOR) != 0; | const bool show_floor = (v3d->gridflag & V3D_SHOW_FLOOR) != 0; | ||||
| const bool show_ortho_grid = (v3d->gridflag & V3D_SHOW_ORTHO_GRID) != 0; | |||||
| e_data.draw_grid = show_axis_x || show_axis_y || show_axis_z || show_floor; | e_data.draw_grid = show_axis_x || show_axis_y || show_axis_z || show_floor; | ||||
| DRW_viewport_matrix_get(winmat, DRW_MAT_WIN); | DRW_viewport_matrix_get(winmat, DRW_MAT_WIN); | ||||
| DRW_viewport_matrix_get(viewmat, DRW_MAT_VIEW); | DRW_viewport_matrix_get(viewmat, DRW_MAT_VIEW); | ||||
| DRW_viewport_matrix_get(invwinmat, DRW_MAT_WININV); | DRW_viewport_matrix_get(invwinmat, DRW_MAT_WININV); | ||||
| DRW_viewport_matrix_get(invviewmat, DRW_MAT_VIEWINV); | DRW_viewport_matrix_get(invviewmat, DRW_MAT_VIEWINV); | ||||
| /* Setup camera pos */ | /* Setup camera pos */ | ||||
| Show All 32 Lines | else { | ||||
| /* Allow 3 more subdivisions. */ | /* Allow 3 more subdivisions. */ | ||||
| grid_scale /= powf(v3d->gridsubdiv, 3); | grid_scale /= powf(v3d->gridsubdiv, 3); | ||||
| } | } | ||||
| float viewdist = 1.0f / max_ff(fabsf(winmat[0][0]), fabsf(winmat[1][1])); | float viewdist = 1.0f / max_ff(fabsf(winmat[0][0]), fabsf(winmat[1][1])); | ||||
| grid_res = viewdist / grid_scale; | grid_res = viewdist / grid_scale; | ||||
| if (ELEM(rv3d->view, RV3D_VIEW_RIGHT, RV3D_VIEW_LEFT)) { | if (ELEM(rv3d->view, RV3D_VIEW_RIGHT, RV3D_VIEW_LEFT)) { | ||||
| e_data.draw_grid = true; | e_data.draw_grid = show_ortho_grid; | ||||
| e_data.grid_flag = PLANE_YZ | SHOW_AXIS_Y | SHOW_AXIS_Z | SHOW_GRID | GRID_BACK; | e_data.grid_flag = PLANE_YZ | SHOW_AXIS_Y | SHOW_AXIS_Z | SHOW_GRID | GRID_BACK; | ||||
| } | } | ||||
| else if (ELEM(rv3d->view, RV3D_VIEW_TOP, RV3D_VIEW_BOTTOM)) { | else if (ELEM(rv3d->view, RV3D_VIEW_TOP, RV3D_VIEW_BOTTOM)) { | ||||
| e_data.draw_grid = true; | e_data.draw_grid = show_ortho_grid; | ||||
| e_data.grid_flag = PLANE_XY | SHOW_AXIS_X | SHOW_AXIS_Y | SHOW_GRID | GRID_BACK; | e_data.grid_flag = PLANE_XY | SHOW_AXIS_X | SHOW_AXIS_Y | SHOW_GRID | GRID_BACK; | ||||
| } | } | ||||
| else if (ELEM(rv3d->view, RV3D_VIEW_FRONT, RV3D_VIEW_BACK)) { | else if (ELEM(rv3d->view, RV3D_VIEW_FRONT, RV3D_VIEW_BACK)) { | ||||
| e_data.draw_grid = true; | e_data.draw_grid = show_ortho_grid; | ||||
| e_data.grid_flag = PLANE_XZ | SHOW_AXIS_X | SHOW_AXIS_Z | SHOW_GRID | GRID_BACK; | e_data.grid_flag = PLANE_XZ | SHOW_AXIS_X | SHOW_AXIS_Z | SHOW_GRID | GRID_BACK; | ||||
| } | } | ||||
| else { /* RV3D_VIEW_USER */ | else { /* RV3D_VIEW_USER */ | ||||
| e_data.grid_flag = PLANE_XY; | e_data.grid_flag = PLANE_XY; | ||||
| if (show_axis_x) { | if (show_axis_x) { | ||||
| e_data.grid_flag |= SHOW_AXIS_X; | e_data.grid_flag |= SHOW_AXIS_X; | ||||
| } | } | ||||
| if (show_axis_y) { | if (show_axis_y) { | ||||
| ▲ Show 20 Lines • Show All 2,979 Lines • Show Last 20 Lines | |||||