Make baked colors work on every lod types.

This commit is contained in:
Relintai 2021-04-19 18:15:36 +02:00
parent 0836917f72
commit a3c81f4d0c

View File

@ -194,13 +194,13 @@ void TerraTerrarinJob::phase_terrarin_mesh() {
}
if ((chunk->get_build_flags() & TerraChunkDefault::BUILD_FLAG_USE_LIGHTING) != 0) {
if (should_do()) {
_mesher->bake_colors(_chunk);
//if (should_do()) {
// _mesher->bake_colors(_chunk);
if (should_return()) {
return;
}
}
// if (should_return()) {
// return;
// }
//}
if (should_do()) {
if (_liquid_mesher.is_valid()) {
@ -431,10 +431,15 @@ void TerraTerrarinJob::_physics_process(float delta) {
}
void TerraTerrarinJob::step_type_normal() {
temp_mesh_arr = _mesher->build_mesh();
Ref<TerraChunkDefault> chunk = _chunk;
//TODO make this automatic in build_mesh
if ((chunk->get_build_flags() & TerraChunkDefault::BUILD_FLAG_USE_LIGHTING) != 0) {
_mesher->bake_colors(_chunk);
}
temp_mesh_arr = _mesher->build_mesh();
RID mesh_rid = chunk->mesh_rid_get_index(TerraChunkDefault::MESH_INDEX_TERRARIN, TerraChunkDefault::MESH_TYPE_INDEX_MESH, _current_mesh);
VS::get_singleton()->mesh_add_surface_from_arrays(mesh_rid, VisualServer::PRIMITIVE_TRIANGLES, temp_mesh_arr);
@ -457,12 +462,18 @@ void TerraTerrarinJob::step_type_normal_lod() {
ERR_FAIL_COND(!step.is_valid());
Ref<TerraChunkDefault> chunk = _chunk;
mesher->set_lod_index(step->get_lod_index());
_mesher->reset();
_mesher->add_chunk(_chunk);
temp_mesh_arr = _mesher->build_mesh();
Ref<TerraChunkDefault> chunk = _chunk;
//TODO make this automatic in build_mesh
if ((chunk->get_build_flags() & TerraChunkDefault::BUILD_FLAG_USE_LIGHTING) != 0) {
_mesher->bake_colors(_chunk);
}
temp_mesh_arr = _mesher->build_mesh();
RID mesh_rid = chunk->mesh_rid_get_index(TerraChunkDefault::MESH_INDEX_TERRARIN, TerraChunkDefault::MESH_TYPE_INDEX_MESH, _current_mesh);