Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorCampbell Barton <ideasman42@gmail.com>2019-01-23 15:59:40 +0300
committerCampbell Barton <ideasman42@gmail.com>2019-01-23 15:59:40 +0300
commitddc278da24a784c613dc43e99da6b52f6558aab5 (patch)
tree2942317f287ab821aa2330d3bf81c7837cdd0a45 /source/blender/draw/modes
parent48eed058b170e3def90fbc420933638d3986ca2c (diff)
Cleanup: comments above struct members, shader group assignments
Avoid using pointer to pointer when building shader groups.
Diffstat (limited to 'source/blender/draw/modes')
-rw-r--r--source/blender/draw/modes/edit_mesh_mode.c80
1 files changed, 41 insertions, 39 deletions
diff --git a/source/blender/draw/modes/edit_mesh_mode.c b/source/blender/draw/modes/edit_mesh_mode.c
index 48a3d003a37..fcc841f2ff5 100644
--- a/source/blender/draw/modes/edit_mesh_mode.c
+++ b/source/blender/draw/modes/edit_mesh_mode.c
@@ -364,68 +364,70 @@ static DRWPass *edit_mesh_create_overlay_pass(
"Edit Mesh Face Overlay Pass",
DRW_STATE_WRITE_COLOR | DRW_STATE_POINT | statemod);
+ DRWShadingGroup *grp;
+
if ((tsettings->selectmode & SCE_SELECT_VERTEX) != 0) {
- *r_lverts_shgrp = DRW_shgroup_create(sh_data->overlay_lvert, pass);
- DRW_shgroup_uniform_block(*r_lverts_shgrp, "globalsBlock", G_draw.block_ubo);
- DRW_shgroup_uniform_vec2(*r_lverts_shgrp, "viewportSize", DRW_viewport_size_get(), 1);
- DRW_shgroup_uniform_float(*r_lverts_shgrp, "edgeScale", edge_width_scale, 1);
- DRW_shgroup_state_enable(*r_lverts_shgrp, DRW_STATE_WRITE_DEPTH);
- DRW_shgroup_state_disable(*r_lverts_shgrp, DRW_STATE_BLEND);
+ grp = *r_lverts_shgrp = DRW_shgroup_create(sh_data->overlay_lvert, pass);
+ DRW_shgroup_uniform_block(grp, "globalsBlock", G_draw.block_ubo);
+ DRW_shgroup_uniform_vec2(grp, "viewportSize", DRW_viewport_size_get(), 1);
+ DRW_shgroup_uniform_float(grp, "edgeScale", edge_width_scale, 1);
+ DRW_shgroup_state_enable(grp, DRW_STATE_WRITE_DEPTH);
+ DRW_shgroup_state_disable(grp, DRW_STATE_BLEND);
if (rv3d->rflag & RV3D_CLIPPING) {
- DRW_shgroup_world_clip_planes_from_rv3d(*r_lverts_shgrp, rv3d);
+ DRW_shgroup_world_clip_planes_from_rv3d(grp, rv3d);
}
- *r_verts_shgrp = DRW_shgroup_create(sh_data->overlay_vert, pass);
- DRW_shgroup_uniform_block(*r_verts_shgrp, "globalsBlock", G_draw.block_ubo);
- DRW_shgroup_uniform_vec2(*r_verts_shgrp, "viewportSize", DRW_viewport_size_get(), 1);
- DRW_shgroup_uniform_float(*r_verts_shgrp, "edgeScale", edge_width_scale, 1);
- DRW_shgroup_state_enable(*r_verts_shgrp, DRW_STATE_WRITE_DEPTH);
- DRW_shgroup_state_disable(*r_verts_shgrp, DRW_STATE_BLEND);
+ grp = *r_verts_shgrp = DRW_shgroup_create(sh_data->overlay_vert, pass);
+ DRW_shgroup_uniform_block(grp, "globalsBlock", G_draw.block_ubo);
+ DRW_shgroup_uniform_vec2(grp, "viewportSize", DRW_viewport_size_get(), 1);
+ DRW_shgroup_uniform_float(grp, "edgeScale", edge_width_scale, 1);
+ DRW_shgroup_state_enable(grp, DRW_STATE_WRITE_DEPTH);
+ DRW_shgroup_state_disable(grp, DRW_STATE_BLEND);
if (rv3d->rflag & RV3D_CLIPPING) {
- DRW_shgroup_world_clip_planes_from_rv3d(*r_verts_shgrp, rv3d);
+ DRW_shgroup_world_clip_planes_from_rv3d(grp, rv3d);
}
}
if ((tsettings->selectmode & SCE_SELECT_FACE) != 0) {
- *r_facedot_shgrp = DRW_shgroup_create(sh_data->overlay_facedot, pass);
- DRW_shgroup_uniform_block(*r_facedot_shgrp, "globalsBlock", G_draw.block_ubo);
- DRW_shgroup_uniform_float(*r_facedot_shgrp, "edgeScale", edge_width_scale, 1);
- DRW_shgroup_state_enable(*r_facedot_shgrp, DRW_STATE_WRITE_DEPTH);
+ grp = *r_facedot_shgrp = DRW_shgroup_create(sh_data->overlay_facedot, pass);
+ DRW_shgroup_uniform_block(grp, "globalsBlock", G_draw.block_ubo);
+ DRW_shgroup_uniform_float(grp, "edgeScale", edge_width_scale, 1);
+ DRW_shgroup_state_enable(grp, DRW_STATE_WRITE_DEPTH);
if (rv3d->rflag & RV3D_CLIPPING) {
- DRW_shgroup_world_clip_planes_from_rv3d(*r_facedot_shgrp, rv3d);
+ DRW_shgroup_world_clip_planes_from_rv3d(grp, rv3d);
}
}
- *r_face_shgrp = DRW_shgroup_create(tri_sh, pass);
- DRW_shgroup_uniform_block(*r_face_shgrp, "globalsBlock", G_draw.block_ubo);
- DRW_shgroup_uniform_vec2(*r_face_shgrp, "viewportSize", DRW_viewport_size_get(), 1);
- DRW_shgroup_uniform_float(*r_face_shgrp, "faceAlphaMod", face_alpha, 1);
- DRW_shgroup_uniform_float(*r_face_shgrp, "edgeScale", edge_width_scale, 1);
- DRW_shgroup_uniform_ivec4(*r_face_shgrp, "dataMask", data_mask, 1);
- DRW_shgroup_uniform_bool_copy(*r_face_shgrp, "doEdges", do_edges);
+ grp = *r_face_shgrp = DRW_shgroup_create(tri_sh, pass);
+ DRW_shgroup_uniform_block(grp, "globalsBlock", G_draw.block_ubo);
+ DRW_shgroup_uniform_vec2(grp, "viewportSize", DRW_viewport_size_get(), 1);
+ DRW_shgroup_uniform_float(grp, "faceAlphaMod", face_alpha, 1);
+ DRW_shgroup_uniform_float(grp, "edgeScale", edge_width_scale, 1);
+ DRW_shgroup_uniform_ivec4(grp, "dataMask", data_mask, 1);
+ DRW_shgroup_uniform_bool_copy(grp, "doEdges", do_edges);
if (!fast_mode) {
- DRW_shgroup_uniform_bool_copy(*r_face_shgrp, "isXray", xray);
+ DRW_shgroup_uniform_bool_copy(grp, "isXray", xray);
}
else {
/* To be able to use triple load. */
- DRW_shgroup_state_enable(*r_face_shgrp, DRW_STATE_FIRST_VERTEX_CONVENTION);
+ DRW_shgroup_state_enable(grp, DRW_STATE_FIRST_VERTEX_CONVENTION);
}
if (rv3d->rflag & RV3D_CLIPPING) {
- DRW_shgroup_world_clip_planes_from_rv3d(*r_face_shgrp, rv3d);
+ DRW_shgroup_world_clip_planes_from_rv3d(grp, rv3d);
}
/* Cage geom needs to be offseted to avoid Z-fighting. */
- *r_face_cage_shgrp = DRW_shgroup_create_sub(*r_face_shgrp);
- DRW_shgroup_state_enable(*r_face_cage_shgrp, DRW_STATE_OFFSET_NEGATIVE);
-
- *r_ledges_shgrp = DRW_shgroup_create(ledge_sh, pass);
- DRW_shgroup_uniform_block(*r_ledges_shgrp, "globalsBlock", G_draw.block_ubo);
- DRW_shgroup_uniform_vec2(*r_ledges_shgrp, "viewportSize", DRW_viewport_size_get(), 1);
- DRW_shgroup_uniform_float(*r_ledges_shgrp, "edgeScale", edge_width_scale, 1);
- DRW_shgroup_uniform_ivec4(*r_ledges_shgrp, "dataMask", data_mask, 1);
- DRW_shgroup_uniform_bool_copy(*r_ledges_shgrp, "doEdges", do_edges);
+ grp = *r_face_cage_shgrp = DRW_shgroup_create_sub(*r_face_shgrp);
+ DRW_shgroup_state_enable(grp, DRW_STATE_OFFSET_NEGATIVE);
+
+ grp = *r_ledges_shgrp = DRW_shgroup_create(ledge_sh, pass);
+ DRW_shgroup_uniform_block(grp, "globalsBlock", G_draw.block_ubo);
+ DRW_shgroup_uniform_vec2(grp, "viewportSize", DRW_viewport_size_get(), 1);
+ DRW_shgroup_uniform_float(grp, "edgeScale", edge_width_scale, 1);
+ DRW_shgroup_uniform_ivec4(grp, "dataMask", data_mask, 1);
+ DRW_shgroup_uniform_bool_copy(grp, "doEdges", do_edges);
if (rv3d->rflag & RV3D_CLIPPING) {
- DRW_shgroup_world_clip_planes_from_rv3d(*r_ledges_shgrp, rv3d);
+ DRW_shgroup_world_clip_planes_from_rv3d(grp, rv3d);
}
return pass;