mirror of
https://github.com/Relintai/terraman.git
synced 2025-05-01 22:07:59 +02:00
Make baked colors work on every lod types.
This commit is contained in:
parent
0836917f72
commit
a3c81f4d0c
@ -194,13 +194,13 @@ void TerraTerrarinJob::phase_terrarin_mesh() {
|
|||||||
}
|
}
|
||||||
|
|
||||||
if ((chunk->get_build_flags() & TerraChunkDefault::BUILD_FLAG_USE_LIGHTING) != 0) {
|
if ((chunk->get_build_flags() & TerraChunkDefault::BUILD_FLAG_USE_LIGHTING) != 0) {
|
||||||
if (should_do()) {
|
//if (should_do()) {
|
||||||
_mesher->bake_colors(_chunk);
|
// _mesher->bake_colors(_chunk);
|
||||||
|
|
||||||
if (should_return()) {
|
// if (should_return()) {
|
||||||
return;
|
// return;
|
||||||
}
|
// }
|
||||||
}
|
//}
|
||||||
|
|
||||||
if (should_do()) {
|
if (should_do()) {
|
||||||
if (_liquid_mesher.is_valid()) {
|
if (_liquid_mesher.is_valid()) {
|
||||||
@ -431,10 +431,15 @@ void TerraTerrarinJob::_physics_process(float delta) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
void TerraTerrarinJob::step_type_normal() {
|
void TerraTerrarinJob::step_type_normal() {
|
||||||
temp_mesh_arr = _mesher->build_mesh();
|
|
||||||
|
|
||||||
Ref<TerraChunkDefault> chunk = _chunk;
|
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);
|
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);
|
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());
|
ERR_FAIL_COND(!step.is_valid());
|
||||||
|
|
||||||
|
Ref<TerraChunkDefault> chunk = _chunk;
|
||||||
|
|
||||||
mesher->set_lod_index(step->get_lod_index());
|
mesher->set_lod_index(step->get_lod_index());
|
||||||
_mesher->reset();
|
_mesher->reset();
|
||||||
_mesher->add_chunk(_chunk);
|
_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);
|
RID mesh_rid = chunk->mesh_rid_get_index(TerraChunkDefault::MESH_INDEX_TERRARIN, TerraChunkDefault::MESH_TYPE_INDEX_MESH, _current_mesh);
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user