Skip to content

Commit 1e7f710

Browse files
committed
fixup displacement
1 parent db756c8 commit 1e7f710

4 files changed

Lines changed: 28 additions & 29 deletions

File tree

src/terrain_3d.cpp

Lines changed: 19 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -672,17 +672,6 @@ void Terrain3D::set_mesh_lods(const int p_count) {
672672
}
673673
}
674674

675-
void Terrain3D::set_tessellation_level(const int p_level) {
676-
SET_IF_DIFF(_tessellation_level, CLAMP(p_level, 0, 6));
677-
LOG(INFO, "Setting tessellation level: ", p_level);
678-
if (_mesher && _material.is_valid()) {
679-
_material->update(true);
680-
_mesher->initialize(this);
681-
_update_displacement_buffer();
682-
}
683-
notify_property_list_changed();
684-
}
685-
686675
void Terrain3D::set_vertex_spacing(const real_t p_spacing) {
687676
SET_IF_DIFF(_vertex_spacing, CLAMP(p_spacing, 0.25f, 100.0f));
688677
LOG(INFO, "Setting vertex spacing: ", _vertex_spacing);
@@ -701,6 +690,17 @@ void Terrain3D::set_vertex_spacing(const real_t p_spacing) {
701690
}
702691
}
703692

693+
void Terrain3D::set_tessellation_level(const int p_level) {
694+
SET_IF_DIFF(_tessellation_level, CLAMP(p_level, 0, 6));
695+
LOG(INFO, "Setting tessellation level: ", p_level);
696+
if (_mesher && _material.is_valid()) {
697+
_material->update(true);
698+
_mesher->initialize(this);
699+
_update_displacement_buffer();
700+
}
701+
notify_property_list_changed();
702+
}
703+
704704
void Terrain3D::set_render_layers(const uint32_t p_layers) {
705705
SET_IF_DIFF(_render_layers, p_layers);
706706
LOG(INFO, "Setting terrain render layers to: ", p_layers);
@@ -1207,20 +1207,20 @@ void Terrain3D::_bind_methods() {
12071207
ClassDB::bind_method(D_METHOD("set_physics_material", "material"), &Terrain3D::set_physics_material);
12081208
ClassDB::bind_method(D_METHOD("get_physics_material"), &Terrain3D::get_physics_material);
12091209

1210-
// Mesh
1210+
// Terrain Mesh
12111211
ClassDB::bind_method(D_METHOD("set_mesh_lods", "count"), &Terrain3D::set_mesh_lods);
12121212
ClassDB::bind_method(D_METHOD("get_mesh_lods"), &Terrain3D::get_mesh_lods);
12131213
ClassDB::bind_method(D_METHOD("set_mesh_size", "size"), &Terrain3D::set_mesh_size);
12141214
ClassDB::bind_method(D_METHOD("get_mesh_size"), &Terrain3D::get_mesh_size);
1215-
ClassDB::bind_method(D_METHOD("set_tessellation_level", "size"), &Terrain3D::set_tessellation_level);
1216-
ClassDB::bind_method(D_METHOD("get_tessellation_level"), &Terrain3D::get_tessellation_level);
12171215
ClassDB::bind_method(D_METHOD("set_vertex_spacing", "scale"), &Terrain3D::set_vertex_spacing);
12181216
ClassDB::bind_method(D_METHOD("get_vertex_spacing"), &Terrain3D::get_vertex_spacing);
1217+
ClassDB::bind_method(D_METHOD("set_tessellation_level", "size"), &Terrain3D::set_tessellation_level);
1218+
ClassDB::bind_method(D_METHOD("get_tessellation_level"), &Terrain3D::get_tessellation_level);
12191219
ClassDB::bind_method(D_METHOD("set_displacement_scale", "scale"), &Terrain3D::set_displacement_scale);
12201220
ClassDB::bind_method(D_METHOD("get_displacement_scale"), &Terrain3D::get_displacement_scale);
12211221
ClassDB::bind_method(D_METHOD("set_displacement_sharpness", "sharpness"), &Terrain3D::set_displacement_sharpness);
12221222
ClassDB::bind_method(D_METHOD("get_displacement_sharpness"), &Terrain3D::get_displacement_sharpness);
1223-
ClassDB::bind_method(D_METHOD("enable_buffer_shader_override", "enabled"), &Terrain3D::enable_buffer_shader_override);
1223+
ClassDB::bind_method(D_METHOD("set_buffer_shader_override_enabled", "enabled"), &Terrain3D::set_buffer_shader_override_enabled);
12241224
ClassDB::bind_method(D_METHOD("is_buffer_shader_override_enabled"), &Terrain3D::is_buffer_shader_override_enabled);
12251225
ClassDB::bind_method(D_METHOD("set_buffer_shader_override", "shader"), &Terrain3D::set_buffer_shader_override);
12261226
ClassDB::bind_method(D_METHOD("get_buffer_shader_override"), &Terrain3D::get_buffer_shader_override);
@@ -1320,18 +1320,18 @@ void Terrain3D::_bind_methods() {
13201320
ADD_PROPERTY(PropertyInfo(Variant::INT, "collision_mode", PROPERTY_HINT_ENUM, "Disabled,Dynamic / Game,Dynamic / Editor,Full / Game,Full / Editor"), "set_collision_mode", "get_collision_mode");
13211321
ADD_PROPERTY(PropertyInfo(Variant::INT, "collision_shape_size", PROPERTY_HINT_RANGE, "8,64,8"), "set_collision_shape_size", "get_collision_shape_size");
13221322
ADD_PROPERTY(PropertyInfo(Variant::INT, "collision_radius", PROPERTY_HINT_RANGE, "16,256,16"), "set_collision_radius", "get_collision_radius");
1323+
ADD_PROPERTY(PropertyInfo(Variant::OBJECT, "collision_target", PROPERTY_HINT_NODE_TYPE, "Node3D", PROPERTY_USAGE_DEFAULT, "Node3D"), "set_collision_target", "get_collision_target");
13231324
ADD_PROPERTY(PropertyInfo(Variant::INT, "collision_layer", PROPERTY_HINT_LAYERS_3D_PHYSICS), "set_collision_layer", "get_collision_layer");
13241325
ADD_PROPERTY(PropertyInfo(Variant::INT, "collision_mask", PROPERTY_HINT_LAYERS_3D_PHYSICS), "set_collision_mask", "get_collision_mask");
13251326
ADD_PROPERTY(PropertyInfo(Variant::FLOAT, "collision_priority", PROPERTY_HINT_RANGE, "0.1,256,.1"), "set_collision_priority", "get_collision_priority");
13261327
ADD_PROPERTY(PropertyInfo(Variant::OBJECT, "physics_material", PROPERTY_HINT_RESOURCE_TYPE, "PhysicsMaterial"), "set_physics_material", "get_physics_material");
1327-
ADD_PROPERTY(PropertyInfo(Variant::OBJECT, "collision_target", PROPERTY_HINT_NODE_TYPE, "Node3D", PROPERTY_USAGE_DEFAULT, "Node3D"), "set_collision_target", "get_collision_target");
13281328

1329-
ADD_GROUP("Clipmap Mesh", "");
1329+
ADD_GROUP("Terrain Mesh", "");
1330+
ADD_PROPERTY(PropertyInfo(Variant::OBJECT, "clipmap_target", PROPERTY_HINT_NODE_TYPE, "Node3D", PROPERTY_USAGE_DEFAULT, "Node3D"), "set_clipmap_target", "get_clipmap_target");
13301331
ADD_PROPERTY(PropertyInfo(Variant::INT, "mesh_lods", PROPERTY_HINT_RANGE, "1,10,1"), "set_mesh_lods", "get_mesh_lods");
13311332
ADD_PROPERTY(PropertyInfo(Variant::INT, "mesh_size", PROPERTY_HINT_RANGE, "8,256,2"), "set_mesh_size", "get_mesh_size");
1332-
ADD_PROPERTY(PropertyInfo(Variant::INT, "tessellation_level", PROPERTY_HINT_RANGE, "0,6,1"), "set_tessellation_level", "get_tessellation_level");
13331333
ADD_PROPERTY(PropertyInfo(Variant::FLOAT, "vertex_spacing", PROPERTY_HINT_RANGE, "0.25,10.0,0.05,or_greater"), "set_vertex_spacing", "get_vertex_spacing");
1334-
ADD_PROPERTY(PropertyInfo(Variant::OBJECT, "clipmap_target", PROPERTY_HINT_NODE_TYPE, "Node3D", PROPERTY_USAGE_DEFAULT, "Node3D"), "set_clipmap_target", "get_clipmap_target");
1334+
ADD_PROPERTY(PropertyInfo(Variant::INT, "tessellation_level", PROPERTY_HINT_RANGE, "0,6,1"), "set_tessellation_level", "get_tessellation_level");
13351335
ADD_SUBGROUP("Displacement", "");
13361336
ADD_PROPERTY(PropertyInfo(Variant::FLOAT, "displacement_scale", PROPERTY_HINT_RANGE, "0.0, 2.0, 0.01"), "set_displacement_scale", "get_displacement_scale");
13371337
ADD_PROPERTY(PropertyInfo(Variant::FLOAT, "displacement_sharpness", PROPERTY_HINT_RANGE, "0.0, 1.0, 0.01"), "set_displacement_sharpness", "get_displacement_sharpness");

src/terrain_3d.h

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -175,24 +175,24 @@ class Terrain3D : public Node3D {
175175
int get_label_size() const { return _label_size; }
176176
void update_region_labels();
177177

178-
// Mesh
178+
// Terrain Mesh
179179
void set_mesh_lods(const int p_count);
180180
int get_mesh_lods() const { return _mesh_lods; }
181181
void set_mesh_size(const int p_size);
182182
int get_mesh_size() const { return _mesh_size; }
183-
void set_tessellation_level(const int p_level);
184-
int get_tessellation_level() const { return _tessellation_level; }
185183
void set_vertex_spacing(const real_t p_spacing);
186184
real_t get_vertex_spacing() const { return _vertex_spacing; }
185+
void set_tessellation_level(const int p_level);
186+
int get_tessellation_level() const { return _tessellation_level; }
187187

188188
// Material Displacement Aliases
189189
void set_displacement_scale(const real_t p_displacement_scale) { _material.is_valid() ? _material->set_displacement_scale(p_displacement_scale) : void(); }
190190
real_t get_displacement_scale() const { return _material.is_valid() ? _material->get_displacement_scale() : 1.f; }
191191
void set_displacement_sharpness(const real_t p_displacement_sharpness) { _material.is_valid() ? _material->set_displacement_sharpness(p_displacement_sharpness) : void(); }
192192
real_t get_displacement_sharpness() const { return _material.is_valid() ? _material->get_displacement_sharpness() : 0.25f; }
193-
void enable_buffer_shader_override(const bool p_enabled) { _material.is_valid() ? _material->enable_buffer_shader_override(p_enabled) : void(); }
193+
void set_buffer_shader_override_enabled(const bool p_enabled) { _material.is_valid() ? _material->set_buffer_shader_override_enabled(p_enabled) : void(); }
194194
bool is_buffer_shader_override_enabled() const { return _material.is_valid() ? _material->is_buffer_shader_override_enabled() : false; }
195-
void set_buffer_shader_override(const Ref<Shader> &p_shader) { return _material.is_valid() ? _material->set_buffer_shader_override(p_shader) : void();}
195+
void set_buffer_shader_override(const Ref<Shader> &p_shader) { return _material.is_valid() ? _material->set_buffer_shader_override(p_shader) : void(); }
196196
Ref<Shader> get_buffer_shader_override() const { return _material.is_valid() ? _material->get_buffer_shader_override() : Ref<Shader>(); }
197197

198198
// Rendering

src/terrain_3d_material.cpp

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -759,7 +759,7 @@ void Terrain3DMaterial::set_shader_override(const Ref<Shader> &p_shader) {
759759
_update_shader();
760760
}
761761

762-
void Terrain3DMaterial::enable_buffer_shader_override(const bool p_enabled) {
762+
void Terrain3DMaterial::set_buffer_shader_override_enabled(const bool p_enabled) {
763763
LOG(INFO, "Enable shader override: ", p_enabled);
764764
_buffer_shader_override_enabled = p_enabled;
765765
if (_buffer_shader_override_enabled && _buffer_shader_override.is_null()) {
@@ -945,7 +945,6 @@ Error Terrain3DMaterial::save(const String &p_path) {
945945
}
946946
}
947947

948-
949948
// Remove saved shader params that don't exist in either shader
950949
Array keys = _shader_params.keys();
951950
for (const StringName &name : keys) {
@@ -1180,7 +1179,7 @@ void Terrain3DMaterial::_bind_methods() {
11801179
ClassDB::bind_method(D_METHOD("set_shader_override", "shader"), &Terrain3DMaterial::set_shader_override);
11811180
ClassDB::bind_method(D_METHOD("get_shader_override"), &Terrain3DMaterial::get_shader_override);
11821181

1183-
ClassDB::bind_method(D_METHOD("enable_buffer_shader_override", "enabled"), &Terrain3DMaterial::enable_buffer_shader_override);
1182+
ClassDB::bind_method(D_METHOD("set_buffer_shader_override_enabled", "enabled"), &Terrain3DMaterial::set_buffer_shader_override_enabled);
11841183
ClassDB::bind_method(D_METHOD("is_buffer_shader_override_enabled"), &Terrain3DMaterial::is_buffer_shader_override_enabled);
11851184
ClassDB::bind_method(D_METHOD("set_buffer_shader_override", "shader"), &Terrain3DMaterial::set_buffer_shader_override);
11861185
ClassDB::bind_method(D_METHOD("get_buffer_shader_override"), &Terrain3DMaterial::get_buffer_shader_override);

src/terrain_3d_material.h

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -126,7 +126,7 @@ class Terrain3DMaterial : public Resource {
126126
void set_shader_override(const Ref<Shader> &p_shader);
127127
Ref<Shader> get_shader_override() const { return _shader_override; }
128128

129-
void enable_buffer_shader_override(const bool p_enabled);
129+
void set_buffer_shader_override_enabled(const bool p_enabled);
130130
bool is_buffer_shader_override_enabled() const { return _buffer_shader_override_enabled; }
131131
void set_buffer_shader_override(const Ref<Shader> &p_shader);
132132
Ref<Shader> get_buffer_shader_override() const { return _buffer_shader_override; }
@@ -171,7 +171,7 @@ class Terrain3DMaterial : public Resource {
171171
bool get_show_roughmap() const { return _debug_view_roughmap; }
172172
void set_show_displacement_buffer(const bool p_enabled);
173173
bool get_show_displacement_buffer() const { return _debug_view_displacement_buffer; }
174-
174+
175175
// PBR Views
176176
void set_show_texture_albedo(const bool p_enabled);
177177
bool get_show_texture_albedo() const { return _pbr_view_tex_albedo; }

0 commit comments

Comments
 (0)