[Bf-blender-cvs] [a9c8425de8e] universal-scene-description: Merge master into universal-scene-description.
Michael Kowalski
noreply at git.blender.org
Fri Mar 25 19:27:00 CET 2022
Commit: a9c8425de8e11fb5007097fc5ed08c68373c5e7f
Author: Michael Kowalski
Date: Fri Mar 25 13:13:23 2022 -0400
Branches: universal-scene-description
https://developer.blender.org/rBa9c8425de8e11fb5007097fc5ed08c68373c5e7f
Merge master into universal-scene-description.
Merge commit '923b28aab85768e2b4aff89494c321028252cf1e'.
===================================================================
===================================================================
diff --cc source/blender/editors/io/io_usd.c
index 0a1441b3dd1,c4f1ae88d28..a98b4f23f83
--- a/source/blender/editors/io/io_usd.c
+++ b/source/blender/editors/io/io_usd.c
@@@ -235,288 -109,85 +219,294 @@@ static int wm_usd_export_exec(bContext
const bool visible_objects_only = RNA_boolean_get(op->ptr, "visible_objects_only");
const bool export_animation = RNA_boolean_get(op->ptr, "export_animation");
const bool export_hair = RNA_boolean_get(op->ptr, "export_hair");
+ const bool export_vertices = RNA_boolean_get(op->ptr, "export_vertices");
+ const bool export_vertex_colors = RNA_boolean_get(op->ptr, "export_vertex_colors");
+ const bool export_vertex_groups = RNA_boolean_get(op->ptr, "export_vertex_groups");
+ const bool export_face_maps = RNA_boolean_get(op->ptr, "export_face_maps");
const bool export_uvmaps = RNA_boolean_get(op->ptr, "export_uvmaps");
const bool export_normals = RNA_boolean_get(op->ptr, "export_normals");
+ const bool export_transforms = RNA_boolean_get(op->ptr, "export_transforms");
const bool export_materials = RNA_boolean_get(op->ptr, "export_materials");
+ const bool export_meshes = RNA_boolean_get(op->ptr, "export_meshes");
+ const bool export_lights = RNA_boolean_get(op->ptr, "export_lights");
+ const bool export_cameras = RNA_boolean_get(op->ptr, "export_cameras");
+ const bool export_curves = RNA_boolean_get(op->ptr, "export_curves");
+ const bool export_particles = RNA_boolean_get(op->ptr, "export_particles");
const bool use_instancing = RNA_boolean_get(op->ptr, "use_instancing");
const bool evaluation_mode = RNA_enum_get(op->ptr, "evaluation_mode");
-
const bool generate_preview_surface = RNA_boolean_get(op->ptr, "generate_preview_surface");
- const bool export_textures = RNA_boolean_get(op->ptr, "export_textures");
+ const bool convert_uv_to_st = RNA_boolean_get(op->ptr, "convert_uv_to_st");
+ const bool convert_orientation = RNA_boolean_get(op->ptr, "convert_orientation");
+ const bool export_child_particles = RNA_boolean_get(op->ptr, "export_child_particles");
+ const bool export_as_overs = RNA_boolean_get(op->ptr, "export_as_overs");
+ const bool merge_transform_and_shape = RNA_boolean_get(op->ptr, "merge_transform_and_shape");
+ const bool export_custom_properties = RNA_boolean_get(op->ptr, "export_custom_properties");
+ const bool add_properties_namespace = RNA_boolean_get(op->ptr, "add_properties_namespace");
+ const bool export_identity_transforms = RNA_boolean_get(op->ptr, "export_identity_transforms");
+ const bool apply_subdiv = RNA_boolean_get(op->ptr, "apply_subdiv");
+ const bool author_blender_name = RNA_boolean_get(op->ptr, "author_blender_name");
+ const bool vertex_data_as_face_varying = RNA_boolean_get(op->ptr, "vertex_data_as_face_varying");
+ const float frame_step = RNA_float_get(op->ptr, "frame_step");
+
+ const bool override_shutter = RNA_boolean_get(op->ptr, "override_shutter");
+ const double shutter_open = (double)RNA_float_get(op->ptr, "shutter_open");
+ const double shutter_close = (double)RNA_float_get(op->ptr, "shutter_close");
+
+ // This default prim path is not sanitized. This happens in usd_capi.cc
+ char *default_prim_path = RNA_string_get_alloc(op->ptr, "default_prim_path", NULL, 0, NULL);
+
+ default_prim_path = usd_ensure_prim_path(default_prim_path);
+
+ char *root_prim_path = RNA_string_get_alloc(op->ptr, "root_prim_path", NULL, 0, NULL);
+
+ // Do not allow / path
+ if (root_prim_path[0] == '/' && strlen(root_prim_path) == 1)
+ root_prim_path[0] = '\0';
+
+ root_prim_path = usd_ensure_prim_path(root_prim_path);
+
+ char *material_prim_path = RNA_string_get_alloc(op->ptr, "material_prim_path", NULL, 0, NULL);
+
+ material_prim_path = usd_ensure_prim_path(material_prim_path);
+
+ int global_forward = RNA_enum_get(op->ptr, "export_global_forward_selection");
+ int global_up = RNA_enum_get(op->ptr, "export_global_up_selection");
+
+ bool export_textures = RNA_boolean_get(op->ptr, "export_textures");
+
+ bool relative_texture_paths = RNA_boolean_get(op->ptr, "relative_texture_paths");
+
+ const bool backward_compatible = true;
+
+ const float light_intensity_scale = RNA_float_get(op->ptr, "light_intensity_scale");
+
+ const bool generate_mdl = USD_umm_module_loaded() ? RNA_boolean_get(op->ptr, "generate_mdl") :
+ false;
+
+ const bool convert_to_cm = RNA_boolean_get(op->ptr, "convert_to_cm");
+
+ const bool convert_light_to_nits = RNA_boolean_get(op->ptr, "convert_light_to_nits");
+
+ const bool scale_light_radius = RNA_boolean_get(op->ptr, "scale_light_radius");
+
+ const bool convert_world_material = RNA_boolean_get(op->ptr, "convert_world_material");
+
+ const bool generate_cycles_shaders = RNA_boolean_get(op->ptr, "generate_cycles_shaders");
+
+ const bool export_armatures = RNA_boolean_get(op->ptr, "export_armatures");
+
+ const eUSDXformOpMode xform_op_mode = RNA_enum_get(op->ptr, "xform_op_mode");
+
- const bool fix_skel_root = RNA_boolean_get(op->ptr, "fix_skel_root");;
++ const bool fix_skel_root = RNA_boolean_get(op->ptr, "fix_skel_root");
++
+ const bool overwrite_textures = RNA_boolean_get(op->ptr, "overwrite_textures");
- const bool relative_texture_paths = RNA_boolean_get(op->ptr, "relative_texture_paths");
-
- struct USDExportParams params = {
- export_animation,
- export_hair,
- export_uvmaps,
- export_normals,
- export_materials,
- selected_objects_only,
- visible_objects_only,
- use_instancing,
- evaluation_mode,
- generate_preview_surface,
- export_textures,
- overwrite_textures,
- relative_texture_paths,
- };
+
+ struct USDExportParams params = {RNA_int_get(op->ptr, "start"),
+ RNA_int_get(op->ptr, "end"),
+ export_animation,
+ export_hair,
+ export_vertices,
+ export_vertex_colors,
+ export_vertex_groups,
+ export_face_maps,
+ export_uvmaps,
+ export_normals,
+ export_transforms,
+ export_materials,
+ export_meshes,
+ export_lights,
+ export_cameras,
+ export_curves,
+ export_particles,
+ selected_objects_only,
+ visible_objects_only,
+ use_instancing,
+ evaluation_mode,
+ default_prim_path,
+ root_prim_path,
+ material_prim_path,
+ generate_preview_surface,
+ convert_uv_to_st,
+ convert_orientation,
+ global_forward,
+ global_up,
+ export_child_particles,
+ export_as_overs,
+ merge_transform_and_shape,
+ export_custom_properties,
+ add_properties_namespace,
+ export_identity_transforms,
+ apply_subdiv,
+ author_blender_name,
+ vertex_data_as_face_varying,
+ frame_step,
+ override_shutter,
+ shutter_open,
+ shutter_close,
+ export_textures,
+ relative_texture_paths,
+ backward_compatible,
+ light_intensity_scale,
+ generate_mdl,
+ convert_to_cm,
+ convert_light_to_nits,
+ scale_light_radius,
+ convert_world_material,
+ generate_cycles_shaders,
+ export_armatures,
+ xform_op_mode,
- fix_skel_root};
++ fix_skel_root,
++ overwrite_textures};
+
+ /* Take some defaults from the scene, if not specified explicitly. */
+ Scene *scene = CTX_data_scene(C);
+ if (params.frame_start == INT_MIN) {
+ params.frame_start = SFRA;
+ }
+ if (params.frame_end == INT_MIN) {
+ params.frame_end = EFRA;
+ }
bool ok = USD_export(C, filename, ¶ms, as_background_job);
return as_background_job || ok ? OPERATOR_FINISHED : OPERATOR_CANCELLED;
}
-static void wm_usd_export_draw(bContext *UNUSED(C), wmOperator *op)
+static void wm_usd_export_draw(bContext *C, wmOperator *op)
{
uiLayout *layout = op->layout;
- uiLayout *col;
+ uiLayout *box;
struct PointerRNA *ptr = op->ptr;
+ /* Conveniently set start and end frame to match the scene's frame range. */
+ Scene *scene = CTX_data_scene(C);
+
+ if (scene != NULL && RNA_boolean_get(ptr, "init_scene_frame_range")) {
+ RNA_int_set(ptr, "start", SFRA);
+ RNA_int_set(ptr, "end", EFRA);
+
+ RNA_boolean_set(ptr, "init_scene_frame_range", false);
+ }
+
uiLayoutSetPropSep(layout, true);
- uiLayout *box = uiLayoutBox(layout);
+ box = uiLayoutBox(layout);
+ uiItemL(box, IFACE_("USD Export"), ICON_NONE);
+ uiItemR(box, ptr, "evaluatio
@@ Diff output truncated at 10240 characters. @@
More information about the Bf-blender-cvs
mailing list