Changeset View
Changeset View
Standalone View
Standalone View
source/blender/draw/engines/gpencil/gpencil_cache_utils.c
| Show First 20 Lines • Show All 383 Lines • ▼ Show 20 Lines | /* Geometry pass */ | ||||
| struct GPUShader *sh = GPENCIL_shader_geometry_get(); | struct GPUShader *sh = GPENCIL_shader_geometry_get(); | ||||
| DRWShadingGroup *grp = tgp_layer->base_shgrp = DRW_shgroup_create(sh, tgp_layer->geom_ps); | DRWShadingGroup *grp = tgp_layer->base_shgrp = DRW_shgroup_create(sh, tgp_layer->geom_ps); | ||||
| DRW_shgroup_uniform_texture(grp, "gpSceneDepthTexture", depth_tex); | DRW_shgroup_uniform_texture(grp, "gpSceneDepthTexture", depth_tex); | ||||
| DRW_shgroup_uniform_texture_ref(grp, "gpMaskTexture", mask_tex); | DRW_shgroup_uniform_texture_ref(grp, "gpMaskTexture", mask_tex); | ||||
| DRW_shgroup_uniform_vec3_copy(grp, "gpNormal", tgp_ob->plane_normal); | DRW_shgroup_uniform_vec3_copy(grp, "gpNormal", tgp_ob->plane_normal); | ||||
| DRW_shgroup_uniform_bool_copy(grp, "gpStrokeOrder3d", tgp_ob->is_drawmode3d); | DRW_shgroup_uniform_bool_copy(grp, "gpStrokeOrder3d", tgp_ob->is_drawmode3d); | ||||
| DRW_shgroup_uniform_float_copy(grp, "gpThicknessScale", tgp_ob->object_scale); | /* Compensate for render resolution percentage while rendering with screenspace thickness. */ | ||||
| DRW_shgroup_uniform_float_copy(grp, "gpThicknessOffset", (float)gpl->line_change); | const float resolution_fac = pd->scene->r.size / 100.0f; | ||||
| DRW_shgroup_uniform_float_copy(grp, | |||||
| "gpThicknessScale", | |||||
| pd->is_render && is_screenspace ? | |||||
| tgp_ob->object_scale * resolution_fac : | |||||
| tgp_ob->object_scale); | |||||
| DRW_shgroup_uniform_float_copy(grp, | |||||
| "gpThicknessOffset", | |||||
| pd->is_render && is_screenspace ? | |||||
| (float)gpl->line_change * resolution_fac : | |||||
| (float)gpl->line_change); | |||||
fclem: Readability | |||||
| DRW_shgroup_uniform_float_copy(grp, "gpThicknessWorldScale", thickness_scale); | DRW_shgroup_uniform_float_copy(grp, "gpThicknessWorldScale", thickness_scale); | ||||
| DRW_shgroup_uniform_float_copy(grp, "gpVertexColorOpacity", vert_col_opacity); | DRW_shgroup_uniform_float_copy(grp, "gpVertexColorOpacity", vert_col_opacity); | ||||
| /* If random color type, need color by layer. */ | /* If random color type, need color by layer. */ | ||||
| float gpl_color[4]; | float gpl_color[4]; | ||||
| copy_v4_v4(gpl_color, layer_tint); | copy_v4_v4(gpl_color, layer_tint); | ||||
| if (pd->v3d_color_type == V3D_SHADING_RANDOM_COLOR) { | if (pd->v3d_color_type == V3D_SHADING_RANDOM_COLOR) { | ||||
| gpencil_layer_random_color_get(ob, gpl, gpl_color); | gpencil_layer_random_color_get(ob, gpl, gpl_color); | ||||
| Show All 26 Lines | |||||
Readability