Add preview shape picker to shader ball; drag controls for node properties
Preview geometry dropdown: Sphere / Cube / Cylinder (native prims), Teapot and Hair (bundled resources/preview/*.usdc - teapot tessellated from the Newell patch data with the Blinn 1.3x height correction, hair as 220 procedural B-spline strands), and Cloud Volume (UsdVolVolume over the OpenVDB bunny_cloud sample, downloaded at CMake configure and gitignored like the HDRIs). Shapes live under one scope with the material bound on it; switching activates one shape and reframes the camera. Missing assets drop out of the dropdown. usdVol added to the USD link set. The camera starts in a Maya-style 3/4 view. Node property values switch from Input* fields back to draggable controls (Ctrl+click to type): live-apply while dragging, one undo command on release. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This commit is contained in:
+34
-1
@@ -606,6 +606,33 @@ foreach(_hdri ${_hdri_files})
|
||||
endif()
|
||||
endforeach()
|
||||
|
||||
# ---------------------------------------------------------------------------
|
||||
# VDB: cloud volume for the shader-ball preview (OpenVDB sample model) at
|
||||
# configure time if not present
|
||||
# ---------------------------------------------------------------------------
|
||||
set(_vdb_dir "${CMAKE_SOURCE_DIR}/resources/vdb")
|
||||
file(MAKE_DIRECTORY "${_vdb_dir}")
|
||||
if(NOT EXISTS "${_vdb_dir}/bunny_cloud.vdb")
|
||||
message(STATUS "Downloading OpenVDB sample bunny_cloud.vdb ...")
|
||||
set(_vdb_zip "${CMAKE_BINARY_DIR}/bunny_cloud.zip")
|
||||
file(DOWNLOAD
|
||||
"https://artifacts.aswf.io/io/aswf/openvdb/models/bunny_cloud.vdb/1.0.0/bunny_cloud.vdb-1.0.0.zip"
|
||||
"${_vdb_zip}"
|
||||
STATUS _vdb_dl_status
|
||||
)
|
||||
list(GET _vdb_dl_status 0 _vdb_dl_code)
|
||||
if(_vdb_dl_code EQUAL 0)
|
||||
execute_process(
|
||||
COMMAND ${CMAKE_COMMAND} -E tar xf "${_vdb_zip}"
|
||||
WORKING_DIRECTORY "${_vdb_dir}"
|
||||
)
|
||||
file(REMOVE "${_vdb_zip}")
|
||||
message(STATUS "bunny_cloud.vdb installed to ${_vdb_dir}")
|
||||
else()
|
||||
message(WARNING "OpenVDB sample download failed (${_vdb_dl_status}) — the Cloud Volume preview shape will be unavailable.")
|
||||
endif()
|
||||
endif()
|
||||
|
||||
# Copy resources to build directory
|
||||
file(COPY ${CMAKE_SOURCE_DIR}/resources
|
||||
DESTINATION ${CMAKE_BINARY_DIR}
|
||||
@@ -624,7 +651,13 @@ add_custom_command(TARGET UsdLayerManager POST_BUILD
|
||||
COMMAND ${CMAKE_COMMAND} -E copy_directory
|
||||
"${CMAKE_SOURCE_DIR}/resources/hdri"
|
||||
"$<TARGET_FILE_DIR:UsdLayerManager>/resources/hdri"
|
||||
COMMENT "Copying fonts, SVG icons and HDRI presets to build output"
|
||||
COMMAND ${CMAKE_COMMAND} -E copy_directory
|
||||
"${CMAKE_SOURCE_DIR}/resources/preview"
|
||||
"$<TARGET_FILE_DIR:UsdLayerManager>/resources/preview"
|
||||
COMMAND ${CMAKE_COMMAND} -E copy_directory
|
||||
"${CMAKE_SOURCE_DIR}/resources/vdb"
|
||||
"$<TARGET_FILE_DIR:UsdLayerManager>/resources/vdb"
|
||||
COMMENT "Copying fonts, SVG icons, HDRI presets and preview shapes to build output"
|
||||
)
|
||||
|
||||
# Copy ACES OCIO config to build output — only on first build (skipped if already present).
|
||||
|
||||
Reference in New Issue
Block a user