Distributed rendering of single images #104327
@ -156,6 +156,12 @@ def register() -> None:
|
||||
max=100,
|
||||
)
|
||||
|
||||
bpy.types.Scene.flamenco_job_submit_as_paused = bpy.props.BoolProperty(
|
||||
name="Flamenco Job Submit as Paused",
|
||||
description="Whether the job is paused initially; Checked sets the job to `paused`, and Unchecked sets the job to `queued`",
|
||||
default=False,
|
||||
)
|
||||
|
||||
preferences.register()
|
||||
worker_tags.register()
|
||||
operators.register()
|
||||
|
@ -42,6 +42,7 @@ class FLAMENCO_PT_job_submission(bpy.types.Panel):
|
||||
col = layout.column(align=True)
|
||||
col.prop(context.scene, "flamenco_job_name", text="Job Name")
|
||||
col.prop(context.scene, "flamenco_job_priority", text="Priority")
|
||||
col.prop(context.scene, "flamenco_job_submit_as_paused", text="Submit as Paused")
|
||||
|
||||
# Refreshables:
|
||||
col = layout.column(align=True)
|
||||
|
@ -33,6 +33,7 @@ log = logging.getLogger(__name__)
|
||||
|
||||
def job_for_scene(scene: bpy.types.Scene) -> Optional[_SubmittedJob]:
|
||||
from flamenco.manager.models import SubmittedJob, JobMetadata
|
||||
from flamenco.manager.model.job_status import JobStatus
|
||||
|
||||
propgroup = getattr(scene, "flamenco_job_settings", None)
|
||||
assert isinstance(propgroup, JobTypePropertyGroup), "did not expect %s" % (
|
||||
@ -44,6 +45,12 @@ def job_for_scene(scene: bpy.types.Scene) -> Optional[_SubmittedJob]:
|
||||
|
||||
priority = getattr(scene, "flamenco_job_priority", 50)
|
||||
|
||||
submit_as_paused = getattr(scene, "flamenco_job_submit_as_paused", False)
|
||||
if submit_as_paused:
|
||||
initial_status = JobStatus("paused")
|
||||
else:
|
||||
initial_status = JobStatus("queued")
|
||||
|
||||
job: SubmittedJob = SubmittedJob(
|
||||
name=scene.flamenco_job_name,
|
||||
type=propgroup.job_type.name,
|
||||
@ -52,6 +59,7 @@ def job_for_scene(scene: bpy.types.Scene) -> Optional[_SubmittedJob]:
|
||||
metadata=metadata,
|
||||
submitter_platform=platform.system().lower(),
|
||||
type_etag=propgroup.job_type.etag,
|
||||
initial_status=initial_status,
|
||||
)
|
||||
|
||||
worker_tag: str = getattr(scene, "flamenco_worker_tag", "")
|
||||
|
@ -224,3 +224,13 @@ well, and thus `\` becomes `\\`.
|
||||
In other words, even though it looks strange, this is not a bug in Flamenco. The
|
||||
aim is to prevent you from seeing these doublings as little as possible, but
|
||||
unfortunately it cannot always be avoided.
|
||||
|
||||
### Assets are missing!
|
||||
|
||||
When your blend file references your assets (textures, linked blend files, etc.)
|
||||
with an absolute path, **Flamenco assumes that this path is valid for all
|
||||
Workers, and will not copy those assets to the shared storage.** This makes it
|
||||
possible to store large files, like simulation caches, on the shared storage,
|
||||
without Flamenco creating a copy for each render job.
|
||||
|
||||
Read more on this in [Absolute vs. Relative Paths](/usage/shared-storage/#absolute-vs-relative-paths).
|
||||
|
@ -92,3 +92,26 @@ have arrived on a specific worker, without waiting for *all* syncing to be
|
||||
completed (as someone may have just submitted another job).
|
||||
|
||||
[jobtypes]: {{< ref "/usage/job-types" >}}
|
||||
|
||||
## Absolute vs. Relative Paths
|
||||
|
||||
Blender can reference assets (textures, linked blend files, etc.) in two ways:
|
||||
|
||||
- by **relative path**, like `//textures\my-favourite-brick.exr`, which is relative to the blend file, or
|
||||
- by **absolute path**, like `D:\texture-library\my-favourite-brick.exr`, which is the full path of the file.
|
||||
|
||||
When an asset is referenced by an absolute path, **Flamenco assumes that this
|
||||
path is valid for all Workers, and will not copy those assets to the shared
|
||||
storage.** This makes it possible to store large files, like simulation caches,
|
||||
on the shared storage, without Flamenco creating a copy for each render job.
|
||||
|
||||
{{< hint type=Warning >}} On Windows it is not possible to construct a relative
|
||||
path to an asset when that asset is no a different drive than the main blend
|
||||
file. If you still want Flamenco to copy such assets, there are two workarounds:
|
||||
|
||||
- Move your asset libraries to the same drive as your Blender projects.
|
||||
- Use [symbolic links][symlinks-guide-windows] to make your assets available at
|
||||
a suitable path.
|
||||
|
||||
[symlinks-guide-windows]: https://www.howtogeek.com/16226/complete-guide-to-symbolic-links-symlinks-on-windows-or-linux/
|
||||
{{< /hint >}}
|
||||
|
Loading…
Reference in New Issue
Block a user