|
|
|
|
|
|
- {fileID: 114946465509916290} |
|
|
|
- {fileID: 114780028408030698} |
|
|
|
- {fileID: 114063133802684794} |
|
|
|
m_Capacity: 320000 |
|
|
|
m_Capacity: 30000 |
|
|
|
m_Space: 1 |
|
|
|
--- !u!114 &114512514798047786 |
|
|
|
MonoBehaviour: |
|
|
|
|
|
|
\ }\n \n\n\n#if VFX_USE_ALIVE_CURRENT\n if (alive)\n {\n\t\t\tuint |
|
|
|
deadIndex = deadListIn.DecrementCounter();\n uint index = deadListIn[deadIndex];\n |
|
|
|
\ attributeBuffer.Store((index * 0x1 + 0x0) << 2,asuint(lifetime));\n |
|
|
|
\ attributeBuffer.Store3((index * 0x8 + 0x4E200) << 2,asuint(position));\n |
|
|
|
\ attributeBuffer.Store3((index * 0x4 + 0x2BF200) << 2,asuint(velocity));\n |
|
|
|
\ attributeBuffer.Store((index * 0x3 + 0x3F7A00) << 2,asuint(size));\n |
|
|
|
\ attributeBuffer.Store((index * 0x3 + 0x3F7A01) << 2,asuint(scaleX));\n |
|
|
|
\ attributeBuffer.Store((index * 0x3 + 0x3F7A02) << 2,asuint(scaleY));\n |
|
|
|
\ attributeBuffer.Store((index * 0x8 + 0x4E203) << 2,asuint(age));\n |
|
|
|
\ attributeBuffer.Store((index * 0x8 + 0x4E204) << 2,uint(alive));\n |
|
|
|
\ attributeBuffer.Store((index * 0x4 + 0x2BF203) << 2,asuint(particleId));\n |
|
|
|
\ attributeBuffer.Store3((index * 0x4 + 0x4E2000) << 2,asuint(oldPosition));\n |
|
|
|
\ attributeBuffer.Store3((index * 0x8 + 0x7540) << 2,asuint(position));\n |
|
|
|
\ attributeBuffer.Store3((index * 0x4 + 0x41F40) << 2,asuint(velocity));\n |
|
|
|
\ attributeBuffer.Store((index * 0x3 + 0x5F440) << 2,asuint(size));\n |
|
|
|
\ attributeBuffer.Store((index * 0x3 + 0x5F441) << 2,asuint(scaleX));\n |
|
|
|
\ attributeBuffer.Store((index * 0x3 + 0x5F442) << 2,asuint(scaleY));\n |
|
|
|
\ attributeBuffer.Store((index * 0x8 + 0x7543) << 2,asuint(age));\n |
|
|
|
\ attributeBuffer.Store((index * 0x8 + 0x7544) << 2,uint(alive));\n |
|
|
|
\ attributeBuffer.Store((index * 0x4 + 0x41F43) << 2,asuint(particleId));\n |
|
|
|
\ attributeBuffer.Store3((index * 0x4 + 0x75400) << 2,asuint(oldPosition));\n |
|
|
|
* 0x8 + 0x4E200) << 2,asuint(position));\n attributeBuffer.Store3((index |
|
|
|
* 0x4 + 0x2BF200) << 2,asuint(velocity));\n attributeBuffer.Store((index |
|
|
|
* 0x3 + 0x3F7A00) << 2,asuint(size));\n attributeBuffer.Store((index |
|
|
|
* 0x3 + 0x3F7A01) << 2,asuint(scaleX));\n attributeBuffer.Store((index |
|
|
|
* 0x3 + 0x3F7A02) << 2,asuint(scaleY));\n attributeBuffer.Store((index |
|
|
|
* 0x8 + 0x4E203) << 2,asuint(age));\n attributeBuffer.Store((index * |
|
|
|
0x8 + 0x4E204) << 2,uint(alive));\n attributeBuffer.Store((index * 0x4 |
|
|
|
+ 0x2BF203) << 2,asuint(particleId));\n attributeBuffer.Store3((index |
|
|
|
* 0x4 + 0x4E2000) << 2,asuint(oldPosition));\n \n\n#endif\n }\n}\n" |
|
|
|
* 0x8 + 0x7540) << 2,asuint(position));\n attributeBuffer.Store3((index |
|
|
|
* 0x4 + 0x41F40) << 2,asuint(velocity));\n attributeBuffer.Store((index |
|
|
|
* 0x3 + 0x5F440) << 2,asuint(size));\n attributeBuffer.Store((index * |
|
|
|
0x3 + 0x5F441) << 2,asuint(scaleX));\n attributeBuffer.Store((index * |
|
|
|
0x3 + 0x5F442) << 2,asuint(scaleY));\n attributeBuffer.Store((index * |
|
|
|
0x8 + 0x7543) << 2,asuint(age));\n attributeBuffer.Store((index * 0x8 |
|
|
|
+ 0x7544) << 2,uint(alive));\n attributeBuffer.Store((index * 0x4 + 0x41F43) |
|
|
|
<< 2,asuint(particleId));\n attributeBuffer.Store3((index * 0x4 + 0x75400) |
|
|
|
<< 2,asuint(oldPosition));\n \n\n#endif\n }\n}\n" |
|
|
|
- compute: 1 |
|
|
|
name: '[System 1]Update' |
|
|
|
source: "#pragma kernel CSMain\n#include \"HLSLSupport.cginc\"\n#define NB_THREADS_PER_GROUP |
|
|
|
|
|
|
groupId : SV_GroupID,\n uint3 groupThreadId : SV_GroupThreadID)\n{\n\tuint |
|
|
|
id = groupThreadId.x + groupId.x * NB_THREADS_PER_GROUP + groupId.y * dispatchWidth |
|
|
|
* NB_THREADS_PER_GROUP;\n\tuint index = id;\n\tif (id < nbMax)\n\t{\n#if VFX_USE_ALIVE_CURRENT\n\t\tbool |
|
|
|
alive = (attributeBuffer.Load((index * 0x8 + 0x4E204) << 2));\n\t\t\n\n\t\tif |
|
|
|
alive = (attributeBuffer.Load((index * 0x8 + 0x7544) << 2));\n\t\t\n\n\t\tif |
|
|
|
* 0x8 + 0x4E200) << 2));\n\t\t\tfloat3 velocity = asfloat(attributeBuffer.Load3((index |
|
|
|
* 0x4 + 0x2BF200) << 2));\n\t\t\tfloat age = asfloat(attributeBuffer.Load((index |
|
|
|
* 0x8 + 0x4E203) << 2));\n\t\t\tuint eventCount_a = 0u;\n\t\t\tuint eventCount |
|
|
|
= (uint)0;\n\t\t\tuint particleId = (attributeBuffer.Load((index * 0x4 + 0x2BF203) |
|
|
|
* 0x8 + 0x7540) << 2));\n\t\t\tfloat3 velocity = asfloat(attributeBuffer.Load3((index |
|
|
|
* 0x4 + 0x41F40) << 2));\n\t\t\tfloat age = asfloat(attributeBuffer.Load((index |
|
|
|
* 0x8 + 0x7543) << 2));\n\t\t\tuint eventCount_a = 0u;\n\t\t\tuint eventCount |
|
|
|
= (uint)0;\n\t\t\tuint particleId = (attributeBuffer.Load((index * 0x4 + 0x41F43) |
|
|
|
+ 0x4E2000) << 2));\n\t\t\t\n\n\t\t\t\n#if VFX_USE_OLDPOSITION_CURRENT\n\t\t\toldPosition |
|
|
|
+ 0x75400) << 2));\n\t\t\t\n\n\t\t\t\n#if VFX_USE_OLDPOSITION_CURRENT\n\t\t\toldPosition |
|
|
|
= position;\n#endif\n\t\t\t\n\t\t\t{\n\t\t\t float tmp_bp = age / lifetime;\n\t\t\t |
|
|
|
\ float tmp_bq = FixedRand(particleId ^ asuint(uniform_c));\n\t\t\t float |
|
|
|
tmp_bs = tmp_bq * (float)0.1;\n\t\t\t float tmp_bt = tmp_bp - tmp_bs;\n\t\t\t |
|
|
|
|
|
|
*/eventCount, (uint)1, deltaTime_c);\n\t\t\t eventCount_a += eventCount;\n\t\t\t}\n\t\t\tEulerIntegration( |
|
|
|
/*inout */position, velocity, deltaTime_c);\n\t\t\tAge( /*inout */age, deltaTime_c);\n\t\t\tReap(age, |
|
|
|
lifetime, /*inout */alive);\n\t\t\t\n\n\t\t\tif (alive)\n\t\t\t{\n\t\t\t\tattributeBuffer.Store3((index |
|
|
|
* 0x8 + 0x4E200) << 2,asuint(position));\n\t\t\t\tattributeBuffer.Store((index |
|
|
|
* 0x8 + 0x4E203) << 2,asuint(age));\n\t\t\t\tattributeBuffer.Store3((index * |
|
|
|
0x4 + 0x4E2000) << 2,asuint(oldPosition));\n\t\t\t\tfor (uint i = 0; i < eventCount_a; |
|
|
|
* 0x8 + 0x7540) << 2,asuint(position));\n\t\t\t\tattributeBuffer.Store((index |
|
|
|
* 0x8 + 0x7543) << 2,asuint(age));\n\t\t\t\tattributeBuffer.Store3((index * |
|
|
|
0x4 + 0x75400) << 2,asuint(oldPosition));\n\t\t\t\tfor (uint i = 0; i < eventCount_a; |
|
|
|
* 0x8 + 0x4E204) << 2,uint(alive));\n\t\t\t\tfor (uint i = 0; i < eventCount_a; |
|
|
|
* 0x8 + 0x7544) << 2,uint(alive));\n\t\t\t\tfor (uint i = 0; i < eventCount_a; |
|
|
|
* 0x8 + 0x4E200) << 2));\n\t\tfloat3 velocity = asfloat(attributeBuffer.Load3((index |
|
|
|
* 0x4 + 0x2BF200) << 2));\n\t\tfloat age = asfloat(attributeBuffer.Load((index |
|
|
|
* 0x8 + 0x4E203) << 2));\n\t\tbool alive = (attributeBuffer.Load((index * 0x8 |
|
|
|
+ 0x4E204) << 2));\n\t\tuint eventCount_a = 0u;\n\t\tuint eventCount = (uint)0;\n\t\tuint |
|
|
|
particleId = (attributeBuffer.Load((index * 0x4 + 0x2BF203) << 2));\n\t\tfloat3 |
|
|
|
oldPosition = asfloat(attributeBuffer.Load3((index * 0x4 + 0x4E2000) << 2));\n\t\t\n\n\t\t\n#if |
|
|
|
* 0x8 + 0x7540) << 2));\n\t\tfloat3 velocity = asfloat(attributeBuffer.Load3((index |
|
|
|
* 0x4 + 0x41F40) << 2));\n\t\tfloat age = asfloat(attributeBuffer.Load((index |
|
|
|
* 0x8 + 0x7543) << 2));\n\t\tbool alive = (attributeBuffer.Load((index * 0x8 |
|
|
|
+ 0x7544) << 2));\n\t\tuint eventCount_a = 0u;\n\t\tuint eventCount = (uint)0;\n\t\tuint |
|
|
|
particleId = (attributeBuffer.Load((index * 0x4 + 0x41F43) << 2));\n\t\tfloat3 |
|
|
|
oldPosition = asfloat(attributeBuffer.Load3((index * 0x4 + 0x75400) << 2));\n\t\t\n\n\t\t\n#if |
|
|
|
VFX_USE_OLDPOSITION_CURRENT\n\t\toldPosition = position;\n#endif\n\t\t\n\t\t{\n\t\t |
|
|
|
\ float tmp_bp = age / lifetime;\n\t\t float tmp_bq = FixedRand(particleId |
|
|
|
^ asuint(uniform_c));\n\t\t float tmp_bs = tmp_bq * (float)0.1;\n\t\t float |
|
|
|
|
|
|
(uint)1, deltaTime_c);\n\t\t eventCount_a += eventCount;\n\t\t}\n\t\tEulerIntegration( |
|
|
|
/*inout */position, velocity, deltaTime_c);\n\t\tAge( /*inout */age, deltaTime_c);\n\t\tReap(age, |
|
|
|
lifetime, /*inout */alive);\n\t\t\n\n\t\tattributeBuffer.Store3((index * 0x8 |
|
|
|
+ 0x4E200) << 2,asuint(position));\n\t\tattributeBuffer.Store((index * 0x8 + |
|
|
|
0x4E203) << 2,asuint(age));\n\t\tattributeBuffer.Store((index * 0x8 + 0x4E204) |
|
|
|
<< 2,uint(alive));\n\t\tattributeBuffer.Store3((index * 0x4 + 0x4E2000) << 2,asuint(oldPosition));\n\t\tfor |
|
|
|
+ 0x7540) << 2,asuint(position));\n\t\tattributeBuffer.Store((index * 0x8 + |
|
|
|
0x7543) << 2,asuint(age));\n\t\tattributeBuffer.Store((index * 0x8 + 0x7544) |
|
|
|
<< 2,uint(alive));\n\t\tattributeBuffer.Store3((index * 0x4 + 0x75400) << 2,asuint(oldPosition));\n\t\tfor |
|
|
|
(uint i = 0; i < eventCount_a; ++i) eventListOut_a.Append(index);\n\t\t\n\n#if |
|
|
|
VFX_HAS_INDIRECT_DRAW\n uint indirectIndex = indirectBuffer.IncrementCounter();\n\t\tindirectBuffer[indirectIndex] |
|
|
|
= index;\n#endif\n#endif\n\t}\n}\n" |
|
|
|
|
|
|
- deadCount)\n\t\t\t\t\t\t\treturn o; // cull\n\t\t\t\t\t\t\n\t\t\t\t\t\t#if |
|
|
|
VFX_HAS_INDIRECT_DRAW\n\t\t\t\t\t\tindex = indirectBuffer[index];\n\t\t\t\t\t\tfloat |
|
|
|
lifetime = asfloat(attributeBuffer.Load((index * 0x1 + 0x0) << 2));\n\t\t\t\t\t\tfloat3 |
|
|
|
position = asfloat(attributeBuffer.Load3((index * 0x8 + 0x4E200) << 2));\n\t\t\t\t\t\tfloat |
|
|
|
size = asfloat(attributeBuffer.Load((index * 0x3 + 0x3F7A00) << 2));\n\t\t\t\t\t\tfloat |
|
|
|
scaleX = asfloat(attributeBuffer.Load((index * 0x3 + 0x3F7A01) << 2));\n\t\t\t\t\t\tfloat |
|
|
|
scaleY = asfloat(attributeBuffer.Load((index * 0x3 + 0x3F7A02) << 2));\n\t\t\t\t\t\tfloat |
|
|
|
age = asfloat(attributeBuffer.Load((index * 0x8 + 0x4E203) << 2));\n\t\t\t\t\t\tbool |
|
|
|
alive = (attributeBuffer.Load((index * 0x8 + 0x4E204) << 2));\n\t\t\t\t\t\tfloat3 |
|
|
|
position = asfloat(attributeBuffer.Load3((index * 0x8 + 0x7540) << 2));\n\t\t\t\t\t\tfloat |
|
|
|
size = asfloat(attributeBuffer.Load((index * 0x3 + 0x5F440) << 2));\n\t\t\t\t\t\tfloat |
|
|
|
scaleX = asfloat(attributeBuffer.Load((index * 0x3 + 0x5F441) << 2));\n\t\t\t\t\t\tfloat |
|
|
|
scaleY = asfloat(attributeBuffer.Load((index * 0x3 + 0x5F442) << 2));\n\t\t\t\t\t\tfloat |
|
|
|
age = asfloat(attributeBuffer.Load((index * 0x8 + 0x7543) << 2));\n\t\t\t\t\t\tbool |
|
|
|
alive = (attributeBuffer.Load((index * 0x8 + 0x7544) << 2));\n\t\t\t\t\t\tfloat3 |
|
|
|
color = float3(1,1,1);\n\t\t\t\t\t\tfloat alpha = (float)1;\n\t\t\t\t\t\tfloat3 |
|
|
|
axisX = float3(1,0,0);\n\t\t\t\t\t\tfloat3 axisY = float3(0,1,0);\n\t\t\t\t\t\tfloat3 |
|
|
|
axisZ = float3(0,0,1);\n\t\t\t\t\t\tfloat angleX = (float)0;\n\t\t\t\t\t\tfloat |
|
|
|
|
|
|
oldPosition = asfloat(attributeBuffer.Load3((index * 0x4 + 0x4E2000) << 2));\n\t\t\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t\t#else\n\t\t\t\t\t\tbool |
|
|
|
alive = (attributeBuffer.Load((index * 0x8 + 0x4E204) << 2));\n\t\t\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t\tif |
|
|
|
oldPosition = asfloat(attributeBuffer.Load3((index * 0x4 + 0x75400) << 2));\n\t\t\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t\t#else\n\t\t\t\t\t\tbool |
|
|
|
alive = (attributeBuffer.Load((index * 0x8 + 0x7544) << 2));\n\t\t\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t\tif |
|
|
|
position = asfloat(attributeBuffer.Load3((index * 0x8 + 0x4E200) << 2));\n\t\t\t\t\t\tfloat |
|
|
|
size = asfloat(attributeBuffer.Load((index * 0x3 + 0x3F7A00) << 2));\n\t\t\t\t\t\tfloat |
|
|
|
scaleX = asfloat(attributeBuffer.Load((index * 0x3 + 0x3F7A01) << 2));\n\t\t\t\t\t\tfloat |
|
|
|
scaleY = asfloat(attributeBuffer.Load((index * 0x3 + 0x3F7A02) << 2));\n\t\t\t\t\t\tfloat |
|
|
|
age = asfloat(attributeBuffer.Load((index * 0x8 + 0x4E203) << 2));\n\t\t\t\t\t\tfloat3 |
|
|
|
position = asfloat(attributeBuffer.Load3((index * 0x8 + 0x7540) << 2));\n\t\t\t\t\t\tfloat |
|
|
|
size = asfloat(attributeBuffer.Load((index * 0x3 + 0x5F440) << 2));\n\t\t\t\t\t\tfloat |
|
|
|
scaleX = asfloat(attributeBuffer.Load((index * 0x3 + 0x5F441) << 2));\n\t\t\t\t\t\tfloat |
|
|
|
scaleY = asfloat(attributeBuffer.Load((index * 0x3 + 0x5F442) << 2));\n\t\t\t\t\t\tfloat |
|
|
|
age = asfloat(attributeBuffer.Load((index * 0x8 + 0x7543) << 2));\n\t\t\t\t\t\tfloat3 |
|
|
|
color = float3(1,1,1);\n\t\t\t\t\t\tfloat alpha = (float)1;\n\t\t\t\t\t\tfloat3 |
|
|
|
axisX = float3(1,0,0);\n\t\t\t\t\t\tfloat3 axisY = float3(0,1,0);\n\t\t\t\t\t\tfloat3 |
|
|
|
axisZ = float3(0,0,1);\n\t\t\t\t\t\tfloat angleX = (float)0;\n\t\t\t\t\t\tfloat |
|
|
|
|
|
|
oldPosition = asfloat(attributeBuffer.Load3((index * 0x4 + 0x4E2000) << 2));\n\t\t\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t\t#endif\n\t\t\t\t\t\t\n\t\t\t\tOrient_1( |
|
|
|
oldPosition = asfloat(attributeBuffer.Load3((index * 0x4 + 0x75400) << 2));\n\t\t\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t\t#endif\n\t\t\t\t\t\t\n\t\t\t\tOrient_1( |
|
|
|
/*inout */axisX, /*inout */axisY, /*inout */axisZ, position);\n\t\t\t\tColorOverLife_733E3(age, |
|
|
|
lifetime, /*inout */color, /*inout */alpha, gradient_b);\n\t\t\t\tAttributeFromCurve_8BB145A3( |
|
|
|
/*inout */scaleX, /*inout */scaleY, age, lifetime, Scale_x_c, Scale_x_c);\n\t\t\t\tSetAttribute_545F0ED( |
|
|
|
|
|
|
VFX_USE_ALIVE_CURRENT\n if (alive)\n {\n\t\t\tuint deadIndex = |
|
|
|
deadListIn.DecrementCounter();\n uint index = deadListIn[deadIndex];\n |
|
|
|
\ attributeBuffer.Store((index * 0x1 + 0x0) << 2,asuint(lifetime));\n |
|
|
|
\ attributeBuffer.Store3((index * 0x4 + 0x4E200) << 2,asuint(position));\n |
|
|
|
\ attributeBuffer.Store3((index * 0x4 + 0x186A00) << 2,asuint(velocity));\n |
|
|
|
\ attributeBuffer.Store((index * 0x2 + 0x2BF200) << 2,asuint(size));\n |
|
|
|
\ attributeBuffer.Store((index * 0x2 + 0x2BF201) << 2,asuint(alpha));\n |
|
|
|
\ attributeBuffer.Store((index * 0x3 + 0x35B600) << 2,asuint(texIndex));\n |
|
|
|
\ attributeBuffer.Store((index * 0x3 + 0x35B601) << 2,asuint(age));\n |
|
|
|
\ attributeBuffer.Store((index * 0x4 + 0x186A03) << 2,asuint(particleId));\n |
|
|
|
\ attributeBuffer.Store((index * 0x3 + 0x35B602) << 2,uint(alive));\n |
|
|
|
\ attributeBuffer.Store3((index * 0x4 + 0x80) << 2,asuint(position));\n |
|
|
|
\ attributeBuffer.Store3((index * 0x4 + 0x280) << 2,asuint(velocity));\n |
|
|
|
\ attributeBuffer.Store((index * 0x2 + 0x480) << 2,asuint(size));\n |
|
|
|
\ attributeBuffer.Store((index * 0x2 + 0x481) << 2,asuint(alpha));\n |
|
|
|
\ attributeBuffer.Store((index * 0x3 + 0x580) << 2,asuint(texIndex));\n |
|
|
|
\ attributeBuffer.Store((index * 0x3 + 0x581) << 2,asuint(age));\n |
|
|
|
\ attributeBuffer.Store((index * 0x4 + 0x283) << 2,asuint(particleId));\n |
|
|
|
\ attributeBuffer.Store((index * 0x3 + 0x582) << 2,uint(alive));\n |
|
|
|
* 0x4 + 0x4E200) << 2,asuint(position));\n attributeBuffer.Store3((index |
|
|
|
* 0x4 + 0x186A00) << 2,asuint(velocity));\n attributeBuffer.Store((index |
|
|
|
* 0x2 + 0x2BF200) << 2,asuint(size));\n attributeBuffer.Store((index |
|
|
|
* 0x2 + 0x2BF201) << 2,asuint(alpha));\n attributeBuffer.Store((index |
|
|
|
* 0x3 + 0x35B600) << 2,asuint(texIndex));\n attributeBuffer.Store((index |
|
|
|
* 0x3 + 0x35B601) << 2,asuint(age));\n attributeBuffer.Store((index * |
|
|
|
0x4 + 0x186A03) << 2,asuint(particleId));\n attributeBuffer.Store((index |
|
|
|
* 0x3 + 0x35B602) << 2,uint(alive));\n \n\n#endif\n }\n}\n" |
|
|
|
* 0x4 + 0x80) << 2,asuint(position));\n attributeBuffer.Store3((index |
|
|
|
* 0x4 + 0x280) << 2,asuint(velocity));\n attributeBuffer.Store((index |
|
|
|
* 0x2 + 0x480) << 2,asuint(size));\n attributeBuffer.Store((index * 0x2 |
|
|
|
+ 0x481) << 2,asuint(alpha));\n attributeBuffer.Store((index * 0x3 + |
|
|
|
0x580) << 2,asuint(texIndex));\n attributeBuffer.Store((index * 0x3 + |
|
|
|
0x581) << 2,asuint(age));\n attributeBuffer.Store((index * 0x4 + 0x283) |
|
|
|
<< 2,asuint(particleId));\n attributeBuffer.Store((index * 0x3 + 0x582) |
|
|
|
<< 2,uint(alive));\n \n\n#endif\n }\n}\n" |
|
|
|
- compute: 1 |
|
|
|
name: '[System 2]Update' |
|
|
|
source: "#pragma kernel CSMain\n#include \"HLSLSupport.cginc\"\n#define NB_THREADS_PER_GROUP |
|
|
|
|
|
|
groupId : SV_GroupID,\n uint3 groupThreadId : SV_GroupThreadID)\n{\n\tuint |
|
|
|
id = groupThreadId.x + groupId.x * NB_THREADS_PER_GROUP + groupId.y * dispatchWidth |
|
|
|
* NB_THREADS_PER_GROUP;\n\tuint index = id;\n\tif (id < nbMax)\n\t{\n#if VFX_USE_ALIVE_CURRENT\n\t\tbool |
|
|
|
alive = (attributeBuffer.Load((index * 0x3 + 0x35B602) << 2));\n\t\t\n\n\t\tif |
|
|
|
alive = (attributeBuffer.Load((index * 0x3 + 0x582) << 2));\n\t\t\n\n\t\tif |
|
|
|
* 0x4 + 0x4E200) << 2));\n\t\t\tfloat3 velocity = asfloat(attributeBuffer.Load3((index |
|
|
|
* 0x4 + 0x186A00) << 2));\n\t\t\tfloat texIndex = asfloat(attributeBuffer.Load((index |
|
|
|
* 0x3 + 0x35B600) << 2));\n\t\t\tfloat age = asfloat(attributeBuffer.Load((index |
|
|
|
* 0x3 + 0x35B601) << 2));\n\t\t\tuint particleId = (attributeBuffer.Load((index |
|
|
|
* 0x4 + 0x186A03) << 2));\n\t\t\t\n\n\t\t\t\n#if VFX_USE_OLDPOSITION_CURRENT\n\t\t\toldPosition |
|
|
|
* 0x4 + 0x80) << 2));\n\t\t\tfloat3 velocity = asfloat(attributeBuffer.Load3((index |
|
|
|
* 0x4 + 0x280) << 2));\n\t\t\tfloat texIndex = asfloat(attributeBuffer.Load((index |
|
|
|
* 0x3 + 0x580) << 2));\n\t\t\tfloat age = asfloat(attributeBuffer.Load((index |
|
|
|
* 0x3 + 0x581) << 2));\n\t\t\tuint particleId = (attributeBuffer.Load((index |
|
|
|
* 0x4 + 0x283) << 2));\n\t\t\t\n\n\t\t\t\n#if VFX_USE_OLDPOSITION_CURRENT\n\t\t\toldPosition |
|
|
|
= position;\n#endif\n\t\t\t\n\t\t\tFlipbookPlay_1( /*inout */texIndex, age, |
|
|
|
lifetime, FrameRate_a, deltaTime_a);\n\t\t\t{\n\t\t\t float tmp_bg = age |
|
|
|
/ lifetime;\n\t\t\t float tmp_bh = FixedRand(particleId ^ asuint(uniform_e));\n\t\t\t |
|
|
|
|
|
|
*/position, tmp_cf);\n\t\t\t}\n\t\t\tEulerIntegration( /*inout */position, velocity, |
|
|
|
deltaTime_a);\n\t\t\tAge( /*inout */age, deltaTime_a);\n\t\t\tReap(age, lifetime, |
|
|
|
\ /*inout */alive);\n\t\t\t\n\n\t\t\tif (alive)\n\t\t\t{\n\t\t\t\tattributeBuffer.Store3((index |
|
|
|
* 0x4 + 0x4E200) << 2,asuint(position));\n\t\t\t\tattributeBuffer.Store((index |
|
|
|
* 0x3 + 0x35B600) << 2,asuint(texIndex));\n\t\t\t\tattributeBuffer.Store((index |
|
|
|
* 0x3 + 0x35B601) << 2,asuint(age));\n\t\t\t\t\n\n#if VFX_HAS_INDIRECT_DRAW\n |
|
|
|
\ uint indirectIndex = indirectBuffer.IncrementCounter();\n\t\t\t\tindirectBuffer[indirectIndex] |
|
|
|
* 0x4 + 0x80) << 2,asuint(position));\n\t\t\t\tattributeBuffer.Store((index |
|
|
|
* 0x3 + 0x580) << 2,asuint(texIndex));\n\t\t\t\tattributeBuffer.Store((index |
|
|
|
* 0x3 + 0x581) << 2,asuint(age));\n\t\t\t\t\n\n#if VFX_HAS_INDIRECT_DRAW\n uint |
|
|
|
indirectIndex = indirectBuffer.IncrementCounter();\n\t\t\t\tindirectBuffer[indirectIndex] |
|
|
|
* 0x3 + 0x35B602) << 2,uint(alive));\n\t\t\t\t\n\n\t\t\t\tuint deadIndex = deadListOut.IncrementCounter();\n\t\t\t\tdeadListOut[deadIndex] |
|
|
|
* 0x3 + 0x582) << 2,uint(alive));\n\t\t\t\t\n\n\t\t\t\tuint deadIndex = deadListOut.IncrementCounter();\n\t\t\t\tdeadListOut[deadIndex] |
|
|
|
* 0x4 + 0x4E200) << 2));\n\t\tfloat3 velocity = asfloat(attributeBuffer.Load3((index |
|
|
|
* 0x4 + 0x186A00) << 2));\n\t\tfloat texIndex = asfloat(attributeBuffer.Load((index |
|
|
|
* 0x3 + 0x35B600) << 2));\n\t\tfloat age = asfloat(attributeBuffer.Load((index |
|
|
|
* 0x3 + 0x35B601) << 2));\n\t\tuint particleId = (attributeBuffer.Load((index |
|
|
|
* 0x4 + 0x186A03) << 2));\n\t\tbool alive = (attributeBuffer.Load((index * 0x3 |
|
|
|
+ 0x35B602) << 2));\n\t\t\n\n\t\t\n#if VFX_USE_OLDPOSITION_CURRENT\n\t\toldPosition |
|
|
|
* 0x4 + 0x80) << 2));\n\t\tfloat3 velocity = asfloat(attributeBuffer.Load3((index |
|
|
|
* 0x4 + 0x280) << 2));\n\t\tfloat texIndex = asfloat(attributeBuffer.Load((index |
|
|
|
* 0x3 + 0x580) << 2));\n\t\tfloat age = asfloat(attributeBuffer.Load((index |
|
|
|
* 0x3 + 0x581) << 2));\n\t\tuint particleId = (attributeBuffer.Load((index * |
|
|
|
0x4 + 0x283) << 2));\n\t\tbool alive = (attributeBuffer.Load((index * 0x3 + |
|
|
|
0x582) << 2));\n\t\t\n\n\t\t\n#if VFX_USE_OLDPOSITION_CURRENT\n\t\toldPosition |
|
|
|
= position;\n#endif\n\t\t\n\t\tFlipbookPlay_1( /*inout */texIndex, age, lifetime, |
|
|
|
FrameRate_a, deltaTime_a);\n\t\t{\n\t\t float tmp_bg = age / lifetime;\n\t\t |
|
|
|
\ float tmp_bh = FixedRand(particleId ^ asuint(uniform_e));\n\t\t float |
|
|
|
|
|
|
\ SetAttribute_CAC29747( /*inout */position, tmp_cf);\n\t\t}\n\t\tEulerIntegration( |
|
|
|
/*inout */position, velocity, deltaTime_a);\n\t\tAge( /*inout */age, deltaTime_a);\n\t\tReap(age, |
|
|
|
lifetime, /*inout */alive);\n\t\t\n\n\t\tattributeBuffer.Store3((index * 0x4 |
|
|
|
+ 0x4E200) << 2,asuint(position));\n\t\tattributeBuffer.Store((index * 0x3 + |
|
|
|
0x35B600) << 2,asuint(texIndex));\n\t\tattributeBuffer.Store((index * 0x3 + |
|
|
|
0x35B601) << 2,asuint(age));\n\t\tattributeBuffer.Store((index * 0x3 + 0x35B602) |
|
|
|
<< 2,uint(alive));\n\t\t\n\n#if VFX_HAS_INDIRECT_DRAW\n uint indirectIndex |
|
|
|
= indirectBuffer.IncrementCounter();\n\t\tindirectBuffer[indirectIndex] = index;\n#endif\n#endif\n\t}\n}\n" |
|
|
|
+ 0x80) << 2,asuint(position));\n\t\tattributeBuffer.Store((index * 0x3 + 0x580) |
|
|
|
<< 2,asuint(texIndex));\n\t\tattributeBuffer.Store((index * 0x3 + 0x581) << |
|
|
|
2,asuint(age));\n\t\tattributeBuffer.Store((index * 0x3 + 0x582) << 2,uint(alive));\n\t\t\n\n#if |
|
|
|
VFX_HAS_INDIRECT_DRAW\n uint indirectIndex = indirectBuffer.IncrementCounter();\n\t\tindirectBuffer[indirectIndex] |
|
|
|
= index;\n#endif\n#endif\n\t}\n}\n" |
|
|
|
- compute: 0 |
|
|
|
name: '[System 2]Magic Lamp - Smoke' |
|
|
|
source: "Shader \"Hidden/VFX/System 2/Magic Lamp - Smoke\"\n{\n\tSubShader\n\t{\t\n\t\tCull |
|
|
|
|
|
|
(index >= asuint(nbMax) - deadCount)\n\t\t\t\t\t\t\treturn o; // cull\n\t\t\t\t\t\t\n\t\t\t\t\t\t#if |
|
|
|
VFX_HAS_INDIRECT_DRAW\n\t\t\t\t\t\tindex = indirectBuffer[index];\n\t\t\t\t\t\tfloat |
|
|
|
lifetime = asfloat(attributeBuffer.Load((index * 0x1 + 0x0) << 2));\n\t\t\t\t\t\tfloat3 |
|
|
|
position = asfloat(attributeBuffer.Load3((index * 0x4 + 0x4E200) << 2));\n\t\t\t\t\t\tfloat |
|
|
|
size = asfloat(attributeBuffer.Load((index * 0x2 + 0x2BF200) << 2));\n\t\t\t\t\t\tfloat |
|
|
|
alpha = asfloat(attributeBuffer.Load((index * 0x2 + 0x2BF201) << 2));\n\t\t\t\t\t\tfloat |
|
|
|
texIndex = asfloat(attributeBuffer.Load((index * 0x3 + 0x35B600) << 2));\n\t\t\t\t\t\tfloat |
|
|
|
age = asfloat(attributeBuffer.Load((index * 0x3 + 0x35B601) << 2));\n\t\t\t\t\t\tfloat3 |
|
|
|
position = asfloat(attributeBuffer.Load3((index * 0x4 + 0x80) << 2));\n\t\t\t\t\t\tfloat |
|
|
|
size = asfloat(attributeBuffer.Load((index * 0x2 + 0x480) << 2));\n\t\t\t\t\t\tfloat |
|
|
|
alpha = asfloat(attributeBuffer.Load((index * 0x2 + 0x481) << 2));\n\t\t\t\t\t\tfloat |
|
|
|
texIndex = asfloat(attributeBuffer.Load((index * 0x3 + 0x580) << 2));\n\t\t\t\t\t\tfloat |
|
|
|
age = asfloat(attributeBuffer.Load((index * 0x3 + 0x581) << 2));\n\t\t\t\t\t\tfloat3 |
|
|
|
* 0x3 + 0x35B602) << 2));\n\t\t\t\t\t\tfloat3 axisX = float3(1,0,0);\n\t\t\t\t\t\tfloat3 |
|
|
|
* 0x3 + 0x582) << 2));\n\t\t\t\t\t\tfloat3 axisX = float3(1,0,0);\n\t\t\t\t\t\tfloat3 |
|
|
|
axisY = float3(0,1,0);\n\t\t\t\t\t\tfloat3 axisZ = float3(0,0,1);\n\t\t\t\t\t\tfloat |
|
|
|
angleX = (float)0;\n\t\t\t\t\t\tfloat angleY = (float)0;\n\t\t\t\t\t\tfloat |
|
|
|
angleZ = (float)0;\n\t\t\t\t\t\tfloat pivotX = (float)0;\n\t\t\t\t\t\tfloat |
|
|
|
|
|
|
alive = (attributeBuffer.Load((index * 0x3 + 0x35B602) << 2));\n\t\t\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t\tif |
|
|
|
alive = (attributeBuffer.Load((index * 0x3 + 0x582) << 2));\n\t\t\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t\tif |
|
|
|
position = asfloat(attributeBuffer.Load3((index * 0x4 + 0x4E200) << 2));\n\t\t\t\t\t\tfloat |
|
|
|
size = asfloat(attributeBuffer.Load((index * 0x2 + 0x2BF200) << 2));\n\t\t\t\t\t\tfloat |
|
|
|
alpha = asfloat(attributeBuffer.Load((index * 0x2 + 0x2BF201) << 2));\n\t\t\t\t\t\tfloat |
|
|
|
texIndex = asfloat(attributeBuffer.Load((index * 0x3 + 0x35B600) << 2));\n\t\t\t\t\t\tfloat |
|
|
|
age = asfloat(attributeBuffer.Load((index * 0x3 + 0x35B601) << 2));\n\t\t\t\t\t\tfloat3 |
|
|
|
position = asfloat(attributeBuffer.Load3((index * 0x4 + 0x80) << 2));\n\t\t\t\t\t\tfloat |
|
|
|
size = asfloat(attributeBuffer.Load((index * 0x2 + 0x480) << 2));\n\t\t\t\t\t\tfloat |
|
|
|
alpha = asfloat(attributeBuffer.Load((index * 0x2 + 0x481) << 2));\n\t\t\t\t\t\tfloat |
|
|
|
texIndex = asfloat(attributeBuffer.Load((index * 0x3 + 0x580) << 2));\n\t\t\t\t\t\tfloat |
|
|
|
age = asfloat(attributeBuffer.Load((index * 0x3 + 0x581) << 2));\n\t\t\t\t\t\tfloat3 |
|
|
|
color = float3(1,1,1);\n\t\t\t\t\t\tfloat3 axisX = float3(1,0,0);\n\t\t\t\t\t\tfloat3 |
|
|
|
axisY = float3(0,1,0);\n\t\t\t\t\t\tfloat3 axisZ = float3(0,0,1);\n\t\t\t\t\t\tfloat |
|
|
|
angleX = (float)0;\n\t\t\t\t\t\tfloat angleY = (float)0;\n\t\t\t\t\t\tfloat |
|
|
|
|
|
|
\ float texIndex = (float)0;\n float age = (float)0;\n float3 |
|
|
|
velocity = float3(0,0,0);\n uint particleId = (uint)0;\n bool |
|
|
|
alive = (bool)true;\n float3 position_source = asfloat(sourceAttributeBuffer.Load3((sourceIndex |
|
|
|
* 0x8 + 0x4E200) << 2));\n \n\n#if VFX_USE_PARTICLEID_CURRENT\n particleId |
|
|
|
* 0x8 + 0x7540) << 2));\n \n\n#if VFX_USE_PARTICLEID_CURRENT\n particleId |
|
|
|
= particleIndex;\n#endif\n#if VFX_USE_SEED_CURRENT\n seed = WangHash(particleIndex |
|
|
|
^ systemSeed);\n#endif\n \n {\n SetAttribute_F01429A3( |
|
|
|
/*inout */lifetime, /*inout */seed, (float)0.1, (float)5);\n }\n {\n |
|
|
|
|
|
|
\ if (alive)\n {\n\t\t\tuint deadIndex = deadListIn.DecrementCounter();\n |
|
|
|
\ uint index = deadListIn[deadIndex];\n attributeBuffer.Store((index |
|
|
|
* 0x1 + 0x0) << 2,asuint(lifetime));\n attributeBuffer.Store3((index |
|
|
|
* 0x8 + 0x4E200) << 2,asuint(position));\n attributeBuffer.Store((index |
|
|
|
* 0x4 + 0x2BF200) << 2,asuint(size));\n attributeBuffer.Store((index |
|
|
|
* 0x4 + 0x2BF201) << 2,asuint(scaleX));\n attributeBuffer.Store((index |
|
|
|
* 0x4 + 0x2BF202) << 2,asuint(scaleY));\n attributeBuffer.Store((index |
|
|
|
* 0x4 + 0x2BF203) << 2,asuint(alpha));\n attributeBuffer.Store((index |
|
|
|
* 0x1 + 0x3F7A00) << 2,asuint(texIndex));\n attributeBuffer.Store((index |
|
|
|
* 0x8 + 0x4E203) << 2,asuint(age));\n attributeBuffer.Store3((index |
|
|
|
* 0x8 + 0x4E204) << 2,asuint(velocity));\n attributeBuffer.Store((index |
|
|
|
* 0x1 + 0x445C00) << 2,asuint(particleId));\n attributeBuffer.Store((index |
|
|
|
* 0x8 + 0x4E207) << 2,uint(alive));\n \n\n }\n#else\n uint |
|
|
|
* 0x8 + 0x61C0) << 2,asuint(position));\n attributeBuffer.Store((index |
|
|
|
* 0x4 + 0x36FC0) << 2,asuint(size));\n attributeBuffer.Store((index |
|
|
|
* 0x4 + 0x36FC1) << 2,asuint(scaleX));\n attributeBuffer.Store((index |
|
|
|
* 0x4 + 0x36FC2) << 2,asuint(scaleY));\n attributeBuffer.Store((index |
|
|
|
* 0x4 + 0x36FC3) << 2,asuint(alpha));\n attributeBuffer.Store((index |
|
|
|
* 0x1 + 0x4F6C0) << 2,asuint(texIndex));\n attributeBuffer.Store((index |
|
|
|
* 0x8 + 0x61C3) << 2,asuint(age));\n attributeBuffer.Store3((index |
|
|
|
* 0x8 + 0x61C4) << 2,asuint(velocity));\n attributeBuffer.Store((index |
|
|
|
* 0x1 + 0x55880) << 2,asuint(particleId));\n attributeBuffer.Store((index |
|
|
|
* 0x8 + 0x61C7) << 2,uint(alive));\n \n\n }\n#else\n uint |
|
|
|
2,asuint(lifetime));\n attributeBuffer.Store3((index * 0x8 + 0x4E200) |
|
|
|
<< 2,asuint(position));\n attributeBuffer.Store((index * 0x4 + 0x2BF200) |
|
|
|
<< 2,asuint(size));\n attributeBuffer.Store((index * 0x4 + 0x2BF201) |
|
|
|
<< 2,asuint(scaleX));\n attributeBuffer.Store((index * 0x4 + 0x2BF202) |
|
|
|
<< 2,asuint(scaleY));\n attributeBuffer.Store((index * 0x4 + 0x2BF203) |
|
|
|
<< 2,asuint(alpha));\n attributeBuffer.Store((index * 0x1 + 0x3F7A00) |
|
|
|
<< 2,asuint(texIndex));\n attributeBuffer.Store((index * 0x8 + 0x4E203) |
|
|
|
<< 2,asuint(age));\n attributeBuffer.Store3((index * 0x8 + 0x4E204) << |
|
|
|
2,asuint(velocity));\n attributeBuffer.Store((index * 0x1 + 0x445C00) |
|
|
|
<< 2,asuint(particleId));\n attributeBuffer.Store((index * 0x8 + 0x4E207) |
|
|
|
<< 2,uint(alive));\n \n\n#endif\n }\n}\n" |
|
|
|
2,asuint(lifetime));\n attributeBuffer.Store3((index * 0x8 + 0x61C0) |
|
|
|
<< 2,asuint(position));\n attributeBuffer.Store((index * 0x4 + 0x36FC0) |
|
|
|
<< 2,asuint(size));\n attributeBuffer.Store((index * 0x4 + 0x36FC1) << |
|
|
|
2,asuint(scaleX));\n attributeBuffer.Store((index * 0x4 + 0x36FC2) << |
|
|
|
2,asuint(scaleY));\n attributeBuffer.Store((index * 0x4 + 0x36FC3) << |
|
|
|
2,asuint(alpha));\n attributeBuffer.Store((index * 0x1 + 0x4F6C0) << |
|
|
|
2,asuint(texIndex));\n attributeBuffer.Store((index * 0x8 + 0x61C3) << |
|
|
|
2,asuint(age));\n attributeBuffer.Store3((index * 0x8 + 0x61C4) << 2,asuint(velocity));\n |
|
|
|
\ attributeBuffer.Store((index * 0x1 + 0x55880) << 2,asuint(particleId));\n |
|
|
|
\ attributeBuffer.Store((index * 0x8 + 0x61C7) << 2,uint(alive));\n \n\n#endif\n |
|
|
|
\ }\n}\n" |
|
|
|
- compute: 1 |
|
|
|
name: '[System 3]Update' |
|
|
|
source: "#pragma kernel CSMain\n#include \"HLSLSupport.cginc\"\n#define NB_THREADS_PER_GROUP |
|
|
|
|
|
|
\ : SV_GroupThreadID)\n{\n\tuint id = groupThreadId.x + groupId.x * NB_THREADS_PER_GROUP |
|
|
|
+ groupId.y * dispatchWidth * NB_THREADS_PER_GROUP;\n\tuint index = id;\n\tif |
|
|
|
(id < nbMax)\n\t{\n#if VFX_USE_ALIVE_CURRENT\n\t\tbool alive = (attributeBuffer.Load((index |
|
|
|
* 0x8 + 0x4E207) << 2));\n\t\t\n\n\t\tif (alive)\n\t\t{\n\t\t\tfloat lifetime |
|
|
|
* 0x8 + 0x61C7) << 2));\n\t\t\n\n\t\tif (alive)\n\t\t{\n\t\t\tfloat lifetime |
|
|
|
= asfloat(attributeBuffer.Load3((index * 0x8 + 0x4E200) << 2));\n\t\t\tfloat |
|
|
|
texIndex = asfloat(attributeBuffer.Load((index * 0x1 + 0x3F7A00) << 2));\n\t\t\tfloat |
|
|
|
age = asfloat(attributeBuffer.Load((index * 0x8 + 0x4E203) << 2));\n\t\t\tfloat3 |
|
|
|
velocity = asfloat(attributeBuffer.Load3((index * 0x8 + 0x4E204) << 2));\n\t\t\tfloat |
|
|
|
= asfloat(attributeBuffer.Load3((index * 0x8 + 0x61C0) << 2));\n\t\t\tfloat |
|
|
|
texIndex = asfloat(attributeBuffer.Load((index * 0x1 + 0x4F6C0) << 2));\n\t\t\tfloat |
|
|
|
age = asfloat(attributeBuffer.Load((index * 0x8 + 0x61C3) << 2));\n\t\t\tfloat3 |
|
|
|
velocity = asfloat(attributeBuffer.Load3((index * 0x8 + 0x61C4) << 2));\n\t\t\tfloat |
|
|
|
+ 0x445C00) << 2));\n\t\t\tfloat3 position_source = position;\n\t\t\t\n\n\t\t\t\n#if |
|
|
|
+ 0x55880) << 2));\n\t\t\tfloat3 position_source = position;\n\t\t\t\n\n\t\t\t\n#if |
|
|
|
VFX_USE_OLDPOSITION_CURRENT\n\t\t\toldPosition = position;\n#endif\n\t\t\t\n\t\t\tFlipbookPlay_1( |
|
|
|
/*inout */texIndex, age, lifetime, FrameRate_a, deltaTime_a);\n\t\t\t{\n\t\t\t |
|
|
|
\ float tmp_bi = age / lifetime;\n\t\t\t float tmp_bk = FixedRand(particleId |
|
|
|
|
|
|
FieldTransform_c, (float)1, tmp_bz, tmp_cc, (uint)4, deltaTime_a);\n\t\t\t}\n\t\t\tEulerIntegration( |
|
|
|
/*inout */position, velocity, deltaTime_a);\n\t\t\tAge( /*inout */age, deltaTime_a);\n\t\t\tReap(age, |
|
|
|
lifetime, /*inout */alive);\n\t\t\t\n\n\t\t\tif (alive)\n\t\t\t{\n\t\t\t\tattributeBuffer.Store3((index |
|
|
|
* 0x8 + 0x4E200) << 2,asuint(position));\n\t\t\t\tattributeBuffer.Store((index |
|
|
|
* 0x1 + 0x3F7A00) << 2,asuint(texIndex));\n\t\t\t\tattributeBuffer.Store((index |
|
|
|
* 0x8 + 0x4E203) << 2,asuint(age));\n\t\t\t\tattributeBuffer.Store3((index * |
|
|
|
0x8 + 0x4E204) << 2,asuint(velocity));\n\t\t\t\t\n\n#if VFX_HAS_INDIRECT_DRAW\n |
|
|
|
* 0x8 + 0x61C0) << 2,asuint(position));\n\t\t\t\tattributeBuffer.Store((index |
|
|
|
* 0x1 + 0x4F6C0) << 2,asuint(texIndex));\n\t\t\t\tattributeBuffer.Store((index |
|
|
|
* 0x8 + 0x61C3) << 2,asuint(age));\n\t\t\t\tattributeBuffer.Store3((index * |
|
|
|
0x8 + 0x61C4) << 2,asuint(velocity));\n\t\t\t\t\n\n#if VFX_HAS_INDIRECT_DRAW\n |
|
|
|
* 0x8 + 0x4E207) << 2,uint(alive));\n\t\t\t\t\n\n\t\t\t\tuint deadIndex = deadListOut.IncrementCounter();\n\t\t\t\tdeadListOut[deadIndex] |
|
|
|
* 0x8 + 0x61C7) << 2,uint(alive));\n\t\t\t\t\n\n\t\t\t\tuint deadIndex = deadListOut.IncrementCounter();\n\t\t\t\tdeadListOut[deadIndex] |
|
|
|
* 0x8 + 0x4E200) << 2));\n\t\tfloat texIndex = asfloat(attributeBuffer.Load((index |
|
|
|
* 0x1 + 0x3F7A00) << 2));\n\t\tfloat age = asfloat(attributeBuffer.Load((index |
|
|
|
* 0x8 + 0x4E203) << 2));\n\t\tfloat3 velocity = asfloat(attributeBuffer.Load3((index |
|
|
|
* 0x8 + 0x4E204) << 2));\n\t\tfloat mass = (float)1;\n\t\tuint particleId = |
|
|
|
(attributeBuffer.Load((index * 0x1 + 0x445C00) << 2));\n\t\tbool alive = (attributeBuffer.Load((index |
|
|
|
* 0x8 + 0x4E207) << 2));\n\t\tfloat3 position_source = position;\n\t\t\n\n\t\t\n#if |
|
|
|
* 0x8 + 0x61C0) << 2));\n\t\tfloat texIndex = asfloat(attributeBuffer.Load((index |
|
|
|
* 0x1 + 0x4F6C0) << 2));\n\t\tfloat age = asfloat(attributeBuffer.Load((index |
|
|
|
* 0x8 + 0x61C3) << 2));\n\t\tfloat3 velocity = asfloat(attributeBuffer.Load3((index |
|
|
|
* 0x8 + 0x61C4) << 2));\n\t\tfloat mass = (float)1;\n\t\tuint particleId = (attributeBuffer.Load((index |
|
|
|
* 0x1 + 0x55880) << 2));\n\t\tbool alive = (attributeBuffer.Load((index * 0x8 |
|
|
|
+ 0x61C7) << 2));\n\t\tfloat3 position_source = position;\n\t\t\n\n\t\t\n#if |
|
|
|
VFX_USE_OLDPOSITION_CURRENT\n\t\toldPosition = position;\n#endif\n\t\t\n\t\tFlipbookPlay_1( |
|
|
|
/*inout */texIndex, age, lifetime, FrameRate_a, deltaTime_a);\n\t\t{\n\t\t float |
|
|
|
tmp_bi = age / lifetime;\n\t\t float tmp_bk = FixedRand(particleId ^ asuint(uniform_f));\n\t\t |
|
|
|
|
|
|
*/velocity, mass, InvFieldTransform_c, FieldTransform_c, (float)1, tmp_bz, tmp_cc, |
|
|
|
(uint)4, deltaTime_a);\n\t\t}\n\t\tEulerIntegration( /*inout */position, velocity, |
|
|
|
deltaTime_a);\n\t\tAge( /*inout */age, deltaTime_a);\n\t\tReap(age, lifetime, |
|
|
|
\ /*inout */alive);\n\t\t\n\n\t\tattributeBuffer.Store3((index * 0x8 + 0x4E200) |
|
|
|
<< 2,asuint(position));\n\t\tattributeBuffer.Store((index * 0x1 + 0x3F7A00) |
|
|
|
<< 2,asuint(texIndex));\n\t\tattributeBuffer.Store((index * 0x8 + 0x4E203) << |
|
|
|
2,asuint(age));\n\t\tattributeBuffer.Store3((index * 0x8 + 0x4E204) << 2,asuint(velocity));\n\t\tattributeBuffer.Store((index |
|
|
|
* 0x8 + 0x4E207) << 2,uint(alive));\n\t\t\n\n#if VFX_HAS_INDIRECT_DRAW\n uint |
|
|
|
\ /*inout */alive);\n\t\t\n\n\t\tattributeBuffer.Store3((index * 0x8 + 0x61C0) |
|
|
|
<< 2,asuint(position));\n\t\tattributeBuffer.Store((index * 0x1 + 0x4F6C0) << |
|
|
|
2,asuint(texIndex));\n\t\tattributeBuffer.Store((index * 0x8 + 0x61C3) << 2,asuint(age));\n\t\tattributeBuffer.Store3((index |
|
|
|
* 0x8 + 0x61C4) << 2,asuint(velocity));\n\t\tattributeBuffer.Store((index * |
|
|
|
0x8 + 0x61C7) << 2,uint(alive));\n\t\t\n\n#if VFX_HAS_INDIRECT_DRAW\n uint |
|
|
|
indirectIndex = indirectBuffer.IncrementCounter();\n\t\tindirectBuffer[indirectIndex] |
|
|
|
= index;\n#endif\n#endif\n\t}\n}\n" |
|
|
|
- compute: 0 |
|
|
|
|
|
|
(index >= asuint(nbMax) - deadCount)\n\t\t\t\t\t\t\treturn o; // cull\n\t\t\t\t\t\t\n\t\t\t\t\t\t#if |
|
|
|
VFX_HAS_INDIRECT_DRAW\n\t\t\t\t\t\tindex = indirectBuffer[index];\n\t\t\t\t\t\tfloat |
|
|
|
lifetime = asfloat(attributeBuffer.Load((index * 0x1 + 0x0) << 2));\n\t\t\t\t\t\tfloat3 |
|
|
|
position = asfloat(attributeBuffer.Load3((index * 0x8 + 0x4E200) << 2));\n\t\t\t\t\t\tfloat |
|
|
|
size = asfloat(attributeBuffer.Load((index * 0x4 + 0x2BF200) << 2));\n\t\t\t\t\t\tfloat |
|
|
|
scaleX = asfloat(attributeBuffer.Load((index * 0x4 + 0x2BF201) << 2));\n\t\t\t\t\t\tfloat |
|
|
|
scaleY = asfloat(attributeBuffer.Load((index * 0x4 + 0x2BF202) << 2));\n\t\t\t\t\t\tfloat |
|
|
|
alpha = asfloat(attributeBuffer.Load((index * 0x4 + 0x2BF203) << 2));\n\t\t\t\t\t\tfloat |
|
|
|
age = asfloat(attributeBuffer.Load((index * 0x8 + 0x4E203) << 2));\n\t\t\t\t\t\tfloat3 |
|
|
|
velocity = asfloat(attributeBuffer.Load3((index * 0x8 + 0x4E204) << 2));\n\t\t\t\t\t\tfloat3 |
|
|
|
position = asfloat(attributeBuffer.Load3((index * 0x8 + 0x61C0) << 2));\n\t\t\t\t\t\tfloat |
|
|
|
size = asfloat(attributeBuffer.Load((index * 0x4 + 0x36FC0) << 2));\n\t\t\t\t\t\tfloat |
|
|
|
scaleX = asfloat(attributeBuffer.Load((index * 0x4 + 0x36FC1) << 2));\n\t\t\t\t\t\tfloat |
|
|
|
scaleY = asfloat(attributeBuffer.Load((index * 0x4 + 0x36FC2) << 2));\n\t\t\t\t\t\tfloat |
|
|
|
alpha = asfloat(attributeBuffer.Load((index * 0x4 + 0x36FC3) << 2));\n\t\t\t\t\t\tfloat |
|
|
|
age = asfloat(attributeBuffer.Load((index * 0x8 + 0x61C3) << 2));\n\t\t\t\t\t\tfloat3 |
|
|
|
velocity = asfloat(attributeBuffer.Load3((index * 0x8 + 0x61C4) << 2));\n\t\t\t\t\t\tfloat3 |
|
|
|
* 0x8 + 0x4E207) << 2));\n\t\t\t\t\t\tfloat3 axisX = float3(1,0,0);\n\t\t\t\t\t\tfloat3 |
|
|
|
* 0x8 + 0x61C7) << 2));\n\t\t\t\t\t\tfloat3 axisX = float3(1,0,0);\n\t\t\t\t\t\tfloat3 |
|
|
|
alive = (attributeBuffer.Load((index * 0x8 + 0x4E207) << 2));\n\t\t\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t\tif |
|
|
|
alive = (attributeBuffer.Load((index * 0x8 + 0x61C7) << 2));\n\t\t\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t\tif |
|
|
|
position = asfloat(attributeBuffer.Load3((index * 0x8 + 0x4E200) << 2));\n\t\t\t\t\t\tfloat |
|
|
|
size = asfloat(attributeBuffer.Load((index * 0x4 + 0x2BF200) << 2));\n\t\t\t\t\t\tfloat |
|
|
|
scaleX = asfloat(attributeBuffer.Load((index * 0x4 + 0x2BF201) << 2));\n\t\t\t\t\t\tfloat |
|
|
|
scaleY = asfloat(attributeBuffer.Load((index * 0x4 + 0x2BF202) << 2));\n\t\t\t\t\t\tfloat |
|
|
|
alpha = asfloat(attributeBuffer.Load((index * 0x4 + 0x2BF203) << 2));\n\t\t\t\t\t\tfloat |
|
|
|
age = asfloat(attributeBuffer.Load((index * 0x8 + 0x4E203) << 2));\n\t\t\t\t\t\tfloat3 |
|
|
|
velocity = asfloat(attributeBuffer.Load3((index * 0x8 + 0x4E204) << 2));\n\t\t\t\t\t\tfloat3 |
|
|
|
position = asfloat(attributeBuffer.Load3((index * 0x8 + 0x61C0) << 2));\n\t\t\t\t\t\tfloat |
|
|
|
size = asfloat(attributeBuffer.Load((index * 0x4 + 0x36FC0) << 2));\n\t\t\t\t\t\tfloat |
|
|
|
scaleX = asfloat(attributeBuffer.Load((index * 0x4 + 0x36FC1) << 2));\n\t\t\t\t\t\tfloat |
|
|
|
scaleY = asfloat(attributeBuffer.Load((index * 0x4 + 0x36FC2) << 2));\n\t\t\t\t\t\tfloat |
|
|
|
alpha = asfloat(attributeBuffer.Load((index * 0x4 + 0x36FC3) << 2));\n\t\t\t\t\t\tfloat |
|
|
|
age = asfloat(attributeBuffer.Load((index * 0x8 + 0x61C3) << 2));\n\t\t\t\t\t\tfloat3 |
|
|
|
velocity = asfloat(attributeBuffer.Load3((index * 0x8 + 0x61C4) << 2));\n\t\t\t\t\t\tfloat3 |
|
|
|
color = float3(1,1,1);\n\t\t\t\t\t\tfloat3 axisX = float3(1,0,0);\n\t\t\t\t\t\tfloat3 |
|
|
|
axisY = float3(0,1,0);\n\t\t\t\t\t\tfloat3 axisZ = float3(0,0,1);\n\t\t\t\t\t\tfloat |
|
|
|
angleX = (float)0;\n\t\t\t\t\t\tfloat angleY = (float)0;\n\t\t\t\t\t\tfloat |
|
|
|
|
|
|
(index >= asuint(nbMax) - deadCount)\n\t\t\t\t\t\t\treturn o; // cull\n\t\t\t\t\t\t\n\t\t\t\t\t\t#if |
|
|
|
VFX_HAS_INDIRECT_DRAW\n\t\t\t\t\t\tindex = indirectBuffer[index];\n\t\t\t\t\t\tfloat |
|
|
|
lifetime = asfloat(attributeBuffer.Load((index * 0x1 + 0x0) << 2));\n\t\t\t\t\t\tfloat3 |
|
|
|
position = asfloat(attributeBuffer.Load3((index * 0x8 + 0x4E200) << 2));\n\t\t\t\t\t\tfloat |
|
|
|
size = asfloat(attributeBuffer.Load((index * 0x4 + 0x2BF200) << 2));\n\t\t\t\t\t\tfloat |
|
|
|
scaleX = asfloat(attributeBuffer.Load((index * 0x4 + 0x2BF201) << 2));\n\t\t\t\t\t\tfloat |
|
|
|
scaleY = asfloat(attributeBuffer.Load((index * 0x4 + 0x2BF202) << 2));\n\t\t\t\t\t\tfloat |
|
|
|
alpha = asfloat(attributeBuffer.Load((index * 0x4 + 0x2BF203) << 2));\n\t\t\t\t\t\tfloat |
|
|
|
age = asfloat(attributeBuffer.Load((index * 0x8 + 0x4E203) << 2));\n\t\t\t\t\t\tfloat3 |
|
|
|
velocity = asfloat(attributeBuffer.Load3((index * 0x8 + 0x4E204) << 2));\n\t\t\t\t\t\tfloat3 |
|
|
|
position = asfloat(attributeBuffer.Load3((index * 0x8 + 0x61C0) << 2));\n\t\t\t\t\t\tfloat |
|
|
|
size = asfloat(attributeBuffer.Load((index * 0x4 + 0x36FC0) << 2));\n\t\t\t\t\t\tfloat |
|
|
|
scaleX = asfloat(attributeBuffer.Load((index * 0x4 + 0x36FC1) << 2));\n\t\t\t\t\t\tfloat |
|
|
|
scaleY = asfloat(attributeBuffer.Load((index * 0x4 + 0x36FC2) << 2));\n\t\t\t\t\t\tfloat |
|
|
|
alpha = asfloat(attributeBuffer.Load((index * 0x4 + 0x36FC3) << 2));\n\t\t\t\t\t\tfloat |
|
|
|
age = asfloat(attributeBuffer.Load((index * 0x8 + 0x61C3) << 2));\n\t\t\t\t\t\tfloat3 |
|
|
|
velocity = asfloat(attributeBuffer.Load3((index * 0x8 + 0x61C4) << 2));\n\t\t\t\t\t\tfloat3 |
|
|
|
* 0x8 + 0x4E207) << 2));\n\t\t\t\t\t\tfloat3 axisX = float3(1,0,0);\n\t\t\t\t\t\tfloat3 |
|
|
|
* 0x8 + 0x61C7) << 2));\n\t\t\t\t\t\tfloat3 axisX = float3(1,0,0);\n\t\t\t\t\t\tfloat3 |
|
|
|
alive = (attributeBuffer.Load((index * 0x8 + 0x4E207) << 2));\n\t\t\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t\tif |
|
|
|
alive = (attributeBuffer.Load((index * 0x8 + 0x61C7) << 2));\n\t\t\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t\tif |
|
|
|
position = asfloat(attributeBuffer.Load3((index * 0x8 + 0x4E200) << 2));\n\t\t\t\t\t\tfloat |
|
|
|
size = asfloat(attributeBuffer.Load((index * 0x4 + 0x2BF200) << 2));\n\t\t\t\t\t\tfloat |
|
|
|
scaleX = asfloat(attributeBuffer.Load((index * 0x4 + 0x2BF201) << 2));\n\t\t\t\t\t\tfloat |
|
|
|
scaleY = asfloat(attributeBuffer.Load((index * 0x4 + 0x2BF202) << 2));\n\t\t\t\t\t\tfloat |
|
|
|
alpha = asfloat(attributeBuffer.Load((index * 0x4 + 0x2BF203) << 2));\n\t\t\t\t\t\tfloat |
|
|
|
age = asfloat(attributeBuffer.Load((index * 0x8 + 0x4E203) << 2));\n\t\t\t\t\t\tfloat3 |
|
|
|
velocity = asfloat(attributeBuffer.Load3((index * 0x8 + 0x4E204) << 2));\n\t\t\t\t\t\tfloat3 |
|
|
|
position = asfloat(attributeBuffer.Load3((index * 0x8 + 0x61C0) << 2));\n\t\t\t\t\t\tfloat |
|
|
|
size = asfloat(attributeBuffer.Load((index * 0x4 + 0x36FC0) << 2));\n\t\t\t\t\t\tfloat |
|
|
|
scaleX = asfloat(attributeBuffer.Load((index * 0x4 + 0x36FC1) << 2));\n\t\t\t\t\t\tfloat |
|
|
|
scaleY = asfloat(attributeBuffer.Load((index * 0x4 + 0x36FC2) << 2));\n\t\t\t\t\t\tfloat |
|
|
|
alpha = asfloat(attributeBuffer.Load((index * 0x4 + 0x36FC3) << 2));\n\t\t\t\t\t\tfloat |
|
|
|
age = asfloat(attributeBuffer.Load((index * 0x8 + 0x61C3) << 2));\n\t\t\t\t\t\tfloat3 |
|
|
|
velocity = asfloat(attributeBuffer.Load3((index * 0x8 + 0x61C4) << 2));\n\t\t\t\t\t\tfloat3 |
|
|
|
color = float3(1,1,1);\n\t\t\t\t\t\tfloat3 axisX = float3(1,0,0);\n\t\t\t\t\t\tfloat3 |
|
|
|
axisY = float3(0,1,0);\n\t\t\t\t\t\tfloat3 axisZ = float3(0,0,1);\n\t\t\t\t\t\tfloat |
|
|
|
angleX = (float)0;\n\t\t\t\t\t\tfloat angleY = (float)0;\n\t\t\t\t\t\tfloat |
|
|
|
|
|
|
-= deadListCount.Load(0);\n#endif\n\tuint id = groupThreadId.x + groupId.x * |
|
|
|
NB_THREADS_PER_GROUP + groupId.y * dispatchWidth * NB_THREADS_PER_GROUP;\n\tif |
|
|
|
(id < threshold)\n\t{\n\t\tuint index = inputBuffer[id];\n\t\tfloat3 position |
|
|
|
= asfloat(attributeBuffer.Load3((index * 0x4 + 0x4E200) << 2));\n\t\t\n\n\t\t\n#if |
|
|
|
= asfloat(attributeBuffer.Load3((index * 0x4 + 0x80) << 2));\n\t\t\n\n\t\t\n#if |
|
|
|
VFX_LOCAL_SPACE\n\t\tfloat3 wPos = mul(localToWorld,float4(position,1.0f)).xyz;\n#else\n\t\tfloat3 |
|
|
|
wPos = position;\n#endif\n\t\tfloat3 camToPos = wPos - cameraPosition;\n\t\t\n\t\tKvp |
|
|
|
kvp;\n\t\tkvp.sortKey = dot(camToPos,camToPos); // sqr distance to the camera\n\t\tkvp.index |
|
|
|
|
|
|
index: 19 |
|
|
|
m_Buffers: |
|
|
|
- type: 1 |
|
|
|
size: 6720000 |
|
|
|
size: 630320 |
|
|
|
layout: |
|
|
|
- name: lifetime |
|
|
|
type: 1 |
|
|
|
|
|
|
- name: position |
|
|
|
type: 3 |
|
|
|
offset: |
|
|
|
bucket: 320000 |
|
|
|
bucket: 30016 |
|
|
|
bucket: 320000 |
|
|
|
bucket: 30016 |
|
|
|
bucket: 320000 |
|
|
|
bucket: 30016 |
|
|
|
bucket: 2880000 |
|
|
|
bucket: 270144 |
|
|
|
bucket: 2880000 |
|
|
|
bucket: 270144 |
|
|
|
bucket: 4160000 |
|
|
|
bucket: 390208 |
|
|
|
bucket: 4160000 |
|
|
|
bucket: 390208 |
|
|
|
bucket: 4160000 |
|
|
|
bucket: 390208 |
|
|
|
bucket: 5120000 |
|
|
|
bucket: 480256 |
|
|
|
bucket: 6400000 |
|
|
|
bucket: 600320 |
|
|
|
capacity: 320000 |
|
|
|
capacity: 30000 |
|
|
|
size: 4480000 |
|
|
|
size: 1768 |
|
|
|
layout: |
|
|
|
- name: lifetime |
|
|
|
type: 1 |
|
|
|
|
|
|
- name: position |
|
|
|
type: 3 |
|
|
|
offset: |
|
|
|
bucket: 320000 |
|
|
|
bucket: 128 |
|
|
|
bucket: 1600000 |
|
|
|
bucket: 640 |
|
|
|
bucket: 1600000 |
|
|
|
bucket: 640 |
|
|
|
bucket: 2880000 |
|
|
|
bucket: 1152 |
|
|
|
bucket: 2880000 |
|
|
|
bucket: 1152 |
|
|
|
bucket: 3520000 |
|
|
|
bucket: 1408 |
|
|
|
bucket: 3520000 |
|
|
|
bucket: 1408 |
|
|
|
bucket: 3520000 |
|
|
|
bucket: 1408 |
|
|
|
capacity: 320000 |
|
|
|
capacity: 120 |
|
|
|
size: 4800000 |
|
|
|
size: 375336 |
|
|
|
layout: |
|
|
|
- name: lifetime |
|
|
|
type: 1 |
|
|
|
|
|
|
- name: position |
|
|
|
type: 3 |
|
|
|
offset: |
|
|
|
bucket: 320000 |
|
|
|
bucket: 25024 |
|
|
|
bucket: 320000 |
|
|
|
bucket: 25024 |
|
|
|
bucket: 320000 |
|
|
|
bucket: 25024 |
|
|
|
bucket: 320000 |
|
|
|
bucket: 25024 |
|
|
|
bucket: 2880000 |
|
|
|
bucket: 225216 |
|
|
|
bucket: 2880000 |
|
|
|
bucket: 225216 |
|
|
|
bucket: 2880000 |
|
|
|
bucket: 225216 |
|
|
|
bucket: 2880000 |
|
|
|
bucket: 225216 |
|
|
|
bucket: 4160000 |
|
|
|
bucket: 325312 |
|
|
|
bucket: 4480000 |
|
|
|
bucket: 350336 |
|
|
|
capacity: 320000 |
|
|
|
capacity: 25000 |
|
|
|
stride: 4 |
|
|
|
- type: 1 |
|
|
|
size: 103 |
|
|
|
|
|
|
capacity: 7 |
|
|
|
stride: 4 |
|
|
|
- type: 2 |
|
|
|
size: 320000 |
|
|
|
size: 25000 |
|
|
|
size: 6720000 |
|
|
|
size: 630336 |
|
|
|
layout: |
|
|
|
- name: lifetime |
|
|
|
type: 1 |
|
|
|
|
|
|
- name: position |
|
|
|
type: 3 |
|
|
|
offset: |
|
|
|
bucket: 320000 |
|
|
|
bucket: 30016 |
|
|
|
bucket: 320000 |
|
|
|
bucket: 30016 |
|
|
|
bucket: 320000 |
|
|
|
bucket: 30016 |
|
|
|
bucket: 2880000 |
|
|
|
bucket: 270144 |
|
|
|
bucket: 2880000 |
|
|
|
bucket: 270144 |
|
|
|
bucket: 4160000 |
|
|
|
bucket: 390208 |
|
|
|
bucket: 4160000 |
|
|
|
bucket: 390208 |
|
|
|
bucket: 4160000 |
|
|
|
bucket: 390208 |
|
|
|
bucket: 5120000 |
|
|
|
bucket: 480256 |
|
|
|
bucket: 6400000 |
|
|
|
bucket: 600320 |
|
|
|
capacity: 320000 |
|
|
|
capacity: 30016 |
|
|
|
stride: 4 |
|
|
|
- type: 1 |
|
|
|
size: 1 |
|
|
|
|
|
|
capacity: 1 |
|
|
|
stride: 4 |
|
|
|
- type: 4 |
|
|
|
size: 320000 |
|
|
|
size: 30000 |
|
|
|
layout: [] |
|
|
|
capacity: 0 |
|
|
|
stride: 4 |
|
|
|
|
|
|
capacity: 0 |
|
|
|
stride: 4 |
|
|
|
- type: 1 |
|
|
|
size: 4480000 |
|
|
|
size: 1792 |
|
|
|
layout: |
|
|
|
- name: lifetime |
|
|
|
type: 1 |
|
|
|
|
|
|
- name: position |
|
|
|
type: 3 |
|
|
|
offset: |
|
|
|
bucket: 320000 |
|
|
|
bucket: 128 |
|
|
|
bucket: 1600000 |
|
|
|
bucket: 640 |
|
|
|
bucket: 1600000 |
|
|
|
bucket: 640 |
|
|
|
bucket: 2880000 |
|
|
|
bucket: 1152 |
|
|
|
bucket: 2880000 |
|
|
|
bucket: 1152 |
|
|
|
bucket: 3520000 |
|
|
|
bucket: 1408 |
|
|
|
bucket: 3520000 |
|
|
|
bucket: 1408 |
|
|
|
bucket: 3520000 |
|
|
|
bucket: 1408 |
|
|
|
capacity: 320000 |
|
|
|
capacity: 128 |
|
|
|
stride: 4 |
|
|
|
- type: 1 |
|
|
|
size: 1 |
|
|
|
|
|
|
capacity: 1 |
|
|
|
stride: 4 |
|
|
|
- type: 4 |
|
|
|
size: 320000 |
|
|
|
size: 120 |
|
|
|
layout: [] |
|
|
|
capacity: 0 |
|
|
|
stride: 4 |
|
|
|
|
|
|
capacity: 0 |
|
|
|
stride: 4 |
|
|
|
- type: 4 |
|
|
|
size: 320000 |
|
|
|
size: 120 |
|
|
|
size: 320000 |
|
|
|
size: 120 |
|
|
|
size: 320000 |
|
|
|
size: 120 |
|
|
|
size: 4800000 |
|
|
|
size: 375360 |
|
|
|
layout: |
|
|
|
- name: lifetime |
|
|
|
type: 1 |
|
|
|
|
|
|
- name: position |
|
|
|
type: 3 |
|
|
|
offset: |
|
|
|
bucket: 320000 |
|
|
|
bucket: 25024 |
|
|
|
bucket: 320000 |
|
|
|
bucket: 25024 |
|
|
|
bucket: 320000 |
|
|
|
bucket: 25024 |
|
|
|
bucket: 320000 |
|
|
|
bucket: 25024 |
|
|
|
bucket: 2880000 |
|
|
|
bucket: 225216 |
|
|
|
bucket: 2880000 |
|
|
|
bucket: 225216 |
|
|
|
bucket: 2880000 |
|
|
|
bucket: 225216 |
|
|
|
bucket: 2880000 |
|
|
|
bucket: 225216 |
|
|
|
bucket: 4160000 |
|
|
|
bucket: 325312 |
|
|
|
bucket: 4480000 |
|
|
|
bucket: 350336 |
|
|
|
capacity: 320000 |
|
|
|
capacity: 25024 |
|
|
|
size: 320000 |
|
|
|
size: 25000 |
|
|
|
layout: [] |
|
|
|
capacity: 0 |
|
|
|
stride: 4 |
|
|
|
|
|
|
shaderSourceIndex: -1 |
|
|
|
- type: 1 |
|
|
|
flags: 1 |
|
|
|
capacity: 320000 |
|
|
|
capacity: 30000 |
|
|
|
layer: 0 |
|
|
|
buffers: |
|
|
|
- nameId: attributeBuffer |
|
|
|
|
|
|
shaderSourceIndex: 2 |
|
|
|
- type: 1 |
|
|
|
flags: 3 |
|
|
|
capacity: 320000 |
|
|
|
capacity: 120 |
|
|
|
layer: 4294967295 |
|
|
|
buffers: |
|
|
|
- nameId: attributeBuffer |
|
|
|
|
|
|
shaderSourceIndex: 5 |
|
|
|
- type: 1 |
|
|
|
flags: 5 |
|
|
|
capacity: 320000 |
|
|
|
capacity: 25000 |
|
|
|
layer: 1 |
|
|
|
buffers: |
|
|
|
- nameId: attributeBuffer |
|
|
|
|
|
|
- {fileID: 8926484042661614879} |
|
|
|
- {fileID: 8926484042661614914} |
|
|
|
- {fileID: 8926484042661615038} |
|
|
|
m_Capacity: 320000 |
|
|
|
m_Capacity: 120 |
|
|
|
m_Space: 1 |
|
|
|
--- !u!114 &8926484042661614890 |
|
|
|
MonoBehaviour: |
|
|
|
|
|
|
m_EditorClassIdentifier: |
|
|
|
m_Parent: {fileID: 114780028408030698} |
|
|
|
m_Children: [] |
|
|
|
m_UIPosition: {x: 0, y: 0} |
|
|
|
m_UIPosition: {x: 0, y: 270} |
|
|
|
m_UICollapsed: 0 |
|
|
|
m_UISuperCollapsed: 0 |
|
|
|
m_InputSlots: |
|
|
|
|
|
|
- {fileID: 8926484042661616250} |
|
|
|
- {fileID: 8926484042661616285} |
|
|
|
- {fileID: 8926484042661616655} |
|
|
|
m_Capacity: 320000 |
|
|
|
m_Capacity: 25000 |
|
|
|
m_Space: 1 |
|
|
|
--- !u!114 &8926484042661616261 |
|
|
|
MonoBehaviour: |
|
|
|
|
|
|
m_EditorClassIdentifier: |
|
|
|
m_Parent: {fileID: 114350483966674976} |
|
|
|
m_Children: [] |
|
|
|
m_UIPosition: {x: 3269, y: -22} |
|
|
|
m_UIPosition: {x: 3239, y: 52} |
|
|
|
m_UICollapsed: 0 |
|
|
|
m_UISuperCollapsed: 0 |
|
|
|
m_InputSlots: [] |
|
|
|