diff options
Diffstat (limited to 'source/blender')
10 files changed, 5 insertions, 43 deletions
diff --git a/source/blender/blenloader/intern/versioning_280.c b/source/blender/blenloader/intern/versioning_280.c index ff3109f13e8..7bb20c38308 100644 --- a/source/blender/blenloader/intern/versioning_280.c +++ b/source/blender/blenloader/intern/versioning_280.c @@ -1461,19 +1461,6 @@ void blo_do_versions_280(FileData *fd, Library *UNUSED(lib), Main *main) } } - if (!DNA_struct_elem_find(fd->filesdna, "View3DShading", "float", "see_through_transparency")) { - for (bScreen *screen = main->screen.first; screen; screen = screen->id.next) { - for (ScrArea *sa = screen->areabase.first; sa; sa = sa->next) { - for (SpaceLink *sl = sa->spacedata.first; sl; sl = sl->next) { - if (sl->spacetype == SPACE_VIEW3D) { - View3D *v3d = (View3D *)sl; - v3d->shading.see_through_transparency = 0.3f; - } - } - } - } - } - for (Scene *scene = main->scene.first; scene; scene = scene->id.next) { switch (scene->toolsettings->snap_mode) { case 0: scene->toolsettings->snap_mode = SCE_SNAP_MODE_INCREMENT; break; diff --git a/source/blender/draw/engines/workbench/shaders/workbench_data_lib.glsl b/source/blender/draw/engines/workbench/shaders/workbench_data_lib.glsl index e72ee1c2eac..d0b1c580e5f 100644 --- a/source/blender/draw/engines/workbench/shaders/workbench_data_lib.glsl +++ b/source/blender/draw/engines/workbench/shaders/workbench_data_lib.glsl @@ -8,5 +8,4 @@ struct WorldData { vec4 background_color_low; vec4 background_color_high; vec4 object_outline_color; - float see_through_transparency; }; diff --git a/source/blender/draw/engines/workbench/shaders/workbench_forward_composite_frag.glsl b/source/blender/draw/engines/workbench/shaders/workbench_forward_composite_frag.glsl index 054e8d308cb..2d6f78082e3 100644 --- a/source/blender/draw/engines/workbench/shaders/workbench_forward_composite_frag.glsl +++ b/source/blender/draw/engines/workbench/shaders/workbench_forward_composite_frag.glsl @@ -27,7 +27,7 @@ void main() if (object_id == NO_OBJECT_ID) { color = vec4(background_color(world_data, uv_viewport.y), 0.0); } else { - color = transparent_accum; + color = transparent_accum / transparent_accum.a; } fragColor = vec4(mix(world_data.object_outline_color.rgb, color.xyz, outline), 1.0); diff --git a/source/blender/draw/engines/workbench/shaders/workbench_forward_transparent_accum_frag.glsl b/source/blender/draw/engines/workbench/shaders/workbench_forward_transparent_accum_frag.glsl index 78981522c18..6428ed44f6b 100644 --- a/source/blender/draw/engines/workbench/shaders/workbench_forward_transparent_accum_frag.glsl +++ b/source/blender/draw/engines/workbench/shaders/workbench_forward_transparent_accum_frag.glsl @@ -47,17 +47,8 @@ void main() vec3 shaded_color = diffuse_color.rgb; #endif /* V3D_LIGHTING_STUDIO */ - float alpha = world_data.see_through_transparency; -#ifdef NORMAL_VIEWPORT_PASS_ENABLED - vec3 normal = normalize(normal_viewport); - float kr; - fresnel(vec3(0.0, 0.0, -1.0), normal, 1.22, kr); - alpha = mix(alpha, alpha+alpha, kr); -#endif - + float alpha = 0.1; vec4 premultiplied = vec4(shaded_color.rgb * alpha, alpha); - transparentAccum = calculate_transparent_accum(premultiplied); - } diff --git a/source/blender/draw/engines/workbench/workbench_data.c b/source/blender/draw/engines/workbench/workbench_data.c index c3671fa37b1..9f8023b38aa 100644 --- a/source/blender/draw/engines/workbench/workbench_data.c +++ b/source/blender/draw/engines/workbench/workbench_data.c @@ -20,7 +20,6 @@ void workbench_private_data_init(WORKBENCH_PrivateData *wpd) copy_v3_fl(wpd->shading.single_color, 0.8f); wpd->drawtype = OB_SOLID; wpd->studio_light = BKE_studiolight_findindex(0); - wpd->shading.see_through_transparency = 0.3f; } wpd->shadow_multiplier = 1.0 - wpd->shading.shadow_intensity; @@ -35,7 +34,6 @@ void workbench_private_data_init(WORKBENCH_PrivateData *wpd) studiolight_update_world(wpd->studio_light, wd); - wd->see_through_transparency = wpd->shading.see_through_transparency; copy_v3_v3(wd->object_outline_color, wpd->shading.object_outline_color); wd->object_outline_color[3] = 1.0f; diff --git a/source/blender/draw/engines/workbench/workbench_forward.c b/source/blender/draw/engines/workbench/workbench_forward.c index 2de86bf4be1..72e01213fb9 100644 --- a/source/blender/draw/engines/workbench/workbench_forward.c +++ b/source/blender/draw/engines/workbench/workbench_forward.c @@ -263,10 +263,9 @@ void workbench_forward_engine_init(WORKBENCH_Data *vedata) GPU_framebuffer_clear_color(fbl->depth_fb, clear_color); DRW_stats_group_end(); - /* Treansparecy Accum */ { - int state = DRW_STATE_WRITE_COLOR | DRW_STATE_ADDITIVE;// | DRW_STATE_CULL_BACK; + int state = DRW_STATE_WRITE_COLOR | DRW_STATE_ADDITIVE_FULL; psl->transparent_accum_pass = DRW_pass_create("Transparent Accum", state); } /* Depth */ diff --git a/source/blender/draw/engines/workbench/workbench_private.h b/source/blender/draw/engines/workbench/workbench_private.h index 714314a3d09..1da06e9a30d 100644 --- a/source/blender/draw/engines/workbench/workbench_private.h +++ b/source/blender/draw/engines/workbench/workbench_private.h @@ -93,8 +93,6 @@ typedef struct WORKBENCH_UBO_World { float background_color_low[4]; float background_color_high[4]; float object_outline_color[4]; - float see_through_transparency; - float pad[3]; } WORKBENCH_UBO_World; BLI_STATIC_ASSERT_ALIGN(WORKBENCH_UBO_World, 16) diff --git a/source/blender/editors/space_view3d/space_view3d.c b/source/blender/editors/space_view3d/space_view3d.c index d8bcc9de2e2..6d8d4d45feb 100644 --- a/source/blender/editors/space_view3d/space_view3d.c +++ b/source/blender/editors/space_view3d/space_view3d.c @@ -325,7 +325,6 @@ static SpaceLink *view3d_new(const ScrArea *UNUSED(sa), const Scene *scene) v3d->drawtype = OB_SOLID; v3d->shading.light = V3D_LIGHTING_STUDIO; v3d->shading.shadow_intensity = 0.5; - v3d->shading.see_through_transparency = 0.3f; copy_v3_fl(v3d->shading.single_color, 0.8f); v3d->gridflag = V3D_SHOW_X | V3D_SHOW_Y | V3D_SHOW_FLOOR; diff --git a/source/blender/makesdna/DNA_view3d_types.h b/source/blender/makesdna/DNA_view3d_types.h index fd0f78dda2a..cb6031b0a3e 100644 --- a/source/blender/makesdna/DNA_view3d_types.h +++ b/source/blender/makesdna/DNA_view3d_types.h @@ -145,10 +145,10 @@ typedef struct View3DShading { float single_color[3]; float studiolight_rot_z; - float see_through_transparency; + float pad2; float object_outline_color[3]; - float pad2; + float pad3; } View3DShading; /* 3D Viewport Overlay setings */ diff --git a/source/blender/makesrna/intern/rna_space.c b/source/blender/makesrna/intern/rna_space.c index d90dbd2ad7a..d4b5dd9be1d 100644 --- a/source/blender/makesrna/intern/rna_space.c +++ b/source/blender/makesrna/intern/rna_space.c @@ -2308,15 +2308,6 @@ static void rna_def_space_view3d_shading(BlenderRNA *brna) RNA_def_property_ui_text(prop, "See Through", "Show whole scene transparent"); RNA_def_property_update(prop, NC_SPACE | ND_SPACE_VIEW3D, NULL); - prop = RNA_def_property(srna, "see_through_transparency", PROP_FLOAT, PROP_FACTOR); - RNA_def_property_float_sdna(prop, NULL, "shading.see_through_transparency"); - RNA_def_property_float_default(prop, 0.3f); - RNA_def_property_ui_text(prop, "Transparency", "See through transparency"); - RNA_def_property_range(prop, 0.0f, 1.0f); - RNA_def_property_ui_range(prop, 0.1f, 0.5f, 1, 3); - RNA_def_property_clear_flag(prop, PROP_ANIMATABLE); - RNA_def_property_update(prop, NC_SPACE | ND_SPACE_VIEW3D, NULL); - prop = RNA_def_property(srna, "object_outline_color", PROP_FLOAT, PROP_COLOR); RNA_def_property_float_sdna(prop, NULL, "shading.object_outline_color"); RNA_def_property_array(prop, 3); |