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: IntVectorProperty(
size=2, size=2,
default=(1024, 1024), default=(1024, 1024),
min=8, max=32768, min=8, max=65536,
description="Dimensions of the exported file", description="Dimensions of the exported file",
) )
opacity: FloatProperty( opacity: FloatProperty(
@ -136,10 +136,14 @@ class ExportUVLayout(bpy.types.Operator):
obj_eval.to_mesh_clear() obj_eval.to_mesh_clear()
export = self.get_exporter() export = self.get_exporter()
export(filepath, polygon_data, different_colors, self.size[0], self.size[1], self.opacity) try:
export(filepath, polygon_data, different_colors, self.size[0], self.size[1], self.opacity)
if is_editmode: except ValueError as ex:
bpy.ops.object.mode_set(mode='EDIT', toggle=False) self.report({'ERROR'}, str(ex))
return {'CANCELLED'}
finally:
if is_editmode:
bpy.ops.object.mode_set(mode='EDIT', toggle=False)
return {'FINISHED'} return {'FINISHED'}

View File

@ -16,8 +16,11 @@ except ImportError:
def export(filepath, face_data, colors, width, height, opacity): def export(filepath, face_data, colors, width, height, opacity):
offscreen = gpu.types.GPUOffScreen(width, height) try:
offscreen.bind() offscreen = gpu.types.GPUOffScreen(width, height)
offscreen.bind()
except RuntimeError:
raise ValueError("Texture allocation failed. Try using a smaller size for export.")
try: try:
fb = gpu.state.active_framebuffer_get() fb = gpu.state.active_framebuffer_get()