Files
2026-07-13 13:13:17 +08:00

289 lines
6.8 KiB
Plaintext

{
"FormatVersion": 3,
"Id": "f61ceb9b-74f8-4883-88ea-7e6c35b63bbd"/*_BuildSpatialHashMap*/,
"Description": "Building a spatial hashmap can be an important basis for complex simulations that require nearest neighbor search.\nThe implementation is based on work by Guillaume Boissé and involves multiple compute buffers and calculating an exclusive prefix sum.\n\nSome documentation can be found here: https://www.figma.com/file/wBNGUlaACjaCDOTdeBvBvR/ComputeShader-Ideas?node-id=8%3A0",
"InputUis": [
{
"InputId": "22f9737b-b3b4-4455-a4ec-8d61ab7abc6c"/*CellSize*/,
"Position": {
"X": 1585.6239,
"Y": 1320.0493
},
"Min": 0.001,
"Max": 100.0,
"Scale": 0.01,
"ClampMin": true,
"ClampMax": true
},
{
"InputId": "4bae9eaa-42d8-4c1c-8776-3abebcce20e2"/*PointsA_*/,
"Relevancy": "Required",
"Position": {
"X": 404.84814,
"Y": 709.10516
}
}
],
"SymbolChildUis": [
{
"ChildId": "02f136be-1912-45cb-98e9-4880f0b4bd86"/*Clear*/,
"Position": {
"X": 1413.1151,
"Y": 903.26495
}
},
{
"ChildId": "083ec96e-a7b8-4f97-a203-15dd76b0ccba"/*Count*/,
"Position": {
"X": 1945.9032,
"Y": 1161.2839
}
},
{
"ChildId": "13c5c5bc-55ec-48bc-b256-ad4443355808"/*GetBufferComponents*/,
"Position": {
"X": 554.84814,
"Y": 709.10516
}
},
{
"ChildId": "178429cd-57d1-4a8e-a665-edfbb98f0c6a"/*CalcDispatchCount*/,
"Position": {
"X": 1725.6239,
"Y": 1190.3373
}
},
{
"ChildId": "26b0a38e-2090-4c54-b545-ed73c919ea46"/*GetBufferComponents*/,
"Position": {
"X": 916.03735,
"Y": 1965.1658
}
},
{
"ChildId": "2b30d631-991b-45f4-9a69-83ee8d590ced"/*GetBufferComponents*/,
"Position": {
"X": 916.03735,
"Y": 1644.7163
}
},
{
"ChildId": "3f5444ce-9bc1-42c3-b0fa-cf3fe0507ea6"/*GetBufferComponents*/,
"Position": {
"X": 2062.473,
"Y": 2313.0488
}
},
{
"ChildId": "5482af90-715e-44dd-a31e-f5e871a5b38f"/*CellEntries*/,
"Position": {
"X": 488.9499,
"Y": 1008.4984
}
},
{
"ChildId": "57fd2baf-62cf-4ce4-a6ba-50473a0a7085"/*ParticleGridBuffer*/,
"Position": {
"X": 916.03735,
"Y": 1609.7163
}
},
{
"ChildId": "8b1ad3df-5bd1-4945-b42e-e8dca5ad3580"/*PrefixSum*/,
"Position": {
"X": 1922.473,
"Y": 2278.0486
}
},
{
"ChildId": "8e391859-097a-42f0-84cc-03521c79a51c"/*GetSRVProperties*/,
"Position": {
"X": 722.0831,
"Y": 806.2484
}
},
{
"ChildId": "a7502316-2af6-4b82-8338-306610b856c5"/*MultiplyInt*/,
"Position": {
"X": 628.9499,
"Y": 973.49835
}
},
{
"ChildId": "a9ae64e6-72a7-4d34-a8e8-7dbf818818a6"/*FloatsToBuffer*/,
"Style": "Resizable",
"Size": {
"X": 110.86372,
"Y": 44.69636
},
"Position": {
"X": 1725.6239,
"Y": 1285.0493
}
},
{
"ChildId": "b0ddf1e5-ba6f-446d-b877-5e504b9b8ebe"/*GetBufferComponents*/,
"Position": {
"X": 916.03735,
"Y": 2133.0989
}
},
{
"ChildId": "b18f495f-d0b1-4a20-9795-4a37f436f756"/*ComputeShader*/,
"Position": {
"X": 1585.6239,
"Y": 1155.3373
}
},
{
"ChildId": "b28ef13f-9b9f-4169-b334-98460c606f46"/*ParticleGridCountBuffer*/,
"Position": {
"X": 916.03735,
"Y": 2098.0989
}
},
{
"ChildId": "ba25d171-0086-470a-8334-836b130e1c2d"/*CalcDispatchCount*/,
"Position": {
"X": 2230.7056,
"Y": 1483.8842
}
},
{
"ChildId": "baf5d18a-e410-4287-a630-433358ce0314"/*Execute*/,
"Style": "Resizable",
"Size": {
"X": 110.0,
"Y": 490.9287
},
"Position": {
"X": 2709.0825,
"Y": 1007.9415
}
},
{
"ChildId": "c60af93b-1472-4dae-85de-df3b44e30272"/*ScatterParticlesInCells*/,
"Position": {
"X": 2440.9614,
"Y": 1460.5917
}
},
{
"ChildId": "c7f781c4-aa85-464d-a629-73f371ed0469"/*GetBufferComponents*/,
"Position": {
"X": 916.03735,
"Y": 1803.2943
}
},
{
"ChildId": "c8f75754-6036-4404-b8cc-d08be7a6a01e"/*ParticleGridCellBuffer*/,
"Position": {
"X": 916.03735,
"Y": 1768.2943
}
},
{
"ChildId": "ceb9ec75-8a5c-4c1f-9bce-8db80a108abb"/*CalcDispatchCount*/,
"Position": {
"X": 1203.1113,
"Y": 936.59515
}
},
{
"ChildId": "d6617889-06c7-4996-845f-7acc5158193a"/*ComputeShader*/,
"Position": {
"X": 1063.1113,
"Y": 901.59515
}
},
{
"ChildId": "dda3dd38-1bad-4add-9a6d-0ef20847b0a6"/*FloatsToBuffer*/,
"Style": "Resizable",
"Size": {
"X": 110.86372,
"Y": 44.69636
},
"Position": {
"X": 1203.1113,
"Y": 1078.6514
}
},
{
"ChildId": "eb884c6d-8be0-4d52-9894-bdf0b3f5bdc3"/*CellCount*/,
"Position": {
"X": 488.9499,
"Y": 973.49835
}
},
{
"ChildId": "ec614cbd-a7e8-478e-af89-edb3452f302c"/*FloatsToBuffer*/,
"Style": "Resizable",
"Size": {
"X": 110.86372,
"Y": 44.69636
},
"Position": {
"X": 2230.7056,
"Y": 1570.369
}
},
{
"ChildId": "f450b0c3-85da-493c-ad59-b9d624dfb13c"/*ParticleGridHashBuffer*/,
"Position": {
"X": 916.03735,
"Y": 1930.1658
}
},
{
"ChildId": "f5cfa01d-25ab-4065-8308-0b71f08ef76b"/*ComputeShader*/,
"Position": {
"X": 2090.7056,
"Y": 1448.8842
}
}
],
"OutputUis": [
{
"OutputId": "13f0d2c2-a18b-457b-a3cf-cfd0c755b9a9"/*CellPointCounts*/,
"Position": {
"X": 1070.2051,
"Y": 2133.7297
}
},
{
"OutputId": "6c026a5f-a724-4240-bb96-077d65266f66"/*PointCellIndices*/,
"Position": {
"X": 1099.8169,
"Y": 1808.1682
}
},
{
"OutputId": "eeb282ee-ad73-471c-89ab-ae7cc8de6b15"/*CellRangeIndices*/,
"Position": {
"X": 2217.2283,
"Y": 2315.2175
}
},
{
"OutputId": "b4505f1e-ab0e-45be-8e46-8e3b37ec59ec"/*CellPointIndices*/,
"Position": {
"X": 1203.3767,
"Y": 1638.79
}
},
{
"OutputId": "fb96e3d2-9a0f-466a-9b1d-997a4aa3e625"/*HashGridCells*/,
"Position": {
"X": 1099.3984,
"Y": 1968.3187
}
},
{
"OutputId": "59d09aa6-051c-4906-9f32-f65e66979c56"/*Update*/,
"Position": {
"X": 3749.775,
"Y": 849.28375
}
}
]
}