UV Export: Allow larger sizes to be exported #104946

Open
Jesse Yurkovich wants to merge 2 commits from deadpin/blender-addons:uvexport-large into blender-v4.0-release

When changing the target branch, be careful to rebase the branch in your fork to match. See documentation.
2 changed files with 14 additions and 7 deletions

View File

@ -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'}

View File

@ -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()