X-Git-Url: http://git.tdb.fi/?p=libs%2Fgl.git;a=blobdiff_plain;f=blender%2Fio_mspgl%2Fexport_object.py;h=b911ed362bb242bc84f7f040a7ac25b90ac3e99a;hp=b910add12fad3ed86ef397861de92fc8bb6a50b9;hb=84269f7b598673b06757313d70934a1747045b69;hpb=7d7a8f9e77a526fd5f2920b9005805e56a4b686c diff --git a/blender/io_mspgl/export_object.py b/blender/io_mspgl/export_object.py index b910add1..b911ed36 100644 --- a/blender/io_mspgl/export_object.py +++ b/blender/io_mspgl/export_object.py @@ -1,4 +1,5 @@ import os +import mathutils def linear_to_srgb(l): if l<0.0031308: @@ -48,6 +49,18 @@ class ObjectExporter: from .outfile import open_output out_file = open_output(out_file) + p1 = max(((v.co, v.co.length) for v in obj.data.vertices), key=lambda x:x[1])[0] + p2 = max(((v.co, (v.co-p1).length) for v in obj.data.vertices), key=lambda x:x[1])[0] + center = (p1+p2)/2 + radius = (p1-p2).length/2 + for v in obj.data.vertices: + d = v.co-center + if d.length>radius: + center += d*(1-radius/d.length)/2 + radius = (radius+d.length)/2 + + out_file.write("bounding_sphere_hint", center[0], center[1], center[2], radius) + prev_mesh = None prev_tech = (None, None) for i, l in enumerate(lods):