UV Export: Allow larger sizes to be exported #104946
@ -75,7 +75,7 @@ class ExportUVLayout(bpy.types.Operator):
|
||||
size: IntVectorProperty(
|
||||
size=2,
|
||||
default=(1024, 1024),
|
||||
min=8, max=32768,
|
||||
min=8, max=65536,
|
||||
description="Dimensions of the exported file",
|
||||
)
|
||||
opacity: FloatProperty(
|
||||
@ -136,10 +136,14 @@ class ExportUVLayout(bpy.types.Operator):
|
||||
obj_eval.to_mesh_clear()
|
||||
|
||||
export = self.get_exporter()
|
||||
export(filepath, polygon_data, different_colors, self.size[0], self.size[1], self.opacity)
|
||||
|
||||
if is_editmode:
|
||||
bpy.ops.object.mode_set(mode='EDIT', toggle=False)
|
||||
try:
|
||||
export(filepath, polygon_data, different_colors, self.size[0], self.size[1], self.opacity)
|
||||
except ValueError as ex:
|
||||
self.report({'ERROR'}, str(ex))
|
||||
return {'CANCELLED'}
|
||||
finally:
|
||||
if is_editmode:
|
||||
bpy.ops.object.mode_set(mode='EDIT', toggle=False)
|
||||
|
||||
return {'FINISHED'}
|
||||
|
||||
|
@ -16,8 +16,11 @@ except ImportError:
|
||||
|
||||
|
||||
def export(filepath, face_data, colors, width, height, opacity):
|
||||
offscreen = gpu.types.GPUOffScreen(width, height)
|
||||
offscreen.bind()
|
||||
try:
|
||||
offscreen = gpu.types.GPUOffScreen(width, height)
|
||||
offscreen.bind()
|
||||
except RuntimeError:
|
||||
raise ValueError("Texture allocation failed. Try using a smaller size for export.")
|
||||
|
||||
try:
|
||||
fb = gpu.state.active_framebuffer_get()
|
||||
|
Loading…
Reference in New Issue
Block a user