Merge branch 'blender-v2.81-release'

This commit is contained in:
Campbell Barton 2019-10-18 19:17:55 +11:00
commit 959b40c2a8
Notes: blender-bot 2023-02-14 01:21:16 +01:00
Referenced by issue #70919, Motion Path on proxy armature invalidates drivers, eventually segfaults.
9 changed files with 1 additions and 130 deletions

View File

@ -7258,13 +7258,6 @@ static void direct_link_area(FileData *fd, ScrArea *area)
}
v3d->shading.prev_type = OB_SOLID;
if (v3d->fx_settings.dof) {
v3d->fx_settings.dof = newdataadr(fd, v3d->fx_settings.dof);
}
if (v3d->fx_settings.ssao) {
v3d->fx_settings.ssao = newdataadr(fd, v3d->fx_settings.ssao);
}
direct_link_view3dshading(fd, &v3d->shading);
blo_do_versions_view3d_split_250(v3d, &sl->regionbase);

View File

@ -2853,12 +2853,6 @@ static void write_area_regions(WriteData *wd, ScrArea *area)
writestruct(wd, DATA, View3D, 1, v3d->localvd);
}
if (v3d->fx_settings.ssao) {
writestruct(wd, DATA, GPUSSAOSettings, 1, v3d->fx_settings.ssao);
}
if (v3d->fx_settings.dof) {
writestruct(wd, DATA, GPUDOFSettings, 1, v3d->fx_settings.dof);
}
write_view3dshading(wd, &v3d->shading);
}
else if (sl->spacetype == SPACE_GRAPH) {

View File

@ -311,13 +311,6 @@ static void view3d_free(SpaceLink *sl)
MEM_freeN(vd->runtime.properties_storage);
}
if (vd->fx_settings.ssao) {
MEM_freeN(vd->fx_settings.ssao);
}
if (vd->fx_settings.dof) {
MEM_freeN(vd->fx_settings.dof);
}
if (vd->shading.prop) {
IDP_FreeProperty(vd->shading.prop);
vd->shading.prop = NULL;
@ -355,12 +348,6 @@ static SpaceLink *view3d_duplicate(SpaceLink *sl)
/* copy or clear inside new stuff */
v3dn->runtime.properties_storage = NULL;
if (v3dn->fx_settings.dof) {
v3dn->fx_settings.dof = MEM_dupallocN(v3do->fx_settings.dof);
}
if (v3dn->fx_settings.ssao) {
v3dn->fx_settings.ssao = MEM_dupallocN(v3do->fx_settings.ssao);
}
return (SpaceLink *)v3dn;
}

View File

