diff options
| -rw-r--r-- | modules/thekla_unwrap/register_types.cpp | 7 | ||||
| -rw-r--r-- | thirdparty/thekla_atlas/nvmesh/param/AtlasPacker.cpp | 6 | 
2 files changed, 12 insertions, 1 deletions
diff --git a/modules/thekla_unwrap/register_types.cpp b/modules/thekla_unwrap/register_types.cpp index da6c1bab2a..8420a1beaf 100644 --- a/modules/thekla_unwrap/register_types.cpp +++ b/modules/thekla_unwrap/register_types.cpp @@ -28,7 +28,9 @@  /* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.                */  /*************************************************************************/  #include "register_types.h" +#include "error_macros.h"  #include "thirdparty/thekla_atlas/thekla/thekla_atlas.h" +  #include <stdio.h>  #include <stdlib.h>  extern bool (*array_mesh_lightmap_unwrap_callback)(float p_texel_size, const float *p_vertices, const float *p_normals, int p_vertex_count, const int *p_indices, const int *p_face_materials, int p_index_count, float **r_uv, int **r_vertex, int *r_vertex_count, int **r_index, int *r_index_count, int *r_size_hint_x, int *r_size_hint_y); @@ -74,6 +76,11 @@ bool thekla_mesh_lightmap_unwrap_callback(float p_texel_size, const float *p_ver  	delete[] input_mesh.face_array;  	delete[] input_mesh.vertex_array; +	if (output == NULL) { +		ERR_PRINT("could not generate atlas output mesh"); +		return false; +	} +  	if (err != Thekla::Atlas_Error_Success) {  		printf("error with atlas\n");  	} else { diff --git a/thirdparty/thekla_atlas/nvmesh/param/AtlasPacker.cpp b/thirdparty/thekla_atlas/nvmesh/param/AtlasPacker.cpp index fd37b8c59c..11e635db17 100644 --- a/thirdparty/thekla_atlas/nvmesh/param/AtlasPacker.cpp +++ b/thirdparty/thekla_atlas/nvmesh/param/AtlasPacker.cpp @@ -467,7 +467,11 @@ void AtlasPacker::packCharts(int quality, float texelsPerUnit, bool blockAligned                      nvDebug("origin: %f %f\n", origin.x, origin.y);                      nvDebug("majorAxis: %f %f\n", majorAxis.x, majorAxis.y);                      nvDebug("minorAxis: %f %f\n", minorAxis.x, minorAxis.y); -                    nvDebugBreak(); +                    // -- GODOT start -- +                    //nvDebugBreak(); +                    m_atlas->setFailed(); +                    return; +                    // -- GODOT end --                  }                  //nvCheck(tmp.x >= 0 && tmp.y >= 0);  |