diff --git a/world/default/voxel_world_default.cpp b/world/default/voxel_world_default.cpp index dbd867c..ce6ce54 100644 --- a/world/default/voxel_world_default.cpp +++ b/world/default/voxel_world_default.cpp @@ -183,27 +183,38 @@ Ref VoxelWorldDefault::_create_chunk(int x, int y, int z, Refjob_get_count() == 0) { Ref tj; -#if VERSION_MAJOR < 4 tj.instance(); -#else - tj.instantiate(); -#endif Ref lj; -#if VERSION_MAJOR < 4 lj.instance(); -#else - lj.instantiate(); -#endif Ref pj; -#if VERSION_MAJOR < 4 pj.instance(); -#else - pj.instantiate(); -#endif pj->set_prop_mesher(Ref(memnew(VoxelMesherDefault))); + Ref s; + s.instance(); + s->set_job_type(VoxelMesherJobStep::TYPE_NORMAL); + tj->add_jobs_step(s); + + s.instance(); + s->set_job_type(VoxelMesherJobStep::TYPE_NORMAL_LOD); + s->set_lod_index(1); + tj->add_jobs_step(s); + + s.instance(); + s->set_job_type(VoxelMesherJobStep::TYPE_NORMAL_LOD); + s->set_lod_index(2); + tj->add_jobs_step(s); + + s.instance(); + s->set_job_type(VoxelMesherJobStep::TYPE_MERGE_VERTS); + tj->add_jobs_step(s); + + s.instance(); + s->set_job_type(VoxelMesherJobStep::TYPE_BAKE_TEXTURE); + tj->add_jobs_step(s); + chunk->job_add(lj); chunk->job_add(tj); chunk->job_add(pj);