diff --git a/doc/classes/GeometryInstance.xml b/doc/classes/GeometryInstance.xml
index b47af6bc804a..aebe177a6d2e 100644
--- a/doc/classes/GeometryInstance.xml
+++ b/doc/classes/GeometryInstance.xml
@@ -45,22 +45,6 @@
Scale factor for the generated baked lightmap. Useful for adding detail to certain mesh instances.
-
- The GeometryInstance's max LOD distance.
- [b]Note:[/b] This property currently has no effect.
-
-
- The GeometryInstance's max LOD margin.
- [b]Note:[/b] This property currently has no effect.
-
-
- The GeometryInstance's min LOD distance.
- [b]Note:[/b] This property currently has no effect.
-
-
- The GeometryInstance's min LOD margin.
- [b]Note:[/b] This property currently has no effect.
-
The material overlay for the whole geometry.
If a material is assigned to this property, it will be rendered on top of any other active material for all the surfaces.
diff --git a/doc/classes/VisualServer.xml b/doc/classes/VisualServer.xml
index 9d220af81952..42f625430093 100644
--- a/doc/classes/VisualServer.xml
+++ b/doc/classes/VisualServer.xml
@@ -1338,14 +1338,6 @@
Once finished with your RID, you will want to free the RID using the VisualServer's [method free_rid] static method.
-
-
-
-
-
- Not implemented in Godot 3.x.
-
-
@@ -1354,17 +1346,6 @@
Sets the shadow casting setting to one of [enum ShadowCastingSetting]. Equivalent to [member GeometryInstance.cast_shadow].
-
-
-
-
-
-
-
-
- Not implemented in Godot 3.x.
-
-
diff --git a/scene/3d/visual_instance.cpp b/scene/3d/visual_instance.cpp
index 704e754835e8..35b9189c2c65 100644
--- a/scene/3d/visual_instance.cpp
+++ b/scene/3d/visual_instance.cpp
@@ -201,42 +201,6 @@ GeometryInstance::LightmapScale GeometryInstance::get_lightmap_scale() const {
return lightmap_scale;
}
-void GeometryInstance::set_lod_min_distance(float p_dist) {
- lod_min_distance = p_dist;
- VS::get_singleton()->instance_geometry_set_draw_range(get_instance(), lod_min_distance, lod_max_distance, lod_min_hysteresis, lod_max_hysteresis);
-}
-
-float GeometryInstance::get_lod_min_distance() const {
- return lod_min_distance;
-}
-
-void GeometryInstance::set_lod_max_distance(float p_dist) {
- lod_max_distance = p_dist;
- VS::get_singleton()->instance_geometry_set_draw_range(get_instance(), lod_min_distance, lod_max_distance, lod_min_hysteresis, lod_max_hysteresis);
-}
-
-float GeometryInstance::get_lod_max_distance() const {
- return lod_max_distance;
-}
-
-void GeometryInstance::set_lod_min_hysteresis(float p_dist) {
- lod_min_hysteresis = p_dist;
- VS::get_singleton()->instance_geometry_set_draw_range(get_instance(), lod_min_distance, lod_max_distance, lod_min_hysteresis, lod_max_hysteresis);
-}
-
-float GeometryInstance::get_lod_min_hysteresis() const {
- return lod_min_hysteresis;
-}
-
-void GeometryInstance::set_lod_max_hysteresis(float p_dist) {
- lod_max_hysteresis = p_dist;
- VS::get_singleton()->instance_geometry_set_draw_range(get_instance(), lod_min_distance, lod_max_distance, lod_min_hysteresis, lod_max_hysteresis);
-}
-
-float GeometryInstance::get_lod_max_hysteresis() const {
- return lod_max_hysteresis;
-}
-
void GeometryInstance::_notification(int p_what) {
}
@@ -299,18 +263,6 @@ void GeometryInstance::_bind_methods() {
ClassDB::bind_method(D_METHOD("set_lightmap_scale", "scale"), &GeometryInstance::set_lightmap_scale);
ClassDB::bind_method(D_METHOD("get_lightmap_scale"), &GeometryInstance::get_lightmap_scale);
- ClassDB::bind_method(D_METHOD("set_lod_max_hysteresis", "mode"), &GeometryInstance::set_lod_max_hysteresis);
- ClassDB::bind_method(D_METHOD("get_lod_max_hysteresis"), &GeometryInstance::get_lod_max_hysteresis);
-
- ClassDB::bind_method(D_METHOD("set_lod_max_distance", "mode"), &GeometryInstance::set_lod_max_distance);
- ClassDB::bind_method(D_METHOD("get_lod_max_distance"), &GeometryInstance::get_lod_max_distance);
-
- ClassDB::bind_method(D_METHOD("set_lod_min_hysteresis", "mode"), &GeometryInstance::set_lod_min_hysteresis);
- ClassDB::bind_method(D_METHOD("get_lod_min_hysteresis"), &GeometryInstance::get_lod_min_hysteresis);
-
- ClassDB::bind_method(D_METHOD("set_lod_min_distance", "mode"), &GeometryInstance::set_lod_min_distance);
- ClassDB::bind_method(D_METHOD("get_lod_min_distance"), &GeometryInstance::get_lod_min_distance);
-
ClassDB::bind_method(D_METHOD("set_extra_cull_margin", "margin"), &GeometryInstance::set_extra_cull_margin);
ClassDB::bind_method(D_METHOD("get_extra_cull_margin"), &GeometryInstance::get_extra_cull_margin);
@@ -329,14 +281,6 @@ void GeometryInstance::_bind_methods() {
ADD_PROPERTY(PropertyInfo(Variant::BOOL, "generate_lightmap"), "set_generate_lightmap", "get_generate_lightmap");
ADD_PROPERTY(PropertyInfo(Variant::INT, "lightmap_scale", PROPERTY_HINT_ENUM, "1x,2x,4x,8x"), "set_lightmap_scale", "get_lightmap_scale");
- ADD_GROUP("LOD", "lod_");
- ADD_PROPERTY(PropertyInfo(Variant::INT, "lod_min_distance", PROPERTY_HINT_RANGE, "0,32768,0.01"), "set_lod_min_distance", "get_lod_min_distance");
- ADD_PROPERTY(PropertyInfo(Variant::INT, "lod_min_hysteresis", PROPERTY_HINT_RANGE, "0,32768,0.01"), "set_lod_min_hysteresis", "get_lod_min_hysteresis");
- ADD_PROPERTY(PropertyInfo(Variant::INT, "lod_max_distance", PROPERTY_HINT_RANGE, "0,32768,0.01"), "set_lod_max_distance", "get_lod_max_distance");
- ADD_PROPERTY(PropertyInfo(Variant::INT, "lod_max_hysteresis", PROPERTY_HINT_RANGE, "0,32768,0.01"), "set_lod_max_hysteresis", "get_lod_max_hysteresis");
-
- //ADD_SIGNAL( MethodInfo("visibility_changed"));
-
BIND_ENUM_CONSTANT(LIGHTMAP_SCALE_1X);
BIND_ENUM_CONSTANT(LIGHTMAP_SCALE_2X);
BIND_ENUM_CONSTANT(LIGHTMAP_SCALE_4X);
@@ -354,11 +298,6 @@ void GeometryInstance::_bind_methods() {
}
GeometryInstance::GeometryInstance() {
- lod_min_distance = 0;
- lod_max_distance = 0;
- lod_min_hysteresis = 0;
- lod_max_hysteresis = 0;
-
for (int i = 0; i < FLAG_MAX; i++) {
flags[i] = false;
}
diff --git a/scene/3d/visual_instance.h b/scene/3d/visual_instance.h
index 63ba02b0d0bf..2d159341955f 100644
--- a/scene/3d/visual_instance.h
+++ b/scene/3d/visual_instance.h
@@ -111,10 +111,6 @@ class GeometryInstance : public VisualInstance {
ShadowCastingSetting shadow_casting_setting;
Ref material_override;
Ref material_overlay;
- float lod_min_distance;
- float lod_max_distance;
- float lod_min_hysteresis;
- float lod_max_hysteresis;
float extra_cull_margin;
@@ -135,18 +131,6 @@ class GeometryInstance : public VisualInstance {
void set_lightmap_scale(LightmapScale p_scale);
LightmapScale get_lightmap_scale() const;
- void set_lod_min_distance(float p_dist);
- float get_lod_min_distance() const;
-
- void set_lod_max_distance(float p_dist);
- float get_lod_max_distance() const;
-
- void set_lod_min_hysteresis(float p_dist);
- float get_lod_min_hysteresis() const;
-
- void set_lod_max_hysteresis(float p_dist);
- float get_lod_max_hysteresis() const;
-
virtual void set_material_override(const Ref &p_material);
Ref get_material_override() const;
diff --git a/servers/visual/visual_server_raster.h b/servers/visual/visual_server_raster.h
index aedc17852ed1..8e05af9aec81 100644
--- a/servers/visual/visual_server_raster.h
+++ b/servers/visual/visual_server_raster.h
@@ -621,9 +621,6 @@ class VisualServerRaster : public VisualServer {
BIND2(instance_geometry_set_material_override, RID, RID)
BIND2(instance_geometry_set_material_overlay, RID, RID)
- BIND5(instance_geometry_set_draw_range, RID, float, float, float, float)
- BIND2(instance_geometry_set_as_instance_lod, RID, RID)
-
#undef BINDBASE
//from now on, calls forwarded to this singleton
#define BINDBASE VSG::canvas
diff --git a/servers/visual/visual_server_scene.cpp b/servers/visual/visual_server_scene.cpp
index f6cf5ee31131..3051fa35bb8e 100644
--- a/servers/visual/visual_server_scene.cpp
+++ b/servers/visual/visual_server_scene.cpp
@@ -1569,11 +1569,6 @@ void VisualServerScene::instance_geometry_set_material_overlay(RID p_instance, R
}
}
-void VisualServerScene::instance_geometry_set_draw_range(RID p_instance, float p_min, float p_max, float p_min_margin, float p_max_margin) {
-}
-void VisualServerScene::instance_geometry_set_as_instance_lod(RID p_instance, RID p_as_lod_of_instance) {
-}
-
void VisualServerScene::_update_instance(Instance *p_instance) {
p_instance->version++;
diff --git a/servers/visual/visual_server_scene.h b/servers/visual/visual_server_scene.h
index 4337b4564e7e..2982e6737ca3 100644
--- a/servers/visual/visual_server_scene.h
+++ b/servers/visual/visual_server_scene.h
@@ -748,9 +748,6 @@ class VisualServerScene {
virtual void instance_geometry_set_material_override(RID p_instance, RID p_material);
virtual void instance_geometry_set_material_overlay(RID p_instance, RID p_material);
- virtual void instance_geometry_set_draw_range(RID p_instance, float p_min, float p_max, float p_min_margin, float p_max_margin);
- virtual void instance_geometry_set_as_instance_lod(RID p_instance, RID p_as_lod_of_instance);
-
_FORCE_INLINE_ void _update_instance(Instance *p_instance);
_FORCE_INLINE_ void _update_instance_aabb(Instance *p_instance);
_FORCE_INLINE_ void _update_dirty_instance(Instance *p_instance);
diff --git a/servers/visual/visual_server_wrap_mt.h b/servers/visual/visual_server_wrap_mt.h
index 7e04336e161c..18918fefb137 100644
--- a/servers/visual/visual_server_wrap_mt.h
+++ b/servers/visual/visual_server_wrap_mt.h
@@ -544,9 +544,6 @@ class VisualServerWrapMT : public VisualServer {
FUNC2(instance_geometry_set_material_override, RID, RID)
FUNC2(instance_geometry_set_material_overlay, RID, RID)
- FUNC5(instance_geometry_set_draw_range, RID, float, float, float, float)
- FUNC2(instance_geometry_set_as_instance_lod, RID, RID)
-
/* CANVAS (2D) */
FUNCRID(canvas)
diff --git a/servers/visual_server.cpp b/servers/visual_server.cpp
index c96c6377370e..b8be3231b0b5 100644
--- a/servers/visual_server.cpp
+++ b/servers/visual_server.cpp
@@ -2145,8 +2145,6 @@ void VisualServer::_bind_methods() {
ClassDB::bind_method(D_METHOD("instance_geometry_set_cast_shadows_setting", "instance", "shadow_casting_setting"), &VisualServer::instance_geometry_set_cast_shadows_setting);
ClassDB::bind_method(D_METHOD("instance_geometry_set_material_override", "instance", "material"), &VisualServer::instance_geometry_set_material_override);
ClassDB::bind_method(D_METHOD("instance_geometry_set_material_overlay", "instance", "material"), &VisualServer::instance_geometry_set_material_overlay);
- ClassDB::bind_method(D_METHOD("instance_geometry_set_draw_range", "instance", "min", "max", "min_margin", "max_margin"), &VisualServer::instance_geometry_set_draw_range);
- ClassDB::bind_method(D_METHOD("instance_geometry_set_as_instance_lod", "instance", "as_lod_of_instance"), &VisualServer::instance_geometry_set_as_instance_lod);
ClassDB::bind_method(D_METHOD("instances_cull_aabb", "aabb", "scenario"), &VisualServer::_instances_cull_aabb_bind, DEFVAL(RID()));
ClassDB::bind_method(D_METHOD("instances_cull_ray", "from", "to", "scenario"), &VisualServer::_instances_cull_ray_bind, DEFVAL(RID()));
diff --git a/servers/visual_server.h b/servers/visual_server.h
index 06036a7f8991..dd74206ec837 100644
--- a/servers/visual_server.h
+++ b/servers/visual_server.h
@@ -964,9 +964,6 @@ class VisualServer : public Object {
virtual void instance_geometry_set_material_override(RID p_instance, RID p_material) = 0;
virtual void instance_geometry_set_material_overlay(RID p_instance, RID p_material) = 0;
- virtual void instance_geometry_set_draw_range(RID p_instance, float p_min, float p_max, float p_min_margin, float p_max_margin) = 0;
- virtual void instance_geometry_set_as_instance_lod(RID p_instance, RID p_as_lod_of_instance) = 0;
-
/* CANVAS (2D) */
virtual RID canvas_create() = 0;