Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Node setting reorganization #102

Merged
merged 2 commits into from
Jun 1, 2024
Merged

Conversation

BrendanParmer
Copy link
Owner

Changes

  • The material module has been renamed to shader, in line with Blender terminology
  • Geometry Node zone output nodes now use the node settings pattern to set their items rather than special logic in the operator
  • All operators now use the same settings dictionary for attribute lookups
    • No longer have to maintain the same node in two spots, as with many Shader and Function nodes
    • The settings dictionary is now automatically generated using the bpy API documentation, eliminating a lot of human error and effort in maintaining NodeToPython across multiple versions. See NodeToPython-Dev-Tools
    • The new node list contains many version adjustments, adds nodes that were previously overlooked and missing, and some Blender 4.1 additions added since I last looked at it. The full list of changes and error corrections is given below:

Compositor Nodes

  • CompositorNodeColorBalance, CompositorNodeCryptomatte, and CompositorNodeCryptomatteV2 settings pre-3.5 now use proper vector type
  • Added CompositorNodeCombHSVA, CompositorNodeCombRGBA, CompositorNodeCombYCCA, CompositorNodeCombYUVA, CompositorNodeSepHSVA, CompositorNodeSepRGBA, CompositorNodeSepYCCA, CompositorNodeSepYUVA
  • Added CompositorNodeCustomGroup
  • Added smoothness attribute to CompositorNodeKeyingScreen

Function Nodes

  • Added FunctionNodeLegacyRandomFloat

Geometry Nodes

  • Marked minimum versions for GeometryNodeAccumulateField
  • Added GeometryNodeCornersOfEdge, GeometryNodeCustomGroup, GeometryNodeGetNamedGrid, GeometryNodeInputNamedLayerSelection, GeometryNodeInputSignedDistance, GeometryNodeMeanFilterSDFVolume, GeometryNodeMeshToSDFVolume, GeometryNodeOffsetSDFVolume, GeometryNodePointsToSDFVolume, GeometryNodeSDFVolumeSphere, GeometryNodeSampleVolume, GeometryNodeSplitToInstances, GeometryNodeStoreNamedGrid,
  • Removed bad min_versions from GeometryNodeImageTexture
  • Corrected GeometryNodeMergeByDistance mode attribute min_version
  • GeometryNodeSimulationOutput and GeometryNodeRepeatOutput now use the NTP attribute pattern for setting repeat items
  • Added GeometryNodeToolSetSelection domain attribute

Legacy Nodes

  • Added old attribute nodes still present in 3.0, including GeometryNodeAttributeRemove, GeometryNodeLegacyAlignRotationToVector, GeometryNodeLegacyAttributeClamp, GeometryNodeLegacyAttributeCombineXYZ, GeometryNodeLegacyAttributeCompare, GeometryNodeLegacyAttributeConvert, GeometryNodeLegacyAttributeCurveMap, GeometryNodeLegacyAttributeFill, GeometryNodeLegacyAttributeMapRange, GeometryNodeLegacyAttributeMath, GeometryNodeLegacyAttributeMix, GeometryNodeLegacyAttributeProximity, GeometryNodeLegacyAttributeRandomize, GeometryNodeLegacyAttributeSampleTexture, GeometryNodeLegacyAttributeSeparateXYZ, GeometryNodeLegacyAttributeTransfer, GeometryNodeLegacyAttributeVectorMath, GeometryNodeLegacyAttributeVectorRotate
  • Added legacy curve nodes: GeometryNodeLegacyCurveEndpoints, GeometryNodeLegacyCurveReverse, GeometryNodeLegacyCurveSelectHandles, GeometryNodeLegacyCurveSetHandles, GeometryNodeLegacyCurveSplineType, GeometryNodeLegacyCurveSubdivide, GeometryNodeLegacyCurveToPoints
  • Added misc. legacy nodes: GeometryNodeLegacyDeleteGeometry, GeometryNodeLegacyEdgeSplit, GeometryNodeLegacyMaterialAssign, GeometryNodeLegacyPointDistribute, GeometryNodeLegacyPointScale, GeometryNodeLegacyPointSeparate, GeometryNodeLegacyPointTranslate, GeometryNodeLegacyPointsToVolume, GeometryNodeLegacyRaycast, GeometryNodeLegacyRotatePoints, GeometryNodeLegacySelectByMaterial, GeometryNodeLegacySubdivisionSurface, GeometryNodeLegacyVolumeToMesh
  • Added GeometryNodeCurveParameter
  • Marked maximum version for deprecated GeometryNodeAttributeTransfer

Shader Nodes

  • Added max version for ShaderNodeBsdfGlossy
  • Added minimum version for model attribute of ShaderNodeBsdfHairPrincipled
  • Added ShaderNodeCombineHSV, ShaderNodeCombineRGB, ShaderNodeSeparateHSV, ShaderNodeSeparateRGB
  • Added ShaderNodeCustomGroup
  • Added ShaderNodeSqueeze

Resolves

@BrendanParmer BrendanParmer added bug Something isn't working enhancement New feature or request labels May 5, 2024
@BrendanParmer BrendanParmer added this to the v3.1 milestone May 5, 2024
@BrendanParmer BrendanParmer self-assigned this May 5, 2024
@BrendanParmer BrendanParmer marked this pull request as ready for review June 1, 2024 18:48
@BrendanParmer BrendanParmer merged commit 3e50408 into v3.1 Jun 1, 2024
@BrendanParmer BrendanParmer deleted the NodeSettingReorganization branch June 1, 2024 18:49
@BrendanParmer BrendanParmer mentioned this pull request Jun 1, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working enhancement New feature or request
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

1 participant