feat: Add new Geometry Nodes groups for image relief and shadeless shader

- Implemented the "O Image Relief Plane" Geometry Nodes group to create a fixed-base image relief using depth images and various parameters.
- Created the "O Shadeless" shader node group to display color without scene lighting while preserving shadows and reflections.
- Introduced a preview feature for node groups, allowing for interactive visualization of node arrangements in an HTML format.
- Added a template HTML file for rendering node previews with customizable views and controls.
This commit is contained in:
2026-09-09 21:24:57 +08:00
parent f5aff50b13
commit 89087fc2e2
118 changed files with 5635 additions and 3130 deletions

View File

@@ -0,0 +1,70 @@
{
"blender_version": "4.5",
"header": 32,
"row": 24,
"padding": 12,
"width": 180,
"wide_width": 220,
"collapsed_height": 36,
"controls": {
"FunctionNodeBooleanMath": 1,
"FunctionNodeCompare": 2,
"FunctionNodeFloatToInt": 1,
"FunctionNodeIntegerMath": 1,
"FunctionNodeSeparateColor": 1,
"GeometryNodeAccumulateField": 2,
"GeometryNodeAttributeStatistic": 2,
"GeometryNodeBlurAttribute": 1,
"GeometryNodeBoundBox": 0,
"GeometryNodeCaptureAttribute": 3,
"GeometryNodeCornersOfEdge": 0,
"GeometryNodeDeleteGeometry": 2,
"GeometryNodeExtrudeMesh": 1,
"GeometryNodeFaceOfCorner": 0,
"GeometryNodeFieldAtIndex": 2,
"GeometryNodeFieldOnDomain": 2,
"GeometryNodeForeachGeometryElementInput": 0,
"GeometryNodeForeachGeometryElementOutput": 4,
"GeometryNodeFlipFaces": 0,
"GeometryNodeGroup": 1,
"GeometryNodeImageTexture": 2,
"GeometryNodeInputIndex": 0,
"GeometryNodeInputMeshEdgeNeighbors": 0,
"GeometryNodeInputMeshEdgeVertices": 0,
"GeometryNodeInputMeshFaceArea": 0,
"GeometryNodeInputMeshIsland": 0,
"GeometryNodeInputMeshVertexNeighbors": 0,
"GeometryNodeInputNamedAttribute": 1,
"GeometryNodeInputNormal": 0,
"GeometryNodeInputPosition": 0,
"GeometryNodeJoinGeometry": 0,
"GeometryNodeMenuSwitch": 3,
"GeometryNodeMergeByDistance": 1,
"GeometryNodeMeshCube": 0,
"GeometryNodeMeshGrid": 0,
"GeometryNodeRemoveAttribute": 1,
"GeometryNodeRepeatInput": 0,
"GeometryNodeRepeatOutput": 3,
"GeometryNodeSampleIndex": 3,
"GeometryNodeSampleNearest": 1,
"GeometryNodeSeparateGeometry": 1,
"GeometryNodeSetMaterialIndex": 0,
"GeometryNodeSetPosition": 0,
"GeometryNodeSetShadeSmooth": 1,
"GeometryNodeSimulationInput": 0,
"GeometryNodeSimulationOutput": 3,
"GeometryNodeSplitEdges": 0,
"GeometryNodeStoreNamedAttribute": 2,
"GeometryNodeSwitch": 1,
"GeometryNodeTransform": 1,
"NodeGroupInput": 0,
"NodeGroupOutput": 0,
"ShaderNodeClamp": 1,
"ShaderNodeCombineXYZ": 0,
"ShaderNodeMapRange": 3,
"ShaderNodeMath": 2,
"ShaderNodeMix": 3,
"ShaderNodeSeparateXYZ": 0,
"ShaderNodeVectorMath": 1
}
}