@ -24,6 +24,7 @@
#ifndef __DNA_GPU_TYPES_H__
#define __DNA_GPU_TYPES_H__
/* Keep for 'Camera' versioning. */
/** Properties for dof effect. */
typedef struct GPUDOFSettings {
/** Focal distance for depth of field. */
@ -37,29 +38,4 @@ typedef struct GPUDOFSettings {
int high_quality;
} GPUDOFSettings;
/** Properties for SSAO effect. */
typedef struct GPUSSAOSettings {
float factor;
float color[3];
float distance_max;
float attenuation;
/** Ray samples, we use presets here for easy control instead of. */
int samples;
char _pad[4];
} GPUSSAOSettings;
typedef struct GPUFXSettings {
GPUDOFSettings *dof;
GPUSSAOSettings *ssao;
/** #eGPUFXFlags. */
char fx_flag;
char _pad[7];
} GPUFXSettings;
/* shaderfx enables */
typedef enum eGPUFXFlags {
GPU_FX_FLAG_DOF = (1 << 0),
GPU_FX_FLAG_SSAO = (1 << 1),
} eGPUFXFlags;
#endif /* __DNA_GPU_TYPES_H__ */

View File

@ -39,7 +39,6 @@ extern "C" {
#include "DNA_listBase.h"
#include "DNA_ID.h"
#include "DNA_freestyle_types.h"
#include "DNA_gpu_types.h"
#include "DNA_collection_types.h"
#include "DNA_layer_types.h"
#include "DNA_material_types.h"

View File

@ -38,7 +38,6 @@ struct wmTimer;
#include "DNA_image_types.h"
#include "DNA_object_types.h"
#include "DNA_movieclip_types.h"
#include "DNA_gpu_types.h"
typedef struct RegionView3D {
@ -301,10 +300,6 @@ typedef struct View3D {
/** Actually only used to define the opacity of the grease pencil vertex in edit mode. */
float vertex_opacity;
/* note, 'fx_settings.dof' is currently _not_ allocated,
* instead set (temporarily) from camera */
struct GPUFXSettings fx_settings;
/* XXX deprecated? */
/** Grease-Pencil Data (annotation layers). */
struct bGPdata *gpd DNA_DEPRECATED;

View File

@ -2492,11 +2492,6 @@ static char *rna_UnitSettings_path(PointerRNA *UNUSED(ptr))
return BLI_strdup("unit_settings");
}
static char *rna_GPUFXSettings_path(PointerRNA *UNUSED(ptr))
{
return BLI_strdup("fx_settings");
}
#else
/* Grease Pencil Interpolation tool settings */
@ -4807,67 +4802,6 @@ static void rna_def_bake_data(BlenderRNA *brna)
RNA_def_property_clear_flag(prop, PROP_EDITABLE);
}
static void rna_def_gpu_ssao_fx(BlenderRNA *brna)
{
StructRNA *srna;
PropertyRNA *prop;
srna = RNA_def_struct(brna, "GPUSSAOSettings", NULL);
RNA_def_struct_ui_text(
srna, "GPU SSAO", "Settings for GPU based screen space ambient occlusion");
prop = RNA_def_property(srna, "factor", PROP_FLOAT, PROP_NONE);
RNA_def_property_ui_text(prop, "Strength", "Strength of the SSAO effect");
RNA_def_property_range(prop, 0.0f, 250.0f);
RNA_def_property_update(prop, NC_SPACE | ND_SPACE_VIEW3D, NULL);
prop = RNA_def_property(srna, "distance_max", PROP_FLOAT, PROP_NONE);
RNA_def_property_ui_text(
prop, "Distance", "Distance of object that contribute to the SSAO effect");
RNA_def_property_range(prop, 0.0f, 100000.0f);
RNA_def_property_ui_range(prop, 0.0f, 100.0f, 1, 3);
RNA_def_property_update(prop, NC_SPACE | ND_SPACE_VIEW3D, NULL);
prop = RNA_def_property(srna, "attenuation", PROP_FLOAT, PROP_NONE);
RNA_def_property_ui_text(prop, "Attenuation", "Attenuation constant");
RNA_def_property_range(prop, 1.0f, 100000.0f);
RNA_def_property_ui_range(prop, 1.0f, 100.0f, 1, 3);
RNA_def_property_update(prop, NC_SPACE | ND_SPACE_VIEW3D, NULL);
prop = RNA_def_property(srna, "samples", PROP_INT, PROP_NONE);
RNA_def_property_ui_text(prop, "Samples", "Number of samples");
RNA_def_property_range(prop, 1, 500);
RNA_def_property_update(prop, NC_SPACE | ND_SPACE_VIEW3D, NULL);
prop = RNA_def_property(srna, "color", PROP_FLOAT, PROP_COLOR_GAMMA);
RNA_def_property_ui_text(prop, "Color", "Color for screen space ambient occlusion effect");
RNA_def_property_range(prop, 0.0f, 1.0f);
RNA_def_property_update(prop, NC_SPACE | ND_SPACE_VIEW3D, NULL);
}
static void rna_def_gpu_fx(BlenderRNA *brna)
{
StructRNA *srna;
PropertyRNA *prop;
rna_def_gpu_ssao_fx(brna);
srna = RNA_def_struct(brna, "GPUFXSettings", NULL);
RNA_def_struct_path_func(srna, "rna_GPUFXSettings_path");
RNA_def_struct_ui_text(srna, "GPU FX Settings", "Settings for GPU based compositing");
prop = RNA_def_property(srna, "ssao", PROP_POINTER, PROP_NONE);
RNA_def_property_flag(prop, PROP_NEVER_NULL);
RNA_def_property_struct_type(prop, "GPUSSAOSettings");
RNA_def_property_ui_text(prop, "Screen Space Ambient Occlusion settings", "");
prop = RNA_def_property(srna, "use_ssao", PROP_BOOLEAN, PROP_NONE);
RNA_def_property_boolean_sdna(prop, NULL, "fx_flag", GPU_FX_FLAG_SSAO);
RNA_def_property_ui_text(
prop, "SSAO", "Use screen space ambient occlusion of field on viewport");
RNA_def_property_update(prop, NC_SPACE | ND_SPACE_VIEW3D, NULL);
}
static void rna_def_view_layers(BlenderRNA *brna, PropertyRNA *cprop)
{
StructRNA *srna;
@ -7553,7 +7487,6 @@ void RNA_def_scene(BlenderRNA *brna)
RNA_define_animate_sdna(true);
/* *** Animated *** */
rna_def_scene_render_data(brna);
rna_def_gpu_fx(brna);
rna_def_scene_render_view(brna);
/* Scene API */

View File

@ -3976,10 +3976,6 @@ static void rna_def_space_view3d(BlenderRNA *brna)
prop, "Show 3D Marker Names", "Show names for reconstructed tracks objects");
RNA_def_property_update(prop, NC_SPACE | ND_SPACE_VIEW3D, NULL);
prop = RNA_def_property(srna, "fx_settings", PROP_POINTER, PROP_NONE);
RNA_def_property_ui_text(prop, "FX Options", "Options used for real time compositing");
RNA_def_property_update(prop, NC_SPACE | ND_SPACE_VIEW3D, NULL);
prop = RNA_def_property(srna, "use_local_collections", PROP_BOOLEAN, PROP_NONE);
RNA_def_property_boolean_sdna(prop, NULL, "flag", V3D_LOCAL_COLLECTIONS);
RNA_def_property_ui_text(

View File

@ -482,11 +482,9 @@ static const char *wm_context_member_from_ptr(bContext *C, const PointerRNA *ptr
case SPACE_VIEW3D: {
const View3D *v3d = (View3D *)space_data;
const View3DShading *shading = &v3d->shading;
const GPUFXSettings *fx_settings = &v3d->fx_settings;
TEST_PTR_DATA_TYPE("space_data", RNA_View3DOverlay, ptr, v3d);
TEST_PTR_DATA_TYPE("space_data", RNA_View3DShading, ptr, shading);
TEST_PTR_DATA_TYPE("space_data", RNA_GPUFXSettings, ptr, fx_settings);
break;
}
case SPACE_GRAPH: {