diff --git a/crates/lib/mysql_queries/src/payloads/generic_inference_args/render_engine_scene_to_video_payload.rs b/crates/lib/mysql_queries/src/payloads/generic_inference_args/render_engine_scene_to_video_payload.rs index 66c41553ae..481684fa0a 100644 --- a/crates/lib/mysql_queries/src/payloads/generic_inference_args/render_engine_scene_to_video_payload.rs +++ b/crates/lib/mysql_queries/src/payloads/generic_inference_args/render_engine_scene_to_video_payload.rs @@ -7,5 +7,8 @@ pub struct RenderEngineSceneToVideoArgs { #[serde(rename = "s")] #[serde(skip_serializing_if = "Option::is_none")] pub camera_speed: Option, -} + #[serde(rename = "b")] + #[serde(skip_serializing_if = "Option::is_none")] + pub skybox: Option, +} diff --git a/crates/service/job/inference_job/src/job/job_types/render_engine_scene/render_engine_scene_to_video/command_args.rs b/crates/service/job/inference_job/src/job/job_types/render_engine_scene/render_engine_scene_to_video/command_args.rs index e66d0ed1d6..ccd984ca60 100644 --- a/crates/service/job/inference_job/src/job/job_types/render_engine_scene/render_engine_scene_to_video/command_args.rs +++ b/crates/service/job/inference_job/src/job/job_types/render_engine_scene/render_engine_scene_to_video/command_args.rs @@ -8,6 +8,7 @@ pub struct RenderEngineSceneToVideoCommandArgs<'a> { pub output_directory: &'a Path, pub maybe_camera: Option<&'a str>, pub maybe_camera_speed: Option, + pub maybe_skybox: Option<&'a str>, } impl CommandArgs for RenderEngineSceneToVideoCommandArgs<'_> { @@ -32,6 +33,12 @@ impl CommandArgs for RenderEngineSceneToVideoCommandArgs<'_> { command.push_str(" "); } + if let Some(skybox) = self.maybe_skybox { + command.push_str(" -b "); + command.push_str(skybox); + command.push_str(" "); + } + command } } diff --git a/crates/service/job/inference_job/src/job/job_types/render_engine_scene/render_engine_scene_to_video/process_job.rs b/crates/service/job/inference_job/src/job/job_types/render_engine_scene/render_engine_scene_to_video/process_job.rs index f64a829cf2..30268c6448 100644 --- a/crates/service/job/inference_job/src/job/job_types/render_engine_scene/render_engine_scene_to_video/process_job.rs +++ b/crates/service/job/inference_job/src/job/job_types/render_engine_scene/render_engine_scene_to_video/process_job.rs @@ -120,10 +120,12 @@ pub async fn process_job(args: BvhToWorkflowJobArgs<'_>) -> Result) -> Result, + + /// A skybox color or name (optional) + skybox: Option, } @@ -235,6 +238,13 @@ pub async fn enqueue_render_engine_scene_to_video_handler( maybe_args = Some(args); } + if let Some(skybox) = request.skybox.as_deref() { + let mut args = maybe_args + .unwrap_or(RenderEngineSceneToVideoArgs::default()); + args.skybox = Some(skybox.to_string()); + maybe_args = Some(args); + } + let maybe_args = maybe_args.map(|args| PolymorphicInferenceArgs::Es(args)); let query_result = insert_generic_inference_job(InsertGenericInferenceArgs {