mirror of
https://github.com/Relintai/pandemonium_engine.git
synced 2025-01-31 21:37:01 +01:00
Cleaned up (hopefully all remaining) light baking things.
This commit is contained in:
parent
07a0ed2c42
commit
e111edf4f2
@ -495,8 +495,6 @@ public:
|
|||||||
void light_set_negative(RID p_light, bool p_enable) {}
|
void light_set_negative(RID p_light, bool p_enable) {}
|
||||||
void light_set_cull_mask(RID p_light, uint32_t p_mask) {}
|
void light_set_cull_mask(RID p_light, uint32_t p_mask) {}
|
||||||
void light_set_reverse_cull_face_mode(RID p_light, bool p_enabled) {}
|
void light_set_reverse_cull_face_mode(RID p_light, bool p_enabled) {}
|
||||||
void light_set_use_gi(RID p_light, bool p_enabled) {}
|
|
||||||
void light_set_bake_mode(RID p_light, VS::LightBakeMode p_bake_mode) {}
|
|
||||||
|
|
||||||
void light_omni_set_shadow_mode(RID p_light, VS::LightOmniShadowMode p_mode) {}
|
void light_omni_set_shadow_mode(RID p_light, VS::LightOmniShadowMode p_mode) {}
|
||||||
void light_omni_set_shadow_detail(RID p_light, VS::LightOmniShadowDetail p_detail) {}
|
void light_omni_set_shadow_detail(RID p_light, VS::LightOmniShadowDetail p_detail) {}
|
||||||
@ -516,8 +514,6 @@ public:
|
|||||||
AABB light_get_aabb(RID p_light) const { return AABB(); }
|
AABB light_get_aabb(RID p_light) const { return AABB(); }
|
||||||
float light_get_param(RID p_light, VS::LightParam p_param) { return 0.0; }
|
float light_get_param(RID p_light, VS::LightParam p_param) { return 0.0; }
|
||||||
Color light_get_color(RID p_light) { return Color(); }
|
Color light_get_color(RID p_light) { return Color(); }
|
||||||
bool light_get_use_gi(RID p_light) { return false; }
|
|
||||||
VS::LightBakeMode light_get_bake_mode(RID p_light) { return VS::LightBakeMode::LIGHT_BAKE_DISABLED; }
|
|
||||||
uint64_t light_get_version(RID p_light) const { return 0; }
|
uint64_t light_get_version(RID p_light) const { return 0; }
|
||||||
|
|
||||||
/* PROBE API */
|
/* PROBE API */
|
||||||
|
@ -2327,13 +2327,6 @@ void RasterizerSceneGLES2::_render_render_list(RenderList::Element **p_elements,
|
|||||||
prev_base_pass = base_pass;
|
prev_base_pass = base_pass;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!unshaded && e->light_index < RenderList::MAX_LIGHTS) {
|
|
||||||
light = render_light_instances[e->light_index];
|
|
||||||
if ((e->instance->baked_light && light->light_ptr->bake_mode == VS::LIGHT_BAKE_ALL) || (e->instance->layer_mask & light->light_ptr->cull_mask) == 0) {
|
|
||||||
light = nullptr; // Don't use this light, it is culled or already included in the lightmap
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
if (light != prev_light) {
|
if (light != prev_light) {
|
||||||
_setup_light_type(light, shadow_atlas);
|
_setup_light_type(light, shadow_atlas);
|
||||||
rebind = true;
|
rebind = true;
|
||||||
|
@ -4134,7 +4134,6 @@ RID RasterizerStorageGLES2::light_create(VS::LightType p_type) {
|
|||||||
light->directional_blend_splits = false;
|
light->directional_blend_splits = false;
|
||||||
light->directional_range_mode = VS::LIGHT_DIRECTIONAL_SHADOW_DEPTH_RANGE_STABLE;
|
light->directional_range_mode = VS::LIGHT_DIRECTIONAL_SHADOW_DEPTH_RANGE_STABLE;
|
||||||
light->reverse_cull = false;
|
light->reverse_cull = false;
|
||||||
light->bake_mode = VS::LIGHT_BAKE_INDIRECT;
|
|
||||||
light->version = 0;
|
light->version = 0;
|
||||||
|
|
||||||
return light_owner.make_rid(light);
|
return light_owner.make_rid(light);
|
||||||
@ -4222,21 +4221,6 @@ void RasterizerStorageGLES2::light_set_reverse_cull_face_mode(RID p_light, bool
|
|||||||
light->instance_change_notify(true, false);
|
light->instance_change_notify(true, false);
|
||||||
}
|
}
|
||||||
|
|
||||||
void RasterizerStorageGLES2::light_set_use_gi(RID p_light, bool p_enabled) {
|
|
||||||
WARN_DEPRECATED_MSG("'VisualServer.light_set_use_gi' is deprecated and will be removed in a future version. Use 'VisualServer.light_set_bake_mode' instead.");
|
|
||||||
light_set_bake_mode(p_light, p_enabled ? VS::LightBakeMode::LIGHT_BAKE_INDIRECT : VS::LightBakeMode::LIGHT_BAKE_DISABLED);
|
|
||||||
}
|
|
||||||
|
|
||||||
void RasterizerStorageGLES2::light_set_bake_mode(RID p_light, VS::LightBakeMode p_bake_mode) {
|
|
||||||
Light *light = light_owner.getornull(p_light);
|
|
||||||
ERR_FAIL_COND(!light);
|
|
||||||
|
|
||||||
light->bake_mode = p_bake_mode;
|
|
||||||
|
|
||||||
light->version++;
|
|
||||||
light->instance_change_notify(true, false);
|
|
||||||
}
|
|
||||||
|
|
||||||
void RasterizerStorageGLES2::light_omni_set_shadow_mode(RID p_light, VS::LightOmniShadowMode p_mode) {
|
void RasterizerStorageGLES2::light_omni_set_shadow_mode(RID p_light, VS::LightOmniShadowMode p_mode) {
|
||||||
Light *light = light_owner.getornull(p_light);
|
Light *light = light_owner.getornull(p_light);
|
||||||
ERR_FAIL_COND(!light);
|
ERR_FAIL_COND(!light);
|
||||||
@ -4332,17 +4316,6 @@ Color RasterizerStorageGLES2::light_get_color(RID p_light) {
|
|||||||
return light->color;
|
return light->color;
|
||||||
}
|
}
|
||||||
|
|
||||||
bool RasterizerStorageGLES2::light_get_use_gi(RID p_light) {
|
|
||||||
return light_get_bake_mode(p_light) != VS::LightBakeMode::LIGHT_BAKE_DISABLED;
|
|
||||||
}
|
|
||||||
|
|
||||||
VS::LightBakeMode RasterizerStorageGLES2::light_get_bake_mode(RID p_light) {
|
|
||||||
Light *light = light_owner.getornull(p_light);
|
|
||||||
ERR_FAIL_COND_V(!light, VS::LightBakeMode::LIGHT_BAKE_DISABLED);
|
|
||||||
|
|
||||||
return light->bake_mode;
|
|
||||||
}
|
|
||||||
|
|
||||||
bool RasterizerStorageGLES2::light_has_shadow(RID p_light) const {
|
bool RasterizerStorageGLES2::light_has_shadow(RID p_light) const {
|
||||||
Light *light = light_owner.getornull(p_light);
|
Light *light = light_owner.getornull(p_light);
|
||||||
ERR_FAIL_COND_V(!light, false);
|
ERR_FAIL_COND_V(!light, false);
|
||||||
|
@ -943,7 +943,6 @@ public:
|
|||||||
|
|
||||||
uint32_t cull_mask;
|
uint32_t cull_mask;
|
||||||
|
|
||||||
VS::LightBakeMode bake_mode;
|
|
||||||
VS::LightOmniShadowMode omni_shadow_mode;
|
VS::LightOmniShadowMode omni_shadow_mode;
|
||||||
VS::LightOmniShadowDetail omni_shadow_detail;
|
VS::LightOmniShadowDetail omni_shadow_detail;
|
||||||
|
|
||||||
@ -967,8 +966,6 @@ public:
|
|||||||
virtual void light_set_negative(RID p_light, bool p_enable);
|
virtual void light_set_negative(RID p_light, bool p_enable);
|
||||||
virtual void light_set_cull_mask(RID p_light, uint32_t p_mask);
|
virtual void light_set_cull_mask(RID p_light, uint32_t p_mask);
|
||||||
virtual void light_set_reverse_cull_face_mode(RID p_light, bool p_enabled);
|
virtual void light_set_reverse_cull_face_mode(RID p_light, bool p_enabled);
|
||||||
virtual void light_set_use_gi(RID p_light, bool p_enabled);
|
|
||||||
virtual void light_set_bake_mode(RID p_light, VS::LightBakeMode p_bake_mode);
|
|
||||||
|
|
||||||
virtual void light_omni_set_shadow_mode(RID p_light, VS::LightOmniShadowMode p_mode);
|
virtual void light_omni_set_shadow_mode(RID p_light, VS::LightOmniShadowMode p_mode);
|
||||||
virtual void light_omni_set_shadow_detail(RID p_light, VS::LightOmniShadowDetail p_detail);
|
virtual void light_omni_set_shadow_detail(RID p_light, VS::LightOmniShadowDetail p_detail);
|
||||||
@ -988,8 +985,6 @@ public:
|
|||||||
virtual VS::LightType light_get_type(RID p_light) const;
|
virtual VS::LightType light_get_type(RID p_light) const;
|
||||||
virtual float light_get_param(RID p_light, VS::LightParam p_param);
|
virtual float light_get_param(RID p_light, VS::LightParam p_param);
|
||||||
virtual Color light_get_color(RID p_light);
|
virtual Color light_get_color(RID p_light);
|
||||||
virtual bool light_get_use_gi(RID p_light);
|
|
||||||
virtual VS::LightBakeMode light_get_bake_mode(RID p_light);
|
|
||||||
|
|
||||||
virtual AABB light_get_aabb(RID p_light) const;
|
virtual AABB light_get_aabb(RID p_light) const;
|
||||||
virtual uint64_t light_get_version(RID p_light) const;
|
virtual uint64_t light_get_version(RID p_light) const;
|
||||||
|
@ -292,7 +292,6 @@ Error ColladaImport::_create_scene(Collada::Node *p_node, Spatial *p_parent) {
|
|||||||
} else {
|
} else {
|
||||||
//mesh since nothing else
|
//mesh since nothing else
|
||||||
node = memnew(MeshInstance);
|
node = memnew(MeshInstance);
|
||||||
//Object::cast_to<MeshInstance>(node)->set_flag(GeometryInstance::FLAG_USE_BAKED_LIGHT, true);
|
|
||||||
}
|
}
|
||||||
} break;
|
} break;
|
||||||
case Collada::Node::TYPE_SKELETON: {
|
case Collada::Node::TYPE_SKELETON: {
|
||||||
|
@ -134,16 +134,6 @@ PoolVector<Face3> Light::get_faces(uint32_t p_usage_flags) const {
|
|||||||
return PoolVector<Face3>();
|
return PoolVector<Face3>();
|
||||||
}
|
}
|
||||||
|
|
||||||
void Light::set_bake_mode(BakeMode p_mode) {
|
|
||||||
bake_mode = p_mode;
|
|
||||||
VS::get_singleton()->light_set_bake_mode(light, VS::LightBakeMode(bake_mode));
|
|
||||||
_change_notify();
|
|
||||||
}
|
|
||||||
|
|
||||||
Light::BakeMode Light::get_bake_mode() const {
|
|
||||||
return bake_mode;
|
|
||||||
}
|
|
||||||
|
|
||||||
void Light::_update_visibility() {
|
void Light::_update_visibility() {
|
||||||
if (!is_inside_tree()) {
|
if (!is_inside_tree()) {
|
||||||
return;
|
return;
|
||||||
@ -193,10 +183,6 @@ void Light::_validate_property(PropertyInfo &property) const {
|
|||||||
if (VisualServer::get_singleton()->is_low_end() && property.name == "shadow_contact") {
|
if (VisualServer::get_singleton()->is_low_end() && property.name == "shadow_contact") {
|
||||||
property.usage = PROPERTY_USAGE_NOEDITOR | PROPERTY_USAGE_INTERNAL;
|
property.usage = PROPERTY_USAGE_NOEDITOR | PROPERTY_USAGE_INTERNAL;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (bake_mode != BAKE_ALL && property.name == "light_size") {
|
|
||||||
property.usage = PROPERTY_USAGE_NOEDITOR | PROPERTY_USAGE_INTERNAL;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
void Light::_bind_methods() {
|
void Light::_bind_methods() {
|
||||||
@ -224,9 +210,6 @@ void Light::_bind_methods() {
|
|||||||
ClassDB::bind_method(D_METHOD("set_shadow_color", "shadow_color"), &Light::set_shadow_color);
|
ClassDB::bind_method(D_METHOD("set_shadow_color", "shadow_color"), &Light::set_shadow_color);
|
||||||
ClassDB::bind_method(D_METHOD("get_shadow_color"), &Light::get_shadow_color);
|
ClassDB::bind_method(D_METHOD("get_shadow_color"), &Light::get_shadow_color);
|
||||||
|
|
||||||
ClassDB::bind_method(D_METHOD("set_bake_mode", "bake_mode"), &Light::set_bake_mode);
|
|
||||||
ClassDB::bind_method(D_METHOD("get_bake_mode"), &Light::get_bake_mode);
|
|
||||||
|
|
||||||
ADD_GROUP("Light", "light_");
|
ADD_GROUP("Light", "light_");
|
||||||
ADD_PROPERTY(PropertyInfo(Variant::COLOR, "light_color", PROPERTY_HINT_COLOR_NO_ALPHA), "set_color", "get_color");
|
ADD_PROPERTY(PropertyInfo(Variant::COLOR, "light_color", PROPERTY_HINT_COLOR_NO_ALPHA), "set_color", "get_color");
|
||||||
ADD_PROPERTYI(PropertyInfo(Variant::REAL, "light_energy", PROPERTY_HINT_RANGE, "0,16,0.001,or_greater"), "set_param", "get_param", PARAM_ENERGY);
|
ADD_PROPERTYI(PropertyInfo(Variant::REAL, "light_energy", PROPERTY_HINT_RANGE, "0,16,0.001,or_greater"), "set_param", "get_param", PARAM_ENERGY);
|
||||||
@ -234,7 +217,6 @@ void Light::_bind_methods() {
|
|||||||
ADD_PROPERTYI(PropertyInfo(Variant::REAL, "light_size", PROPERTY_HINT_RANGE, "0,1,0.001,or_greater"), "set_param", "get_param", PARAM_SIZE);
|
ADD_PROPERTYI(PropertyInfo(Variant::REAL, "light_size", PROPERTY_HINT_RANGE, "0,1,0.001,or_greater"), "set_param", "get_param", PARAM_SIZE);
|
||||||
ADD_PROPERTY(PropertyInfo(Variant::BOOL, "light_negative"), "set_negative", "is_negative");
|
ADD_PROPERTY(PropertyInfo(Variant::BOOL, "light_negative"), "set_negative", "is_negative");
|
||||||
ADD_PROPERTYI(PropertyInfo(Variant::REAL, "light_specular", PROPERTY_HINT_RANGE, "0,16,0.001,or_greater"), "set_param", "get_param", PARAM_SPECULAR);
|
ADD_PROPERTYI(PropertyInfo(Variant::REAL, "light_specular", PROPERTY_HINT_RANGE, "0,16,0.001,or_greater"), "set_param", "get_param", PARAM_SPECULAR);
|
||||||
ADD_PROPERTY(PropertyInfo(Variant::INT, "light_bake_mode", PROPERTY_HINT_ENUM, "Disable,Indirect Only,All (Direct + Indirect)"), "set_bake_mode", "get_bake_mode");
|
|
||||||
ADD_PROPERTY(PropertyInfo(Variant::INT, "light_cull_mask", PROPERTY_HINT_LAYERS_3D_RENDER), "set_cull_mask", "get_cull_mask");
|
ADD_PROPERTY(PropertyInfo(Variant::INT, "light_cull_mask", PROPERTY_HINT_LAYERS_3D_RENDER), "set_cull_mask", "get_cull_mask");
|
||||||
ADD_GROUP("Shadow", "shadow_");
|
ADD_GROUP("Shadow", "shadow_");
|
||||||
ADD_PROPERTY(PropertyInfo(Variant::BOOL, "shadow_enabled"), "set_shadow", "has_shadow");
|
ADD_PROPERTY(PropertyInfo(Variant::BOOL, "shadow_enabled"), "set_shadow", "has_shadow");
|
||||||
@ -263,10 +245,6 @@ void Light::_bind_methods() {
|
|||||||
BIND_ENUM_CONSTANT(PARAM_SHADOW_BIAS);
|
BIND_ENUM_CONSTANT(PARAM_SHADOW_BIAS);
|
||||||
BIND_ENUM_CONSTANT(PARAM_SHADOW_BIAS_SPLIT_SCALE);
|
BIND_ENUM_CONSTANT(PARAM_SHADOW_BIAS_SPLIT_SCALE);
|
||||||
BIND_ENUM_CONSTANT(PARAM_MAX);
|
BIND_ENUM_CONSTANT(PARAM_MAX);
|
||||||
|
|
||||||
BIND_ENUM_CONSTANT(BAKE_DISABLED);
|
|
||||||
BIND_ENUM_CONSTANT(BAKE_INDIRECT);
|
|
||||||
BIND_ENUM_CONSTANT(BAKE_ALL);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
Light::Light(VisualServer::LightType p_type) {
|
Light::Light(VisualServer::LightType p_type) {
|
||||||
@ -288,7 +266,6 @@ Light::Light(VisualServer::LightType p_type) {
|
|||||||
VS::get_singleton()->instance_set_base(get_instance(), light);
|
VS::get_singleton()->instance_set_base(get_instance(), light);
|
||||||
|
|
||||||
reverse_cull = false;
|
reverse_cull = false;
|
||||||
bake_mode = BAKE_INDIRECT;
|
|
||||||
|
|
||||||
editor_only = false;
|
editor_only = false;
|
||||||
set_color(Color(1, 1, 1, 1));
|
set_color(Color(1, 1, 1, 1));
|
||||||
|
@ -60,12 +60,6 @@ public:
|
|||||||
PARAM_MAX = VS::LIGHT_PARAM_MAX
|
PARAM_MAX = VS::LIGHT_PARAM_MAX
|
||||||
};
|
};
|
||||||
|
|
||||||
enum BakeMode {
|
|
||||||
BAKE_DISABLED,
|
|
||||||
BAKE_INDIRECT,
|
|
||||||
BAKE_ALL
|
|
||||||
};
|
|
||||||
|
|
||||||
private:
|
private:
|
||||||
Color color;
|
Color color;
|
||||||
float param[PARAM_MAX];
|
float param[PARAM_MAX];
|
||||||
@ -77,7 +71,6 @@ private:
|
|||||||
VS::LightType type;
|
VS::LightType type;
|
||||||
bool editor_only;
|
bool editor_only;
|
||||||
void _update_visibility();
|
void _update_visibility();
|
||||||
BakeMode bake_mode;
|
|
||||||
|
|
||||||
// bind helpers
|
// bind helpers
|
||||||
|
|
||||||
@ -117,9 +110,6 @@ public:
|
|||||||
void set_shadow_reverse_cull_face(bool p_enable);
|
void set_shadow_reverse_cull_face(bool p_enable);
|
||||||
bool get_shadow_reverse_cull_face() const;
|
bool get_shadow_reverse_cull_face() const;
|
||||||
|
|
||||||
void set_bake_mode(BakeMode p_mode);
|
|
||||||
BakeMode get_bake_mode() const;
|
|
||||||
|
|
||||||
virtual AABB get_aabb() const;
|
virtual AABB get_aabb() const;
|
||||||
virtual PoolVector<Face3> get_faces(uint32_t p_usage_flags) const;
|
virtual PoolVector<Face3> get_faces(uint32_t p_usage_flags) const;
|
||||||
|
|
||||||
@ -128,7 +118,6 @@ public:
|
|||||||
};
|
};
|
||||||
|
|
||||||
VARIANT_ENUM_CAST(Light::Param);
|
VARIANT_ENUM_CAST(Light::Param);
|
||||||
VARIANT_ENUM_CAST(Light::BakeMode);
|
|
||||||
|
|
||||||
class DirectionalLight : public Light {
|
class DirectionalLight : public Light {
|
||||||
GDCLASS(DirectionalLight, Light);
|
GDCLASS(DirectionalLight, Light);
|
||||||
|
@ -875,9 +875,6 @@ bool MeshInstance::_is_mergeable_with(const MeshInstance &p_other) const {
|
|||||||
if (get_cast_shadows_setting() != p_other.get_cast_shadows_setting()) {
|
if (get_cast_shadows_setting() != p_other.get_cast_shadows_setting()) {
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
if (get_flag(FLAG_USE_BAKED_LIGHT) != p_other.get_flag(FLAG_USE_BAKED_LIGHT)) {
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
if (is_visible() != p_other.is_visible()) {
|
if (is_visible() != p_other.is_visible()) {
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
@ -1265,7 +1262,6 @@ bool MeshInstance::merge_meshes(Vector<MeshInstance *> p_list, bool p_use_global
|
|||||||
set_material_overlay(first->get_material_overlay());
|
set_material_overlay(first->get_material_overlay());
|
||||||
set_material_override(first->get_material_override());
|
set_material_override(first->get_material_override());
|
||||||
set_cast_shadows_setting(first->get_cast_shadows_setting());
|
set_cast_shadows_setting(first->get_cast_shadows_setting());
|
||||||
set_flag(FLAG_USE_BAKED_LIGHT, first->get_flag(FLAG_USE_BAKED_LIGHT));
|
|
||||||
|
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
@ -114,7 +114,6 @@ void VisualInstance::_notification(int p_what) {
|
|||||||
case NOTIFICATION_EXIT_WORLD: {
|
case NOTIFICATION_EXIT_WORLD: {
|
||||||
VisualServer::get_singleton()->instance_set_scenario(instance, RID());
|
VisualServer::get_singleton()->instance_set_scenario(instance, RID());
|
||||||
VisualServer::get_singleton()->instance_attach_skeleton(instance, RID());
|
VisualServer::get_singleton()->instance_attach_skeleton(instance, RID());
|
||||||
//VS::get_singleton()->instance_geometry_set_baked_light_sampler(instance, RID() );
|
|
||||||
|
|
||||||
// the vi visible flag is always set to invisible when outside the tree,
|
// the vi visible flag is always set to invisible when outside the tree,
|
||||||
// so it can detect re-entering the tree and becoming visible, and send
|
// so it can detect re-entering the tree and becoming visible, and send
|
||||||
@ -344,7 +343,6 @@ void GeometryInstance::_bind_methods() {
|
|||||||
BIND_ENUM_CONSTANT(SHADOW_CASTING_SETTING_DOUBLE_SIDED);
|
BIND_ENUM_CONSTANT(SHADOW_CASTING_SETTING_DOUBLE_SIDED);
|
||||||
BIND_ENUM_CONSTANT(SHADOW_CASTING_SETTING_SHADOWS_ONLY);
|
BIND_ENUM_CONSTANT(SHADOW_CASTING_SETTING_SHADOWS_ONLY);
|
||||||
|
|
||||||
BIND_ENUM_CONSTANT(FLAG_USE_BAKED_LIGHT);
|
|
||||||
BIND_ENUM_CONSTANT(FLAG_DRAW_NEXT_FRAME_IF_VISIBLE);
|
BIND_ENUM_CONSTANT(FLAG_DRAW_NEXT_FRAME_IF_VISIBLE);
|
||||||
BIND_ENUM_CONSTANT(FLAG_MAX);
|
BIND_ENUM_CONSTANT(FLAG_MAX);
|
||||||
}
|
}
|
||||||
@ -361,5 +359,4 @@ GeometryInstance::GeometryInstance() {
|
|||||||
|
|
||||||
shadow_casting_setting = SHADOW_CASTING_SETTING_ON;
|
shadow_casting_setting = SHADOW_CASTING_SETTING_ON;
|
||||||
extra_cull_margin = 0;
|
extra_cull_margin = 0;
|
||||||
//VS::get_singleton()->instance_geometry_set_baked_light_texture_index(get_instance(),0);
|
|
||||||
}
|
}
|
||||||
|
@ -86,7 +86,6 @@ class GeometryInstance : public VisualInstance {
|
|||||||
|
|
||||||
public:
|
public:
|
||||||
enum Flags {
|
enum Flags {
|
||||||
FLAG_USE_BAKED_LIGHT = VS::INSTANCE_FLAG_USE_BAKED_LIGHT,
|
|
||||||
FLAG_DRAW_NEXT_FRAME_IF_VISIBLE = VS::INSTANCE_FLAG_DRAW_NEXT_FRAME_IF_VISIBLE,
|
FLAG_DRAW_NEXT_FRAME_IF_VISIBLE = VS::INSTANCE_FLAG_DRAW_NEXT_FRAME_IF_VISIBLE,
|
||||||
FLAG_MAX = VS::INSTANCE_FLAG_MAX,
|
FLAG_MAX = VS::INSTANCE_FLAG_MAX,
|
||||||
};
|
};
|
||||||
|
@ -168,9 +168,6 @@ SceneStringNames::SceneStringNames() {
|
|||||||
_im_update = StaticCString::create("_im_update");
|
_im_update = StaticCString::create("_im_update");
|
||||||
_queue_update = StaticCString::create("_queue_update");
|
_queue_update = StaticCString::create("_queue_update");
|
||||||
|
|
||||||
baked_light_changed = StaticCString::create("baked_light_changed");
|
|
||||||
_baked_light_changed = StaticCString::create("_baked_light_changed");
|
|
||||||
|
|
||||||
_mouse_enter = StaticCString::create("_mouse_enter");
|
_mouse_enter = StaticCString::create("_mouse_enter");
|
||||||
_mouse_exit = StaticCString::create("_mouse_exit");
|
_mouse_exit = StaticCString::create("_mouse_exit");
|
||||||
|
|
||||||
|
@ -179,9 +179,6 @@ public:
|
|||||||
StringName _im_update;
|
StringName _im_update;
|
||||||
StringName _queue_update;
|
StringName _queue_update;
|
||||||
|
|
||||||
StringName baked_light_changed;
|
|
||||||
StringName _baked_light_changed;
|
|
||||||
|
|
||||||
StringName _mouse_enter;
|
StringName _mouse_enter;
|
||||||
StringName _mouse_exit;
|
StringName _mouse_exit;
|
||||||
|
|
||||||
|
@ -118,7 +118,6 @@ public:
|
|||||||
bool mirror : 1;
|
bool mirror : 1;
|
||||||
bool receive_shadows : 1;
|
bool receive_shadows : 1;
|
||||||
bool visible : 1;
|
bool visible : 1;
|
||||||
bool baked_light : 1; //this flag is only to know if it actually did use baked light
|
|
||||||
bool redraw_if_visible : 1;
|
bool redraw_if_visible : 1;
|
||||||
|
|
||||||
bool on_interpolate_list : 1;
|
bool on_interpolate_list : 1;
|
||||||
@ -145,7 +144,6 @@ public:
|
|||||||
visible = true;
|
visible = true;
|
||||||
depth_layer = 0;
|
depth_layer = 0;
|
||||||
layer_mask = 1;
|
layer_mask = 1;
|
||||||
baked_light = false;
|
|
||||||
redraw_if_visible = false;
|
redraw_if_visible = false;
|
||||||
on_interpolate_list = false;
|
on_interpolate_list = false;
|
||||||
on_interpolate_transform_list = false;
|
on_interpolate_transform_list = false;
|
||||||
@ -450,8 +448,6 @@ public:
|
|||||||
virtual void light_set_negative(RID p_light, bool p_enable) = 0;
|
virtual void light_set_negative(RID p_light, bool p_enable) = 0;
|
||||||
virtual void light_set_cull_mask(RID p_light, uint32_t p_mask) = 0;
|
virtual void light_set_cull_mask(RID p_light, uint32_t p_mask) = 0;
|
||||||
virtual void light_set_reverse_cull_face_mode(RID p_light, bool p_enabled) = 0;
|
virtual void light_set_reverse_cull_face_mode(RID p_light, bool p_enabled) = 0;
|
||||||
virtual void light_set_use_gi(RID p_light, bool p_enable) = 0;
|
|
||||||
virtual void light_set_bake_mode(RID p_light, VS::LightBakeMode p_bake_mode) = 0;
|
|
||||||
|
|
||||||
virtual void light_omni_set_shadow_mode(RID p_light, VS::LightOmniShadowMode p_mode) = 0;
|
virtual void light_omni_set_shadow_mode(RID p_light, VS::LightOmniShadowMode p_mode) = 0;
|
||||||
virtual void light_omni_set_shadow_detail(RID p_light, VS::LightOmniShadowDetail p_detail) = 0;
|
virtual void light_omni_set_shadow_detail(RID p_light, VS::LightOmniShadowDetail p_detail) = 0;
|
||||||
@ -471,8 +467,6 @@ public:
|
|||||||
virtual AABB light_get_aabb(RID p_light) const = 0;
|
virtual AABB light_get_aabb(RID p_light) const = 0;
|
||||||
virtual float light_get_param(RID p_light, VS::LightParam p_param) = 0;
|
virtual float light_get_param(RID p_light, VS::LightParam p_param) = 0;
|
||||||
virtual Color light_get_color(RID p_light) = 0;
|
virtual Color light_get_color(RID p_light) = 0;
|
||||||
virtual bool light_get_use_gi(RID p_light) = 0;
|
|
||||||
virtual VS::LightBakeMode light_get_bake_mode(RID p_light) = 0;
|
|
||||||
virtual uint64_t light_get_version(RID p_light) const = 0;
|
virtual uint64_t light_get_version(RID p_light) const = 0;
|
||||||
|
|
||||||
/* PROBE API */
|
/* PROBE API */
|
||||||
|
@ -328,8 +328,6 @@ public:
|
|||||||
BIND2(light_set_negative, RID, bool)
|
BIND2(light_set_negative, RID, bool)
|
||||||
BIND2(light_set_cull_mask, RID, uint32_t)
|
BIND2(light_set_cull_mask, RID, uint32_t)
|
||||||
BIND2(light_set_reverse_cull_face_mode, RID, bool)
|
BIND2(light_set_reverse_cull_face_mode, RID, bool)
|
||||||
BIND2(light_set_use_gi, RID, bool)
|
|
||||||
BIND2(light_set_bake_mode, RID, LightBakeMode)
|
|
||||||
|
|
||||||
BIND2(light_omni_set_shadow_mode, RID, LightOmniShadowMode)
|
BIND2(light_omni_set_shadow_mode, RID, LightOmniShadowMode)
|
||||||
BIND2(light_omni_set_shadow_detail, RID, LightOmniShadowDetail)
|
BIND2(light_omni_set_shadow_detail, RID, LightOmniShadowDetail)
|
||||||
|
@ -1716,10 +1716,6 @@ void VisualServerScene::instance_geometry_set_flag(RID p_instance, VS::InstanceF
|
|||||||
ERR_FAIL_COND(!instance);
|
ERR_FAIL_COND(!instance);
|
||||||
|
|
||||||
switch (p_flags) {
|
switch (p_flags) {
|
||||||
case VS::INSTANCE_FLAG_USE_BAKED_LIGHT: {
|
|
||||||
instance->baked_light = p_enabled;
|
|
||||||
|
|
||||||
} break;
|
|
||||||
case VS::INSTANCE_FLAG_DRAW_NEXT_FRAME_IF_VISIBLE: {
|
case VS::INSTANCE_FLAG_DRAW_NEXT_FRAME_IF_VISIBLE: {
|
||||||
instance->redraw_if_visible = p_enabled;
|
instance->redraw_if_visible = p_enabled;
|
||||||
|
|
||||||
|
@ -471,14 +471,12 @@ public:
|
|||||||
|
|
||||||
List<PairInfo> geometries;
|
List<PairInfo> geometries;
|
||||||
|
|
||||||
Instance *baked_light;
|
|
||||||
int32_t previous_room_id_hint;
|
int32_t previous_room_id_hint;
|
||||||
|
|
||||||
InstanceLightData() {
|
InstanceLightData() {
|
||||||
shadow_dirty = true;
|
shadow_dirty = true;
|
||||||
D = nullptr;
|
D = nullptr;
|
||||||
last_version = 0;
|
last_version = 0;
|
||||||
baked_light = nullptr;
|
|
||||||
previous_room_id_hint = -1;
|
previous_room_id_hint = -1;
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
@ -258,8 +258,6 @@ public:
|
|||||||
FUNC2(light_set_negative, RID, bool)
|
FUNC2(light_set_negative, RID, bool)
|
||||||
FUNC2(light_set_cull_mask, RID, uint32_t)
|
FUNC2(light_set_cull_mask, RID, uint32_t)
|
||||||
FUNC2(light_set_reverse_cull_face_mode, RID, bool)
|
FUNC2(light_set_reverse_cull_face_mode, RID, bool)
|
||||||
FUNC2(light_set_use_gi, RID, bool)
|
|
||||||
FUNC2(light_set_bake_mode, RID, LightBakeMode)
|
|
||||||
|
|
||||||
FUNC2(light_omni_set_shadow_mode, RID, LightOmniShadowMode)
|
FUNC2(light_omni_set_shadow_mode, RID, LightOmniShadowMode)
|
||||||
FUNC2(light_omni_set_shadow_detail, RID, LightOmniShadowDetail)
|
FUNC2(light_omni_set_shadow_detail, RID, LightOmniShadowDetail)
|
||||||
|
@ -1966,8 +1966,6 @@ void VisualServer::_bind_methods() {
|
|||||||
ClassDB::bind_method(D_METHOD("light_set_negative", "light", "enable"), &VisualServer::light_set_negative);
|
ClassDB::bind_method(D_METHOD("light_set_negative", "light", "enable"), &VisualServer::light_set_negative);
|
||||||
ClassDB::bind_method(D_METHOD("light_set_cull_mask", "light", "mask"), &VisualServer::light_set_cull_mask);
|
ClassDB::bind_method(D_METHOD("light_set_cull_mask", "light", "mask"), &VisualServer::light_set_cull_mask);
|
||||||
ClassDB::bind_method(D_METHOD("light_set_reverse_cull_face_mode", "light", "enabled"), &VisualServer::light_set_reverse_cull_face_mode);
|
ClassDB::bind_method(D_METHOD("light_set_reverse_cull_face_mode", "light", "enabled"), &VisualServer::light_set_reverse_cull_face_mode);
|
||||||
ClassDB::bind_method(D_METHOD("light_set_use_gi", "light", "enabled"), &VisualServer::light_set_use_gi);
|
|
||||||
ClassDB::bind_method(D_METHOD("light_set_bake_mode", "light", "bake_mode"), &VisualServer::light_set_bake_mode);
|
|
||||||
|
|
||||||
ClassDB::bind_method(D_METHOD("light_omni_set_shadow_mode", "light", "mode"), &VisualServer::light_omni_set_shadow_mode);
|
ClassDB::bind_method(D_METHOD("light_omni_set_shadow_mode", "light", "mode"), &VisualServer::light_omni_set_shadow_mode);
|
||||||
ClassDB::bind_method(D_METHOD("light_omni_set_shadow_detail", "light", "detail"), &VisualServer::light_omni_set_shadow_detail);
|
ClassDB::bind_method(D_METHOD("light_omni_set_shadow_detail", "light", "detail"), &VisualServer::light_omni_set_shadow_detail);
|
||||||
@ -2322,10 +2320,6 @@ void VisualServer::_bind_methods() {
|
|||||||
BIND_ENUM_CONSTANT(LIGHT_PARAM_SHADOW_BIAS_SPLIT_SCALE);
|
BIND_ENUM_CONSTANT(LIGHT_PARAM_SHADOW_BIAS_SPLIT_SCALE);
|
||||||
BIND_ENUM_CONSTANT(LIGHT_PARAM_MAX);
|
BIND_ENUM_CONSTANT(LIGHT_PARAM_MAX);
|
||||||
|
|
||||||
BIND_ENUM_CONSTANT(LIGHT_BAKE_DISABLED);
|
|
||||||
BIND_ENUM_CONSTANT(LIGHT_BAKE_INDIRECT);
|
|
||||||
BIND_ENUM_CONSTANT(LIGHT_BAKE_ALL);
|
|
||||||
|
|
||||||
BIND_ENUM_CONSTANT(LIGHT_OMNI_SHADOW_DUAL_PARABOLOID);
|
BIND_ENUM_CONSTANT(LIGHT_OMNI_SHADOW_DUAL_PARABOLOID);
|
||||||
BIND_ENUM_CONSTANT(LIGHT_OMNI_SHADOW_CUBE);
|
BIND_ENUM_CONSTANT(LIGHT_OMNI_SHADOW_CUBE);
|
||||||
BIND_ENUM_CONSTANT(LIGHT_OMNI_SHADOW_DETAIL_VERTICAL);
|
BIND_ENUM_CONSTANT(LIGHT_OMNI_SHADOW_DETAIL_VERTICAL);
|
||||||
@ -2389,7 +2383,6 @@ void VisualServer::_bind_methods() {
|
|||||||
BIND_ENUM_CONSTANT(INSTANCE_MAX);
|
BIND_ENUM_CONSTANT(INSTANCE_MAX);
|
||||||
BIND_ENUM_CONSTANT(INSTANCE_GEOMETRY_MASK);
|
BIND_ENUM_CONSTANT(INSTANCE_GEOMETRY_MASK);
|
||||||
|
|
||||||
BIND_ENUM_CONSTANT(INSTANCE_FLAG_USE_BAKED_LIGHT);
|
|
||||||
BIND_ENUM_CONSTANT(INSTANCE_FLAG_DRAW_NEXT_FRAME_IF_VISIBLE);
|
BIND_ENUM_CONSTANT(INSTANCE_FLAG_DRAW_NEXT_FRAME_IF_VISIBLE);
|
||||||
BIND_ENUM_CONSTANT(INSTANCE_FLAG_MAX);
|
BIND_ENUM_CONSTANT(INSTANCE_FLAG_MAX);
|
||||||
|
|
||||||
|
@ -458,16 +458,6 @@ public:
|
|||||||
virtual void light_set_negative(RID p_light, bool p_enable) = 0;
|
virtual void light_set_negative(RID p_light, bool p_enable) = 0;
|
||||||
virtual void light_set_cull_mask(RID p_light, uint32_t p_mask) = 0;
|
virtual void light_set_cull_mask(RID p_light, uint32_t p_mask) = 0;
|
||||||
virtual void light_set_reverse_cull_face_mode(RID p_light, bool p_enabled) = 0;
|
virtual void light_set_reverse_cull_face_mode(RID p_light, bool p_enabled) = 0;
|
||||||
virtual void light_set_use_gi(RID p_light, bool p_enable) = 0;
|
|
||||||
|
|
||||||
// bake mode
|
|
||||||
enum LightBakeMode {
|
|
||||||
LIGHT_BAKE_DISABLED,
|
|
||||||
LIGHT_BAKE_INDIRECT,
|
|
||||||
LIGHT_BAKE_ALL
|
|
||||||
};
|
|
||||||
|
|
||||||
virtual void light_set_bake_mode(RID p_light, LightBakeMode p_bake_mode) = 0;
|
|
||||||
|
|
||||||
// omni light
|
// omni light
|
||||||
enum LightOmniShadowMode {
|
enum LightOmniShadowMode {
|
||||||
@ -910,7 +900,6 @@ public:
|
|||||||
Array _instances_cull_convex_bind(const Array &p_convex, RID p_scenario = RID()) const;
|
Array _instances_cull_convex_bind(const Array &p_convex, RID p_scenario = RID()) const;
|
||||||
|
|
||||||
enum InstanceFlags {
|
enum InstanceFlags {
|
||||||
INSTANCE_FLAG_USE_BAKED_LIGHT,
|
|
||||||
INSTANCE_FLAG_DRAW_NEXT_FRAME_IF_VISIBLE,
|
INSTANCE_FLAG_DRAW_NEXT_FRAME_IF_VISIBLE,
|
||||||
INSTANCE_FLAG_MAX
|
INSTANCE_FLAG_MAX
|
||||||
};
|
};
|
||||||
@ -1172,7 +1161,6 @@ VARIANT_ENUM_CAST(VisualServer::Features);
|
|||||||
VARIANT_ENUM_CAST(VisualServer::MultimeshTransformFormat);
|
VARIANT_ENUM_CAST(VisualServer::MultimeshTransformFormat);
|
||||||
VARIANT_ENUM_CAST(VisualServer::MultimeshColorFormat);
|
VARIANT_ENUM_CAST(VisualServer::MultimeshColorFormat);
|
||||||
VARIANT_ENUM_CAST(VisualServer::MultimeshCustomDataFormat);
|
VARIANT_ENUM_CAST(VisualServer::MultimeshCustomDataFormat);
|
||||||
VARIANT_ENUM_CAST(VisualServer::LightBakeMode);
|
|
||||||
VARIANT_ENUM_CAST(VisualServer::LightOmniShadowMode);
|
VARIANT_ENUM_CAST(VisualServer::LightOmniShadowMode);
|
||||||
VARIANT_ENUM_CAST(VisualServer::LightOmniShadowDetail);
|
VARIANT_ENUM_CAST(VisualServer::LightOmniShadowDetail);
|
||||||
VARIANT_ENUM_CAST(VisualServer::LightDirectionalShadowMode);
|
VARIANT_ENUM_CAST(VisualServer::LightDirectionalShadowMode);
|
||||||
|
Loading…
Reference in New Issue
Block a user