Some small export speed improvements in PsychoBlend.
This commit is contained in:
parent
a3332d4f6a
commit
ef5b573723
|
@ -198,7 +198,8 @@ class PsychoExporter:
|
||||||
self.w.write("Fov [%f]\n" % (degrees(cam.data.angle) * res_x / res_y))
|
self.w.write("Fov [%f]\n" % (degrees(cam.data.angle) * res_x / res_y))
|
||||||
self.w.write("FocalDistance [%f]\n" % dof_distance)
|
self.w.write("FocalDistance [%f]\n" % dof_distance)
|
||||||
self.w.write("ApertureRadius [%f]\n" % (cam.data.psychopath.aperture_radius))
|
self.w.write("ApertureRadius [%f]\n" % (cam.data.psychopath.aperture_radius))
|
||||||
self.set_frame(self.fr, self.shutter_start + (self.shutter_diff*i))
|
if self.time_samples > 1:
|
||||||
|
self.set_frame(self.fr, self.shutter_start + (self.shutter_diff*i))
|
||||||
mat = cam.matrix_world.copy()
|
mat = cam.matrix_world.copy()
|
||||||
mat = mat * matz
|
mat = mat * matz
|
||||||
self.w.write("Transform [%s]\n" % mat2str(mat))
|
self.w.write("Transform [%s]\n" % mat2str(mat))
|
||||||
|
@ -343,13 +344,16 @@ class PsychoExporter:
|
||||||
|
|
||||||
# Collect time samples
|
# Collect time samples
|
||||||
time_meshes = []
|
time_meshes = []
|
||||||
for i in range(self.time_samples):
|
if deform_mb:
|
||||||
# Check if render is cancelled
|
for i in range(self.time_samples):
|
||||||
if self.render_engine.test_break():
|
# Check if render is cancelled
|
||||||
raise ExportCancelled()
|
if self.render_engine.test_break():
|
||||||
self.set_frame(self.fr, self.shutter_start + (self.shutter_diff*i))
|
raise ExportCancelled()
|
||||||
if export_mesh and (deform_mb or i == 0):
|
self.set_frame(self.fr, self.shutter_start + (self.shutter_diff*i))
|
||||||
time_meshes += [ob.to_mesh(self.scene, True, 'RENDER')]
|
if export_mesh and (deform_mb or i == 0):
|
||||||
|
time_meshes += [ob.to_mesh(self.scene, True, 'RENDER')]
|
||||||
|
elif export_mesh:
|
||||||
|
time_meshes += [ob.to_mesh(self.scene, True, 'RENDER')]
|
||||||
|
|
||||||
# Export mesh data if necessary
|
# Export mesh data if necessary
|
||||||
if export_mesh:
|
if export_mesh:
|
||||||
|
@ -367,27 +371,26 @@ class PsychoExporter:
|
||||||
# Write vertices
|
# Write vertices
|
||||||
for ti in range(len(time_meshes)):
|
for ti in range(len(time_meshes)):
|
||||||
self.w.write("Vertices [")
|
self.w.write("Vertices [")
|
||||||
for v in time_meshes[ti].vertices:
|
self.w.write(" ".join([("%f" % i) for vert in time_meshes[ti].vertices for i in vert.co]), False)
|
||||||
self.w.write("%f %f %f " % (v.co[0], v.co[1], v.co[2]), False)
|
|
||||||
self.w.write("]\n", False)
|
self.w.write("]\n", False)
|
||||||
|
|
||||||
# Write face vertex counts
|
# Write face vertex counts
|
||||||
self.w.write("FaceVertCounts [")
|
self.w.write("FaceVertCounts [")
|
||||||
for p in time_meshes[0].polygons:
|
self.w.write(" ".join([("%d" % len(p.vertices)) for p in time_meshes[0].polygons]), False)
|
||||||
self.w.write("%d " % len(p.vertices), False)
|
|
||||||
self.w.write("]\n", False)
|
self.w.write("]\n", False)
|
||||||
|
|
||||||
# Write face vertex indices
|
# Write face vertex indices
|
||||||
self.w.write("FaceVertIndices [")
|
self.w.write("FaceVertIndices [")
|
||||||
for p in time_meshes[0].polygons:
|
self.w.write(" ".join([("%d"%v) for p in time_meshes[0].polygons for v in p.vertices]), False)
|
||||||
for v in p.vertices:
|
|
||||||
self.w.write("%d " % v, False)
|
|
||||||
self.w.write("]\n", False)
|
self.w.write("]\n", False)
|
||||||
|
|
||||||
# MeshSurface/SubdivisionSurface section end
|
# MeshSurface/SubdivisionSurface section end
|
||||||
self.w.unindent()
|
self.w.unindent()
|
||||||
self.w.write("}\n")
|
self.w.write("}\n")
|
||||||
|
|
||||||
|
for mesh in time_meshes:
|
||||||
|
bpy.data.meshes.remove(mesh)
|
||||||
|
|
||||||
return mesh_name
|
return mesh_name
|
||||||
|
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue
Block a user