forked from bartvdbraak/blender
Fix EEVEE lamps with shadows by default but wrong UI
Reported on T54788: Actually this was what BI was doing as well. But anyways fixed for good now. That includes a subversion bump.
This commit is contained in:
parent
24bde1ca43
commit
08e4808318
@ -28,7 +28,7 @@
|
||||
* and keep comment above the defines.
|
||||
* Use STRINGIFY() rather than defining with quotes */
|
||||
#define BLENDER_VERSION 280
|
||||
#define BLENDER_SUBVERSION 10
|
||||
#define BLENDER_SUBVERSION 11
|
||||
/* Several breakages with 270, e.g. constraint deg vs rad */
|
||||
#define BLENDER_MINVERSION 270
|
||||
#define BLENDER_MINSUBVERSION 6
|
||||
|
@ -64,7 +64,7 @@ void BKE_lamp_init(Lamp *la)
|
||||
la->spotsize = DEG2RADF(45.0f);
|
||||
la->spotblend = 0.15f;
|
||||
la->att2 = 1.0f;
|
||||
la->mode = LA_SHAD_BUF;
|
||||
la->mode = LA_SHADOW;
|
||||
la->bufsize = 512;
|
||||
la->clipsta = 0.5f;
|
||||
la->clipend = 40.0f;
|
||||
|
@ -1013,7 +1013,8 @@ void blo_do_versions_280(FileData *fd, Library *UNUSED(lib), Main *main)
|
||||
}
|
||||
}
|
||||
|
||||
if (!DNA_struct_find(fd->filesdna, "SpaceTopBar")) {
|
||||
if (!MAIN_VERSION_ATLEAST(main, 280, 11)) {
|
||||
|
||||
/* Remove info editor, but only if at the top of the window. */
|
||||
for (bScreen *screen = main->screen.first; screen; screen = screen->id.next) {
|
||||
/* Calculate window width/height from screen vertices */
|
||||
@ -1045,6 +1046,15 @@ void blo_do_versions_280(FileData *fd, Library *UNUSED(lib), Main *main)
|
||||
}
|
||||
}
|
||||
|
||||
if (!MAIN_VERSION_ATLEAST(main, 280, 11)) {
|
||||
for (Lamp *lamp = main->lamp.first; lamp; lamp = lamp->id.next) {
|
||||
if (lamp->mode & (1 << 13)) { /* LA_SHAD_RAY */
|
||||
lamp->mode |= LA_SHADOW;
|
||||
lamp->mode &= ~(1 << 13);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
#ifdef WITH_REDO_REGION_REMOVAL
|
||||
if (!MAIN_VERSION_ATLEAST(main, 280, TO_BE_DETERMINED)) {
|
||||
/* Remove tool property regions. */
|
||||
|
@ -318,7 +318,7 @@ void EEVEE_lights_cache_add(EEVEE_ViewLayerData *sldata, Object *ob)
|
||||
led->data.ld.shadow_id = -1;
|
||||
led->prev_cube_shadow_id = -1;
|
||||
|
||||
if (la->mode & (LA_SHAD_BUF | LA_SHAD_RAY)) {
|
||||
if (la->mode & LA_SHADOW) {
|
||||
if (la->type == LA_SUN) {
|
||||
int sh_nbr = 1; /* TODO : MSM */
|
||||
int cascade_nbr = MAX_CASCADE_NUM; /* TODO : Custom cascade number */
|
||||
|
@ -113,7 +113,7 @@ typedef struct Lamp {
|
||||
#define LA_AREA 4
|
||||
|
||||
/* mode */
|
||||
#define LA_SHAD_BUF (1 << 0)
|
||||
#define LA_SHADOW (1 << 0)
|
||||
/* #define LA_HALO (1 << 1) */ /* not used anymore */
|
||||
/* #define LA_LAYER (1 << 2) */ /* not used anymore */
|
||||
/* #define LA_QUAD (1 << 3) */ /* not used anymore */
|
||||
@ -126,7 +126,7 @@ typedef struct Lamp {
|
||||
/* #define LA_DEEP_SHADOW (1 << 10) */ /* not used anywhere */
|
||||
/* #define LA_NO_DIFF (1 << 11) */ /* not used anywhere */
|
||||
/* #define LA_NO_SPEC (1 << 12) */ /* not used anywhere */
|
||||
#define LA_SHAD_RAY (1 << 13)
|
||||
/* #define LA_SHAD_RAY (1 << 13) */ /* not used anywhere - cleaned */
|
||||
/* yafray: lamp shadowbuffer flag, softlight */
|
||||
/* Since it is used with LOCAL lamp, can't use LA_SHAD */
|
||||
/* #define LA_YF_SOFT (1 << 14) */ /* not used anymore */
|
||||
|
@ -63,27 +63,6 @@ static void rna_Lamp_buffer_size_set(PointerRNA *ptr, int value)
|
||||
la->bufsize &= (~15); /* round to multiple of 16 */
|
||||
}
|
||||
|
||||
static int rna_use_shadow_get(PointerRNA *ptr)
|
||||
{
|
||||
Lamp *la = (Lamp *)ptr->data;
|
||||
|
||||
if (la->type == LA_SPOT) {
|
||||
return (la->mode & (LA_SHAD_BUF | LA_SHAD_RAY)) != 0;
|
||||
}
|
||||
else {
|
||||
return (la->mode & LA_SHAD_RAY) != 0;
|
||||
}
|
||||
}
|
||||
|
||||
static void rna_use_shadow_set(PointerRNA *ptr, int value)
|
||||
{
|
||||
Lamp *la = (Lamp *)ptr->data;
|
||||
la->mode &= ~(LA_SHAD_BUF | LA_SHAD_RAY);
|
||||
if (value) {
|
||||
la->mode |= LA_SHAD_RAY;
|
||||
}
|
||||
}
|
||||
|
||||
static StructRNA *rna_Lamp_refine(struct PointerRNA *ptr)
|
||||
{
|
||||
Lamp *la = (Lamp *)ptr->data;
|
||||
@ -255,7 +234,7 @@ static void rna_def_lamp_shadow(StructRNA *srna, int sun)
|
||||
PropertyRNA *prop;
|
||||
|
||||
prop = RNA_def_property(srna, "use_shadow", PROP_BOOLEAN, PROP_NONE);
|
||||
RNA_def_property_boolean_funcs(prop, "rna_use_shadow_get", "rna_use_shadow_set");
|
||||
RNA_def_property_boolean_sdna(prop, NULL, "mode", LA_SHADOW);
|
||||
RNA_def_property_update(prop, 0, "rna_Lamp_draw_update");
|
||||
|
||||
prop = RNA_def_property(srna, "shadow_buffer_size", PROP_INT, PROP_NONE);
|
||||
|
Loading…
Reference in New Issue
Block a user