forked from blender/blender
Implement type conversion for NodeItem #10
Closed
Bogdan Nagirniak
wants to merge 9 commits from
When changing the target branch, be careful to rebase the branch in your fork to match. See documentation.
BogdanNagirniak/blender:matx-nodeitem-type
into matx-export-material
pull from: BogdanNagirniak/blender:matx-nodeitem-type
merge into: DagerD:matx-export-material
DagerD:main
DagerD:controllable-radiance-cache-dump-exr
DagerD:matx-add-script-node
DagerD:matx-export-material
DagerD:matx-nodes-polishing
DagerD:matx-principlebsdf-fix
DagerD:matx-cache-texture_2
DagerD:matx-cache-texture
DagerD:matx-principlebsdf-split
DagerD:matx-add-other-shader-nodes
DagerD:matx-add-shader-nodes
DagerD:matx-fix-review-comments
DagerD:matx-add-color-nodes
DagerD:matx-add-convert-nodes
DagerD:matx-parsing-improvements
DagerD:matx-move-type-parameter
DagerD:matx-add-other-nodes
DagerD:matx-add-tex-nodes
DagerD:add-bl_use_materialx
DagerD:add-basic-nodes
DagerD:matx-share-buildvars
DagerD:matx-integration
DagerD:BLEN-462_3
DagerD:hydra-render
DagerD:BLEN-461_2
DagerD:BLEN-461
DagerD:BLEN-450
DagerD:BLEN-448
DagerD:hydra-usd-export
DagerD:hydra-align-lights
DagerD:hydra-build-linux
DagerD:BLEN-437
DagerD:BLEN-384
DagerD:BLEN-442
DagerD:BLEN-443
DagerD:BLEN-400
DagerD:BLEN-421
DagerD:BLEN-409
DagerD:BLEN-432
DagerD:BLEN-430
DagerD:BLEN-431
DagerD:BLEN-428
DagerD:BLEN-418
DagerD:BLEN-424
DagerD:BLEN-364
DagerD:BLEN-405_1
DagerD:add_copying_hdstorm_folder
DagerD:BLEN-417
DagerD:BLEN-405
DagerD:BLEN-349
DagerD:BLEN-408
DagerD:BLEN-404
DagerD:BLEN-386
DagerD:BLEN-395
DagerD:BLEN-394
DagerD:fix-set-matx_env_2
DagerD:fix-set-matx_env
DagerD:BLEN-398
DagerD:merge_with_main
DagerD:BLEN-397
DagerD:BLEN-385
DagerD:BLEN-392_pyerr_catch
DagerD:BLEN-392
DagerD:code_improvements_fixes
DagerD:test_matx_usd
DagerD:BLEN-388
DagerD:BLEN-383
DagerD:BLEN-365
DagerD:BLEN-371
DagerD:BLEN-358_1
DagerD:BLEN-359_1
DagerD:BLEN-374
DagerD:build-fix
DagerD:BLEN-370
DagerD:BLEN-369
DagerD:BLEN-368
DagerD:BLEN-367
DagerD:BLEN-351
DagerD:BLEN-352
DagerD:fix-preview-engine
DagerD:BLEN-343
DagerD:blen-356-pxr_mtlx_stdlib_search_paths
DagerD:fix-storm-lighting
DagerD:mtlx-translation
DagerD:BLEN-341
DagerD:BLEN-342
DagerD:BLEN-333
DagerD:BLEN-345
DagerD:BLEN-335
DagerD:blender-v2.93-release
DagerD:tmp-usd-alab-v2-T100452
DagerD:universal-scene-description
DagerD:temp-usd-main-021323
DagerD:refactor-mesh-corners-generic
DagerD:bundled-assets
DagerD:blender-v3.3-release
DagerD:refactor-mesh-sharp-face-generic
DagerD:refactor-mesh-face-generic
DagerD:temp-sculpt-dyntopo
DagerD:temp-sculpt-roll-mapping
DagerD:overlay-next
DagerD:BLEN-331
DagerD:gpencil-new-data-proposal
DagerD:BLEN-334
DagerD:sculpt-dev
DagerD:BLEN-296
DagerD:tmp-volume-matrix-api-update
DagerD:cycles_path_guiding
DagerD:temp-vulkan-descriptor-sets
DagerD:tmp-eevee-shadow-commit
DagerD:usdhydra-new
DagerD:asset-shelf
DagerD:brush-assets-project
DagerD:BLEN-324
DagerD:BLEN-325
DagerD:tmp-workbench-rewrite2
DagerD:BLEN-305
DagerD:temp-T101739-fix-seam-bleeding-non-manifold
DagerD:tmp-mak-012623
DagerD:BLEN-319
DagerD:add-materialx-icon-2
DagerD:BLEN-308
DagerD:temp-bundled-assets
DagerD:asset-lite-greasepencil
DagerD:add-materialx-icon
DagerD:temp-pbvh-split
DagerD:temp-pbvh-texpaint-automasking
DagerD:microfacet_hair
DagerD:BLEN-294
DagerD:tmp-worbench-rewrite2-optimizations
DagerD:BLEN-298
DagerD:temp-offset-array-ref
DagerD:blender-projects-basics
DagerD:BLEN-295_1
DagerD:temp-pbvh-seam-texturing-tweaks
DagerD:temp-nodes-group-declarations
DagerD:refactor-mesh-sharp-edge-generic
DagerD:temp-asset-library-all
DagerD:BLEN-295
DagerD:refactor-mesh-uv-map-generic
DagerD:refactor-mesh-position-generic
DagerD:temp-T102440
DagerD:temp-rbf-pose-blender
DagerD:geometry-nodes-tetrahedralization
DagerD:nodes-matrix-types
DagerD:temp-xr-painting
DagerD:blender-v3.4-release
DagerD:master
DagerD:geometry-nodes-simulation
DagerD:bli-matrix-template
DagerD:temp-linux-35x-libs
DagerD:refactor-mesh-corner-normals-lazy
DagerD:temp-py-gpubatch-draw-advanced
DagerD:xr-dev
DagerD:temp-vulkan-shader
DagerD:bevelv2
DagerD:soc-2022-soft-bodies
DagerD:BLEN-288
DagerD:usdhydra-tmp-vfx
DagerD:arcpatch-D16436
DagerD:BLEN-287
DagerD:tmp-vfx-usdhydra
DagerD:tmp-dynamic-usd
DagerD:temp-image-engine
DagerD:tmp-vfx-platform-2023
DagerD:soc-2022-many-lights-sampling
DagerD:tracking_tools
DagerD:nla-scale-fix
DagerD:principled-v2
DagerD:temp-ui-cpp
DagerD:temp-ghost-vulkan
DagerD:tmp-libs-2.93-lts
DagerD:temp-T97352-3d-texturing-seam-bleeding-b2
DagerD:temp-xr-virtual-camera-experiment
DagerD:temp-vse-retiming-tool
DagerD:gpencil-next
DagerD:temp-sculpt-brush-channel
DagerD:asset-browser-grid-view
DagerD:usdhydra
DagerD:temp-asset-representation
DagerD:temp-gpencil-automask
DagerD:BLEN-245
DagerD:BLEN-239
DagerD:tmp_libs_34
DagerD:temp-T101905-gpu-backend-argument
DagerD:node-add-asset-menu
DagerD:temp-collection-objects-link-multiple
DagerD:temp-texture-painting-gpu
DagerD:add-materialx-2
DagerD:tmp-workbench-perf-experiment
DagerD:BLEN-228
DagerD:add-materialx-3
DagerD:tmp_usd_import_unbound_mtls
DagerD:add-materialx
DagerD:tmp-drw-split-matrix
DagerD:test-diff-2
DagerD:temp-sculpt-normals-masking
DagerD:temp-sculpt-cavity-mask
DagerD:temp-pbvh-vbos
DagerD:refactor-mesh-selection-generic
DagerD:temp-T96708-brush-texture-refactoring
DagerD:temp-chunk-list
DagerD:feature-imformat
DagerD:test-diff
DagerD:temp-geometry-nodes-evaluator-refactor
DagerD:refactor-mesh-bevel-weight-generic
DagerD:temp-chunked-list
DagerD:BLEN-183
DagerD:temp-outliner-new-element-storage
DagerD:BLEN-194
DagerD:refactor-mesh-remove-pointers
DagerD:BLEN-197
DagerD:BLEN-204
DagerD:soc-2022-text-usability
DagerD:refactor-mesh-material-index-generic
DagerD:drw-manager-next
DagerD:BLEN-165_temp3
DagerD:BLEN-165_temp4
DagerD:BLEN-178_1
DagerD:BLEN-196
DagerD:refactor-mesh-hide-generic
DagerD:BLEN-191
DagerD:BLEN-178
DagerD:BLEN-163
DagerD:BLEN-185
DagerD:BLEN-181
DagerD:fix-set-param
DagerD:BLEN-182
DagerD:blender-v3.2-release
DagerD:sculpt_curve_collisions
DagerD:BLEN-120
DagerD:temp-anim-editors-redo-panel-D14960-D14977
DagerD:retopo_transform
DagerD:temp-libepoxy
DagerD:temp-T99046-platform-reference-images
DagerD:geometry-nodes-rigid-body-integration
DagerD:BLEN-171
DagerD:file-browser-grid-view
DagerD:temp-legacy-mesh-format-option
DagerD:BLEN-166
DagerD:arcpatch-D14645
DagerD:BLEN-147
DagerD:BLEN-164
DagerD:soc-2022-waveform-drawing
DagerD:temp-T95933-object-mode-curve-selection
DagerD:temp-deform-curves-on-surface
DagerD:cycles_oneapi
DagerD:BLEN-146
DagerD:temp-viewport-compositor-merge
DagerD:temp-texpaint-automasking
DagerD:temp-deform-curves-with-surface
DagerD:BLEN-143
DagerD:asset-greasepencil
DagerD:temp-T99046-render-test-increase-fail-threshold
DagerD:BLEN-89
DagerD:temp-T98708-gpu-conservative-depth
DagerD:lineart-shadow
DagerD:BLEN-112
DagerD:temp-lineart-contained
DagerD:cleanup-id-override-const
DagerD:temp-T98375-share-gpu-textures
DagerD:wintab
DagerD:temp-T97352-3d-texturing-seam-bleeding
DagerD:BLEN-93
DagerD:temp-T97905-compositor-meta-data
DagerD:lineart-cas-2
DagerD:temp-T97272
DagerD:temp-T97907-compositor-meta-data
DagerD:temp-T96952
DagerD:tmp-usd-mak-c87f6242
DagerD:BLEN-79
DagerD:temp-outliner-library-override-hierarchy
DagerD:lineart-object-load
DagerD:tmp-eevee-next-merge
DagerD:BLEN-84
DagerD:draw-deferred-compilation-experiment
DagerD:soc-2021-porting-modifiers-to-nodes-remesh-voxel
DagerD:blender-v2.83-release
DagerD:tmp_lib_update_32
DagerD:BLEN-78
DagerD:temp-mesh-cpp
DagerD:temp-viewport-compositor-compiler
DagerD:temp-T96710-pbvh-pixels
DagerD:tmp-new-gpu-codegen
DagerD:BLEN-60
DagerD:devirtualizer
DagerD:temp-T96709-painting-target
DagerD:temp-collection-assets
DagerD:temp-lineart-embree
DagerD:temp-multi-function-eval-varray
DagerD:temp-sculpt-colors
DagerD:soc-2021-curves
DagerD:blender-v3.1-release
DagerD:temp-vertex-paint
DagerD:temp-vse-channels-edge-panning
DagerD:eevee-rewrite
DagerD:temp-library-overrides-outliner
DagerD:cycles_hydra
DagerD:temp-3d-texturing-brush-b
DagerD:temp-abc-features
DagerD:tmp-transform-navigate
DagerD:temp-image-buffer-rasterizer
DagerD:soc-2021-porting-modifiers-to-nodes-remesh-blocks
DagerD:temp-3d-texture-brush-prototype
DagerD:temp-fix-normals-custom-data
DagerD:viewport-compositor
DagerD:bli-math-basic-types
DagerD:soc-2021-simulation-display
DagerD:greasepencil-object
DagerD:temp-license-header-spdx
DagerD:KTX_support
DagerD:gsoc-2021-porting-modifiers-to-nodes-solidify
DagerD:2d
DagerD:gltf_vtree
DagerD:soc-2021-porting-modifiers-to-nodes-decimate
DagerD:temp-T95279-remap-referenced-data
DagerD:temp-gpu-image-engine
DagerD:tmp-eevee-rewrite-compilation-error
DagerD:draw-viewport-data
DagerD:temp-T94900-b
DagerD:temp-T94900-gpu-viewport-default-layers
DagerD:temp-T94185-id-remapper-ui
DagerD:tmp-workbench-shader-create-infos
DagerD:blender-v3.0-release
DagerD:temp-geometry-nodes-extrude-mesh
DagerD:tmp-T95052
DagerD:tmp-gpu-polyline-shaders
DagerD:tmp-gpu-shader-descriptor-2
DagerD:temp-usd-prev-export2
DagerD:tmp-core-id-remap-test-cases
DagerD:temp-vert-normals-cleanup
DagerD:temp-move-geometry-to-cpp
DagerD:tmp-vector-template
DagerD:drw-gpu-wrapper
DagerD:temp-geometry-nodes-extrude-and-scale
DagerD:temp-scale-elements-node-test
DagerD:temp-usd-udim-import
DagerD:temp-copy-on-write
DagerD:temp-T94185-id_remapping-experiment-a
DagerD:temp-llvm-testing
DagerD:nurbs-opencascade
DagerD:temp-usd-preview-surf-export
DagerD:soc-2021-uv-edge-select-support
DagerD:T93558
DagerD:temp-gpu-texture-partial-updates
DagerD:gpu-shader-descriptor
DagerD:temp-geometry-nodes-text
DagerD:tmp-vulkan
DagerD:temp-T90535-usd-alab-material-import
DagerD:node-tree-update-refactor
DagerD:temp-sample-sound-node
DagerD:temp-interface-region-search-cpp
DagerD:temp-enum-socket
DagerD:temp-link-portals
DagerD:temp-unity-build-test
DagerD:geometry-nodes-level-set-nodes
DagerD:temp-virtual-array-value-type
DagerD:soc-2020-io-performance
DagerD:studio-sprite-fright
DagerD:temp-cycles-source-reorganize
DagerD:asset-browser-snap-dragging
DagerD:temp-python-zstandard
DagerD:soc-2021-porting-modifiers-to-nodes-merge-by-distance
DagerD:temp-compositor-cleanups
DagerD:temp-eevee-gpencil-rewrite
DagerD:temp-vse-handles
DagerD:temp-ui-tweaks
DagerD:xr-controller-support
DagerD:temp-node-common-cpp
DagerD:temp-varray-get-set-multiple
DagerD:soc-2021-uv-editor-improvements
DagerD:temp-geometry-nodes-output-attributes
DagerD:soc-2021-knife-tools
DagerD:temp_test_sc_keymap
DagerD:cycles-x
DagerD:temp-field-visualization
DagerD:soc-2021-curve-fillet
DagerD:temp_bmesh_multires
DagerD:temp-cocoa-scroll-acceleration-fix
DagerD:temp-socket-decl-refactor
DagerD:fluid-mantaflow-gpu
DagerD:soc-2021-vse-strip-thumbnails
DagerD:temp-noise-nodes-cpp
DagerD:temp-compositor-canvas
DagerD:T90952
DagerD:temp-parallel-multi-function
DagerD:temp-geometry-nodes-fields
DagerD:grab_walk_fix
DagerD:soc-2021-adaptive-cloth
DagerD:temp-geometry-nodes-fields--fields-jacques
DagerD:temp-cpp-ghc-filesystem
DagerD:temp-geometry-nodes-fields--fields
DagerD:temp-geometry-nodes-fields--anonymous-attributes
DagerD:refactor-idprop-ui-data
DagerD:compositor-full-frame
DagerD:temp-runtime-node-def
DagerD:temp-geometry-nodes-fields-prototype-visualization
DagerD:temp-geometry-nodes-fields-prototype
DagerD:temp-multi-function-procedure
DagerD:soc-2021-porting-modifiers-to-nodes_all
DagerD:cycles_texture_cache
DagerD:experimental-build
DagerD:cycles_procedural_api
DagerD:soc-2021-porting-modifiers-to-nodes-extrude-and-move
DagerD:soc-2021-porting-modifiers-to-nodes-extrude
DagerD:temp-geometry-nodes-expandable-geometry-socket-prototype
DagerD:fluid-mantaflow-2d
DagerD:windows_make_docpy
DagerD:usd-importer-T81257-merge
DagerD:nodes-update-readonly-tag
DagerD:geometry-nodes-closest-points
DagerD:tmp-buildbot-gcc-10
DagerD:soc-2021-geometry-nodes-regression-test
DagerD:node-group-single-socket-nodes
DagerD:curve-nodes-modifier
DagerD:temp-geometry-nodes-curve-sample
DagerD:geometry-nodes-unnamed-attributes
DagerD:temp-nodes-intersect-alt-key
DagerD:tmp_arcpath-D11868
DagerD:refactor-vertex-group-names
DagerD:temp-gpencil-bezier-stroke-type
DagerD:temp-gpu-uniform-builtin-structs
DagerD:wintab_fallback_walknav
DagerD:temp-socket-inspection
DagerD:temp-long-link-dimming
DagerD:fixed_width_integers
DagerD:lineart-bvh
DagerD:temp-gpencil-camera-reproject
DagerD:temp-gpu-push-constants
DagerD:temp-attribute-processor
DagerD:temp-cpp-type-cleanup
DagerD:temp-geometry-nodes-curve-deform-node
DagerD:wintab-logging
DagerD:fix-tablet-walk
DagerD:geometry-nodes-raycast
DagerD:temp-spreadsheet-row-filter
DagerD:lineart-fn-cached
DagerD:temp-compact-node-prototype
DagerD:asset-browser
DagerD:geometry-nodes-curve-to-points-node
DagerD:node-editor-edge-pan
DagerD:eevee-gpencil
DagerD:asset-system-filelist
DagerD:temp-geometry-nodes-viewer-node
DagerD:lineart-fn-thread-loading
DagerD:tmp-buildbot-cleanup
DagerD:temp-gpencil-masking
DagerD:temp-ffmpeg-4.4
DagerD:temp-attributes-panel
DagerD:profiler-editor
DagerD:FixT87160_DSE_Channel_Selection
DagerD:temp-interface-cpp
DagerD:geometry-nodes-curve-support
DagerD:info-editor-cpp
DagerD:temp-attribute-transfer-node
DagerD:virtual-array-attributes
DagerD:temp-pose-slide-D9054
DagerD:spreadsheet-active-node
DagerD:ui-asset-view-template
DagerD:temp-node-tree-pages-prototype
DagerD:override-outliner-view
DagerD:temp-geometry-nodes-processor-prototype
DagerD:temp-any-instead-of-variant
DagerD:temp-unreachable-abort
DagerD:temp-spreadsheet-instances
DagerD:temp-geometry-nodes-instances-api-v2
DagerD:temp-geometry-nodes-instances-attributes
DagerD:geometry-nodes-mesh-primitives
DagerD:temp-asset-tools-prototype
DagerD:temp-geometry-nodes-mesh-primitive-line
DagerD:lanpr-under-gp
DagerD:temp_D10504-2_nla_keyframe_remap_upper_strips
DagerD:blender-v2.92-release
DagerD:usd-importer-T81257
DagerD:temp-spreadsheet-editor-python-prototyping
DagerD:temp-spreadsheet-editor
DagerD:override-refactor-tmp-2
DagerD:temp-derived-node-tree-refactor
DagerD:T85799
DagerD:tracking_scopes
DagerD:temp-icons-fixes
DagerD:temp_D10504_nla_keyframe_remap_upper_strips
DagerD:temp-weight_mirror
DagerD:temp_T76472_graph_editor_fcurve_extrapolation
DagerD:eevee-closure-lib-cleanup
DagerD:eevee-dof-refactor
DagerD:eevee-probe-roughness-fix
DagerD:eevee-ggx-lut-fix
DagerD:df0bce3f7d0
DagerD:temp-geometry-nodes-instances-api
DagerD:tmp-ocio-v2
DagerD:temp-nodes-redesign
DagerD:tracking_proportional_editing_v2
DagerD:blender-v2.91-release
DagerD:temp-uv-face-select-no-thresh-when-inside
DagerD:temp-D10103-nla_support_strip_overlap_during_transform
DagerD:fracture_modifier
DagerD:temp-point-distribution-refactor-experiment
DagerD:temp-experimental-cpp-math-refactor
DagerD:vfx-clip-ui-update
DagerD:tmp-T82230-nla_remove_hold_reset_behavior
DagerD:temp-D8687-directly_select_fcurves
DagerD:geometry-nodes
DagerD:soc-2020-testing-frameworks
DagerD:geometry-nodes-point-separate-node
DagerD:temp-nla-strip-alignment
DagerD:temp-atomics-int16
DagerD:geometry-nodes-deduplicate-float-math
DagerD:asset-metadata
DagerD:geometry-nodes-active-modifier-drawing
DagerD:attribute-accessor
DagerD:geometry-nodes-attribute-nodes
DagerD:temp-T82588-box-select-invisible-keys
DagerD:greasepencil-edit-curve
DagerD:codesign_error_tracker
DagerD:outliner-cpp-refactor
DagerD:temp-fix-headerless-panels-switch-windows
DagerD:temp-gpencil-fading-modifier
DagerD:temp-D8915-copy-rotation-remove-sheer
DagerD:geometry-nodes-boolean-node
DagerD:temp-T81874-box-select-active-keyframe
DagerD:geometry-nodes-transform-node
DagerD:temp-trimesh-sculpt
DagerD:geometry-tree-evaluation
DagerD:fcurve-modifier-panels
DagerD:temp-fcurve-key-insert-follow-curve
DagerD:temp-fcurve-active-keyframe-D7737
DagerD:mesh-to-volume-modifier
DagerD:blender-v2.90-release
DagerD:soc-2020-fluid-tools
DagerD:property-search-ui-v2
DagerD:tmp-T80603
DagerD:soc-2020-greasepencil-curve
DagerD:tmp-gldebuglayer
DagerD:tmp-gltexture
DagerD:soc-2020-custom-menus
DagerD:active-fcurve-keyframe
DagerD:soc-2020-soft-body
DagerD:newboolean
DagerD:fail-on-memleak
DagerD:soc-2020-outliner
DagerD:soc-2020-production-ready-light-tree-2
DagerD:soc-2020-info-editor
DagerD:property-search-ui
DagerD:temp-ui-button-type-refactor
DagerD:soc-2020-production-ready-light-tree
DagerD:particle-solver-dev
DagerD:tmp-gpu-context-isolation
DagerD:soc-2020-xr-input
DagerD:temp-remesh-octree
DagerD:mac_arm64
DagerD:tmp-eevee-glsl-cleanup
DagerD:tmp-pointcloud-render
DagerD:buildbot-lts
DagerD:asset-engine--archived
DagerD:asset-uuid--archived
DagerD:eevee-motionblur-object
DagerD:modifier-panels-ui
DagerD:temp-cycles-tbb
DagerD:wm-drag-drop-rewrite
DagerD:temp-lanpr-review
DagerD:gsoc-2018-many-light-sampling
DagerD:tmp-eevee-material-refactor
DagerD:tmp-widget-opti
DagerD:tmp-texture-sampler
DagerD:xr-world-navigation
DagerD:blender-v2.82-release
DagerD:node-tree-ref
DagerD:simulation-access-modifier
DagerD:blenloader-decentralization
DagerD:temp-test-point-cloud-simulation-depsgraph-integration
DagerD:functions
DagerD:builtin-simulation-nodes
DagerD:performance-test
DagerD:obj-import-experiments
DagerD:soc-2019-openxr
DagerD:vr_scene_inspection
DagerD:blenloader-api
DagerD:tmp-workbench-rewrite
DagerD:id-ensure-unique-memory-address
DagerD:simulation-tree
DagerD:greasepencil-refactor
DagerD:draw-colormanagement
DagerD:temp-gizmo-decoupled-redraws
DagerD:fluid-mantaflow
DagerD:blender-v2.81-release
DagerD:tmp-overlay-engine
DagerD:soc-2019-bevel-profiles
DagerD:temp-npr-gpencil-modifiers
DagerD:soc-2019-npr
DagerD:temp-gpencil-drw-engine
DagerD:soc-2019-embree-gpu
DagerD:temp-npr-smooth-contour
DagerD:temp-lanpr-staging
DagerD:filebrowser_redesign
DagerD:tmp-eevee-shadowmap-refactor
DagerD:vamr-openxr-module
DagerD:sculpt-mode-features
DagerD:soc-2019-adaptive-cloth
DagerD:tmp-drw-callbatching
DagerD:soc-2019-outliner
DagerD:soc-2019-cycles-procedural
DagerD:temp-D5423-update
DagerD:temp-vr-draw-thread
DagerD:blender-v2.80-release
DagerD:tmp-batch-cache-cleanup
DagerD:soc-2019-fast-io
DagerD:temp-toolsystem-multiwindow
DagerD:blender2.7
DagerD:collada
DagerD:soc-2018-npr
DagerD:temp-keymap-industry-compat
DagerD:temp-fracture-modifier-2.8
DagerD:temp-dna-rename
DagerD:userpref_redesign
DagerD:hair_object
DagerD:motion_curve_fix
DagerD:collada2.8
DagerD:cycles_embree
DagerD:interactive_physics
DagerD:temp-ui-layout-2.8
DagerD:cloth-improvements
DagerD:soc-2018-cycles-volumes
DagerD:hair_guides_grooming
DagerD:hair_guides
DagerD:benchmark
DagerD:soc-2018-bevel
DagerD:soc-2018-hair-shader-fixes
DagerD:temp-udim-images
DagerD:soc-2018-hair-shader
DagerD:temp-volume-object
DagerD:cycles_cryptomatte
DagerD:temp-eeveelightcache
DagerD:temp-tab_drag_drop
DagerD:temp-keymap-save
DagerD:temp-dynamic-overrides
DagerD:fracture_modifier-master
DagerD:ui_layout_gridflow
DagerD:temp-keymap-changes
DagerD:tmp-CollectionsAnim
DagerD:tmp-b28-motionpath-drawing
DagerD:uv_unwrapping_slim_algorithm
DagerD:blender-v2.79b-release
DagerD:tmp-COW_InsertKeyframe_Fix
DagerD:temp-unified-collections
DagerD:temp-modifier-rm-cddm
DagerD:tmp-TimelineHeaderButtonsStretching
DagerD:blender2.8-workbench
DagerD:soc-2017-normal-tools
DagerD:cycles_bvh8
DagerD:blender-v2.79a-release
DagerD:temp-scene-obedit-remove
DagerD:temp-workspace-object-mode-removal
DagerD:blender-v2.79-release
DagerD:soc-2017-sculpting_brush
DagerD:split-kernel-faster-building
DagerD:id_override_static
DagerD:openvdb
DagerD:custom-manipulators
DagerD:soc-2016-uv_tools
DagerD:soc-2016-pbvh-painting
DagerD:soc-2017-vertex_paint
DagerD:soc-2017-sculpting_improvements
DagerD:soc-2017-package_manager
DagerD:strand_editmode
DagerD:smooth-fcurves
DagerD:id_copy_refactor
DagerD:gsoc2016-improved_extrusion
DagerD:temp-ssr
DagerD:temp-cycles-opencl-staging
DagerD:temp-cycles-denoising
DagerD:ge_2df_textures
DagerD:HMD_viewport
DagerD:soc-2016-multiview
DagerD:transform-manipulators
DagerD:datablock_idprops
DagerD:cycles_disney_brdf
DagerD:temp_cycles_split_kernel
DagerD:cycles_split_kernel
DagerD:unlock_task_scheduler
DagerD:uv_unwrapping_slim_and_ceres
DagerD:surface-deform-modifier
DagerD:cycles-tiles-rework
DagerD:soc-2016-cycles_denoising
DagerD:temp-layers-ui-table
DagerD:uiTable
DagerD:render-layers
DagerD:clay-engine
DagerD:multi_previews_id
DagerD:cycles_disney_bsdf_transmittance
DagerD:layers
DagerD:pbr-viewport
DagerD:temp_display_optimization
DagerD:viewport_bvh_select
DagerD:temp-cycles-microdisplacement
DagerD:soc-2016-cycles_images
DagerD:strand_nodes
DagerD:object_nodes
DagerD:asset-experiments
DagerD:soc-2016-sculpt_tools
DagerD:temp_viewport_fx_merge
DagerD:custom-normals-bmesh
DagerD:temp-decklink
DagerD:compositor-2016
DagerD:decklink
DagerD:BendyBones
DagerD:cycles_panorama_experiments
DagerD:temp_remove_pointcache
DagerD:temp_remove_particles
DagerD:temp_depsgraph_split_ubereval
DagerD:temp_textedit_comment_toggling
DagerD:GPencil_Editing_Stage3
DagerD:temp_bge_moto
DagerD:UI-experiments
DagerD:UI-graphical-redesign
DagerD:missing-libs
DagerD:free-refcount-ids
DagerD:cycles_camera_nodes
DagerD:epic-navigation
DagerD:temp-ui-widget-refactor
DagerD:gooseberry_farm
DagerD:gooseberry
DagerD:temp-ghash-experiments
DagerD:temp-ghash-setops
DagerD:temp_motionpaths
DagerD:fcurves-simplify
DagerD:soc-2014-fluid
DagerD:GPU_data_request
DagerD:depsgraph_refactor
DagerD:multiview
DagerD:vertex_paint_pbvh
DagerD:alembic_pointcache
DagerD:cycles-ptex-49
DagerD:viewport_experiments
DagerD:soc-2014-bge
DagerD:texture_nodes_refactor
DagerD:input_method_editor
DagerD:GPencil_EditStrokes
DagerD:soc-2014-shapekey
DagerD:terrible_consequencer
DagerD:GPencil_FillStrokes
DagerD:libmv_prediction
DagerD:blender2.4
DagerD:dyntopo_holes
DagerD:soc-2014-viewport_context
DagerD:gtest-staging
DagerD:blender-tiles
DagerD:soc-2014-viewport_fx
DagerD:soc-2014-remesh
DagerD:soc-2014-nurbs
DagerD:pie-menus
DagerD:soc-2014-cycles
DagerD:soc-2013-paint
DagerD:particles_refactor
DagerD:soc-2013-viewport_fx
DagerD:tiles-scheduler
DagerD:bake-cycles
DagerD:soc-2013-cycles_volume
DagerD:overscan
DagerD:soc-2013-depsgraph_mt
DagerD:soc-2013-dingto
DagerD:soc-2013-sketch_mesh
DagerD:soc-2013-rigid_body_sim
DagerD:soc-2011-tomato
DagerD:soc-2013-bge
DagerD:soc-2013-motion_track
DagerD:soc-2013-ui_replay
DagerD:soc-2012-sushi
DagerD:ge_dev
DagerD:soc-2013-depsgraph_eval
DagerD:soc-2008-mxcurioni
DagerD:soc-2012-bratwurst
DagerD:soc-2012-swiss_cheese
DagerD:soc-2012-fried_chicken
DagerD:meshdata_transfer
DagerD:smoke2
DagerD:tile
DagerD:soc-2011-cucumber
DagerD:bmesh
DagerD:soc-2011-carrot
DagerD:cycles
DagerD:soc-2011-garlic
DagerD:soc-2011-radish
DagerD:soc-2010-nicks
DagerD:vgroup_modifiers
DagerD:soc-2011-pepper
DagerD:soc-2010-jwilkins
DagerD:merwin-spacenav
DagerD:bge_components
DagerD:soc-2010-merwin
DagerD:render25
DagerD:soc-2010-nicolasbishop
DagerD:soc-2009-chingachgook
DagerD:soc-2010-nexyon
DagerD:soc-2010-aligorith
DagerD:ge_eigen2
DagerD:sculpt25
DagerD:soc-2009-jaguarandi
DagerD:soc-2009-imbusy
DagerD:soc-2009-kazanbas
DagerD:blender2.5
DagerD:volume25
DagerD:soundsystem
DagerD:soc-2009-aligorith
DagerD:sim_physics
DagerD:ge_dome
DagerD:etch-a-ton
DagerD:soc-2008-nicholasbishop
DagerD:animsys2
DagerD:projection-paint
DagerD:harmonic-skeleton
DagerD:soc-2008-jaguarandi
DagerD:fluidcontrol
DagerD:apricot
DagerD:soc-2008-quorn
DagerD:cloth
DagerD:ndof
DagerD:orange
When changing the target branch, be careful to rebase the branch in your fork to match. See documentation.
2 changed files with 40 additions and 40 deletions
Showing only changes of commit 266f05721b - Show all commits
|
@ -650,11 +650,6 @@ NodeItem NodeItem::to_color3() const
|
|||
return res;
|
||||
}
|
||||
|
||||
bool NodeItem::is_numeric() const
|
||||
{
|
||||
return type() >= Type::Float;
|
||||
}
|
||||
|
||||
NodeItem::Type NodeItem::type() const
|
||||
{
|
||||
if (value) {
|
||||
|
@ -679,43 +674,49 @@ bool NodeItem::is_arithmetic() const
|
|||
NodeItem NodeItem::arithmetic(const std::string &mx_category,
|
||||
std::function<float(float)> func) const
|
||||
{
|
||||
if (!is_numeric()) {
|
||||
return empty();
|
||||
NodeItem res = empty();
|
||||
Type t = type();
|
||||
if (!is_arithmetic(t)) {
|
||||
return res;
|
||||
}
|
||||
|
||||
std::string t = value ? value->getTypeString() : node->getType();
|
||||
NodeItem res(graph_);
|
||||
if (value) {
|
||||
if (t == "float") {
|
||||
float v = value->asA<float>();
|
||||
res.value = MaterialX::Value::createValue<float>(func(v));
|
||||
}
|
||||
else if (t == "color3") {
|
||||
auto v = value->asA<MaterialX::Color3>();
|
||||
res.value = MaterialX::Value::createValue<MaterialX::Color3>(
|
||||
{func(v[0]), func(v[1]), func(v[2])});
|
||||
}
|
||||
else if (t == "color4") {
|
||||
auto v = value->asA<MaterialX::Color4>();
|
||||
res.value = MaterialX::Value::createValue<MaterialX::Color4>(
|
||||
{func(v[0]), func(v[1]), func(v[2]), func(v[3])});
|
||||
}
|
||||
else if (t == "vector2") {
|
||||
auto v = value->asA<MaterialX::Vector2>();
|
||||
res.value = MaterialX::Value::createValue<MaterialX::Vector2>({func(v[0]), func(v[1])});
|
||||
}
|
||||
else if (t == "vector3") {
|
||||
auto v = value->asA<MaterialX::Vector3>();
|
||||
res.value = MaterialX::Value::createValue<MaterialX::Vector3>(
|
||||
{func(v[0]), func(v[1]), func(v[2])});
|
||||
}
|
||||
else if (t == "vector4") {
|
||||
auto v = value->asA<MaterialX::Vector4>();
|
||||
res.value = MaterialX::Value::createValue<MaterialX::Vector4>(
|
||||
{func(v[0]), func(v[1]), func(v[2]), func(v[3])});
|
||||
}
|
||||
else {
|
||||
BLI_assert_unreachable();
|
||||
switch (t) {
|
||||
case Type::Float: {
|
||||
float v = value->asA<float>();
|
||||
res.value = MaterialX::Value::createValue<float>(func(v));
|
||||
break;
|
||||
}
|
||||
case Type::Color3: {
|
||||
auto v = value->asA<MaterialX::Color3>();
|
||||
res.value = MaterialX::Value::createValue<MaterialX::Color3>(
|
||||
{func(v[0]), func(v[1]), func(v[2])});
|
||||
break;
|
||||
}
|
||||
case Type::Color4: {
|
||||
auto v = value->asA<MaterialX::Color4>();
|
||||
res.value = MaterialX::Value::createValue<MaterialX::Color4>(
|
||||
{func(v[0]), func(v[1]), func(v[2]), func(v[3])});
|
||||
break;
|
||||
}
|
||||
case Type::Vector2: {
|
||||
auto v = value->asA<MaterialX::Vector2>();
|
||||
res.value = MaterialX::Value::createValue<MaterialX::Vector2>({func(v[0]), func(v[1])});
|
||||
}
|
||||
case Type::Vector3: {
|
||||
auto v = value->asA<MaterialX::Vector3>();
|
||||
res.value = MaterialX::Value::createValue<MaterialX::Vector3>(
|
||||
{func(v[0]), func(v[1]), func(v[2])});
|
||||
break;
|
||||
}
|
||||
case Type::Vector4: {
|
||||
auto v = value->asA<MaterialX::Vector4>();
|
||||
res.value = MaterialX::Value::createValue<MaterialX::Vector4>(
|
||||
{func(v[0]), func(v[1]), func(v[2]), func(v[3])});
|
||||
break;
|
||||
}
|
||||
default:
|
||||
BLI_assert_unreachable();
|
||||
}
|
||||
}
|
||||
else {
|
||||
|
|
|
@ -81,7 +81,6 @@ class NodeItem {
|
|||
|
||||
NodeItem convert(Type to_type) const;
|
||||
NodeItem to_color3() const;
|
||||
bool is_numeric() const;
|
||||
Type type() const;
|
||||
|
||||
private:
|
||||
|
|
Write
Preview
Loading…
Reference in New Issue
Block a user
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.