Changeset View
Changeset View
Standalone View
Standalone View
source/blender/draw/engines/overlay/overlay_paint.c
| Show First 20 Lines • Show All 79 Lines • ▼ Show 20 Lines | case CTX_MODE_PAINT_TEXTURE: { | ||||
| const bool mask_enabled = imapaint->flag & IMAGEPAINT_PROJECT_LAYER_STENCIL && | const bool mask_enabled = imapaint->flag & IMAGEPAINT_PROJECT_LAYER_STENCIL && | ||||
| imapaint->stencil != NULL; | imapaint->stencil != NULL; | ||||
| opacity = mask_enabled ? pd->overlay.texture_paint_mode_opacity : 0.0f; | opacity = mask_enabled ? pd->overlay.texture_paint_mode_opacity : 0.0f; | ||||
| if (opacity > 0.0f) { | if (opacity > 0.0f) { | ||||
| state = DRW_STATE_WRITE_COLOR | DRW_STATE_DEPTH_EQUAL | DRW_STATE_BLEND_ALPHA; | state = DRW_STATE_WRITE_COLOR | DRW_STATE_DEPTH_EQUAL | DRW_STATE_BLEND_ALPHA; | ||||
| DRW_PASS_CREATE(psl->paint_color_ps, state | pd->clipping_state); | DRW_PASS_CREATE(psl->paint_color_ps, state | pd->clipping_state); | ||||
| GPUTexture *tex = GPU_texture_from_blender(imapaint->stencil, NULL, GL_TEXTURE_2D); | GPUTexture *tex = GPU_texture_from_blender(imapaint->stencil, NULL, NULL, GL_TEXTURE_2D); | ||||
| const bool mask_premult = (imapaint->stencil->alpha_mode == IMA_ALPHA_PREMUL); | const bool mask_premult = (imapaint->stencil->alpha_mode == IMA_ALPHA_PREMUL); | ||||
| const bool mask_inverted = (imapaint->flag & IMAGEPAINT_PROJECT_LAYER_STENCIL_INV) != 0; | const bool mask_inverted = (imapaint->flag & IMAGEPAINT_PROJECT_LAYER_STENCIL_INV) != 0; | ||||
| sh = OVERLAY_shader_paint_texture(); | sh = OVERLAY_shader_paint_texture(); | ||||
| pd->paint_surf_grp = grp = DRW_shgroup_create(sh, psl->paint_color_ps); | pd->paint_surf_grp = grp = DRW_shgroup_create(sh, psl->paint_color_ps); | ||||
| DRW_shgroup_uniform_block(grp, "globalsBlock", G_draw.block_ubo); | DRW_shgroup_uniform_block(grp, "globalsBlock", G_draw.block_ubo); | ||||
| DRW_shgroup_uniform_float_copy(grp, "opacity", opacity); | DRW_shgroup_uniform_float_copy(grp, "opacity", opacity); | ||||
| DRW_shgroup_uniform_bool_copy(grp, "maskPremult", mask_premult); | DRW_shgroup_uniform_bool_copy(grp, "maskPremult", mask_premult); | ||||
| ▲ Show 20 Lines • Show All 113 Lines • Show Last 20 Lines | |||||