Files
2025-04-29 13:39:02 -05:00

553 lines
11 KiB
JSON

{
"version" : 1,
"replacementkey" : "fluidsimulation",
"name" : "ui_editor_effect_advanced_fluid_simulation_title",
"description" : "ui_editor_effect_advanced_fluid_simulation_description",
"group" : "interactive",
"performance" : "veryexpensive",
"preview" : "preview/project.json",
"passes" :
[
{
"material" : "materials/effects/fluidsimulation_curl.json",
"target" : "_rt_SmokeCurl",
"bind" :
[
{
"name" : "_rt_SmokeVelocity1",
"index" : 0
}
]
},
{
"material" : "materials/effects/fluidsimulation_vorticity.json",
"target" : "_rt_SmokeVelocity2",
"bind" :
[
{
"name" : "_rt_SmokeVelocity1",
"index" : 0
},
{
"name" : "_rt_SmokeCurl",
"index" : 1
}
]
},
{
"material" : "materials/effects/fluidsimulation_divergence.json",
"target" : "_rt_SmokeDivergence",
"bind" :
[
{
"name" : "_rt_SmokeVelocity2",
"index" : 0
}
]
},
{
"material" : "materials/effects/fluidsimulation_clear.json",
"target" : "_rt_SmokePressure2",
"bind" :
[
{
"name" : "_rt_SmokePressure1",
"index" : 0
}
]
},
{
"material" : "materials/effects/fluidsimulation_pressure.json",
"target" : "_rt_SmokePressure1",
"bind" :
[
{
"name" : "_rt_SmokeDivergence",
"index" : 0
},
{
"name" : "_rt_SmokePressure2",
"index" : 1
}
]
},
{
"material" : "materials/effects/fluidsimulation_pressure.json",
"target" : "_rt_SmokePressure2",
"bind" :
[
{
"name" : "_rt_SmokeDivergence",
"index" : 0
},
{
"name" : "_rt_SmokePressure1",
"index" : 1
}
]
},
{
"material" : "materials/effects/fluidsimulation_pressure.json",
"target" : "_rt_SmokePressure1",
"bind" :
[
{
"name" : "_rt_SmokeDivergence",
"index" : 0
},
{
"name" : "_rt_SmokePressure2",
"index" : 1
}
]
},
{
"material" : "materials/effects/fluidsimulation_pressure.json",
"target" : "_rt_SmokePressure2",
"bind" :
[
{
"name" : "_rt_SmokeDivergence",
"index" : 0
},
{
"name" : "_rt_SmokePressure1",
"index" : 1
}
]
},
{
"material" : "materials/effects/fluidsimulation_pressure.json",
"target" : "_rt_SmokePressure1",
"bind" :
[
{
"name" : "_rt_SmokeDivergence",
"index" : 0
},
{
"name" : "_rt_SmokePressure2",
"index" : 1
}
]
},
{
"material" : "materials/effects/fluidsimulation_pressure.json",
"target" : "_rt_SmokePressure2",
"bind" :
[
{
"name" : "_rt_SmokeDivergence",
"index" : 0
},
{
"name" : "_rt_SmokePressure1",
"index" : 1
}
]
},
{
"material" : "materials/effects/fluidsimulation_pressure.json",
"target" : "_rt_SmokePressure1",
"bind" :
[
{
"name" : "_rt_SmokeDivergence",
"index" : 0
},
{
"name" : "_rt_SmokePressure2",
"index" : 1
}
]
},
{
"material" : "materials/effects/fluidsimulation_pressure.json",
"target" : "_rt_SmokePressure2",
"bind" :
[
{
"name" : "_rt_SmokeDivergence",
"index" : 0
},
{
"name" : "_rt_SmokePressure1",
"index" : 1
}
]
},
{
"material" : "materials/effects/fluidsimulation_pressure.json",
"target" : "_rt_SmokePressure1",
"bind" :
[
{
"name" : "_rt_SmokeDivergence",
"index" : 0
},
{
"name" : "_rt_SmokePressure2",
"index" : 1
}
]
},
{
"material" : "materials/effects/fluidsimulation_gradientsubtract.json",
"target" : "_rt_SmokeVelocity1",
"bind" :
[
{
"name" : "_rt_SmokePressure1",
"index" : 0
},
{
"name" : "_rt_SmokeVelocity2",
"index" : 1
}
]
},
{
"material" : "materials/effects/fluidsimulation_advection.json",
"target" : "_rt_SmokeVelocity2",
"bind" :
[
{
"name" : "_rt_SmokeVelocity1",
"index" : 0
},
{
"name" : "_rt_SmokeVelocity1",
"index" : 1
}
]
},
{
"material" : "materials/effects/fluidsimulation_advection_dye.json",
"target" : "_rt_SmokeDye2",
"bind" :
[
{
"name" : "_rt_SmokeVelocity2",
"index" : 0
},
{
"name" : "_rt_SmokeDye1",
"index" : 1
},
{
"name" : "previous",
"index" : 2
}
]
},
{
"material" : "materials/effects/fluidsimulation_normal.json",
"target" : "_rt_SmokeNormal",
"bind" :
[
{
"name" : "_rt_SmokeDye2",
"index" : 0
}
],
"conditions" :
[
{
"LIGHTING" : 1
}
]
},
{
"material" : "materials/effects/fluidsimulation_combine.json",
"bind" :
[
{
"name" : "_rt_SmokeDye2",
"index" : 0
},
{
"name" : "previous",
"index" : 1
},
{
"name" : "_rt_SmokeNormal",
"index" : 2,
"conditions" :
[
{
"LIGHTING" : 1
}
]
},
{
"name" : "_rt_SmokeVelocity2",
"index" : 4,
"conditions" :
[
{
"RENDERING" : 3
}
]
}
]
},
{
"command" : "swap",
"source" : "_rt_SmokeVelocity1",
"target" : "_rt_SmokeVelocity2"
},
{
"command" : "swap",
"source" : "_rt_SmokeDye1",
"target" : "_rt_SmokeDye2"
}
],
"fbos" :
[
{
"name" : "_rt_SmokeVelocity1",
"fit" : 256,
"format" : "rg1616f",
"clear" : "0 0 0 0",
"unique" : true
},
{
"name" : "_rt_SmokeVelocity2",
"fit" : 256,
"format" : "rg1616f",
"clear" : "0 0 0 0",
"unique" : true
},
{
"name" : "_rt_SmokePressure1",
"fit" : 256,
"format" : "r16f",
"clear" : "0 0 0 0",
"unique" : true
},
{
"name" : "_rt_SmokePressure2",
"fit" : 256,
"format" : "r16f",
"clear" : "0 0 0 0",
"unique" : true
},
{
"name" : "_rt_SmokeDivergence",
"fit" : 256,
"format" : "r16f",
"unique" : true
},
{
"name" : "_rt_SmokeCurl",
"fit" : 256,
"format" : "r16f",
"unique" : true
},
{
"name" : "_rt_SmokeDye1",
"scale" : 2,
"format" : "rgba_backbuffer",
"clear" : "0 0 0 0",
"unique" : true
},
{
"name" : "_rt_SmokeDye2",
"scale" : 2,
"format" : "rgba_backbuffer",
"clear" : "0 0 0 0",
"unique" : true
},
{
"name" : "_rt_SmokeNormal",
"scale" : 2,
"format" : "rgba8888",
"conditions" :
[
{
"LIGHTING" : 1
}
]
}
],
"functions" : {
"clearVelocity" : {
"action" : "clear",
"fbos" : [ "_rt_SmokeVelocity1", "_rt_SmokeVelocity2" ]
},
"clearDye" : {
"action" : "clear",
"fbos" : [ "_rt_SmokeDye1", "_rt_SmokeDye2" ]
}
},
"dependencies" :
[
"materials/effects/fluidsimulation_advection.json",
"materials/effects/fluidsimulation_advection_dye.json",
"materials/effects/fluidsimulation_clear.json",
"materials/effects/fluidsimulation_combine.json",
"materials/effects/fluidsimulation_curl.json",
"materials/effects/fluidsimulation_divergence.json",
"materials/effects/fluidsimulation_gradientsubtract.json",
"materials/effects/fluidsimulation_pressure.json",
"materials/effects/fluidsimulation_vorticity.json",
"materials/effects/fluidsimulation_normal.json",
"shaders/effects/fluidsimulation_advection.frag",
"shaders/effects/fluidsimulation_advection.vert",
"shaders/effects/fluidsimulation_clear.frag",
"shaders/effects/fluidsimulation_clear.vert",
"shaders/effects/fluidsimulation_combine.frag",
"shaders/effects/fluidsimulation_combine.vert",
"shaders/effects/fluidsimulation_curl.frag",
"shaders/effects/fluidsimulation_curl.vert",
"shaders/effects/fluidsimulation_divergence.frag",
"shaders/effects/fluidsimulation_divergence.vert",
"shaders/effects/fluidsimulation_gradientsubtract.frag",
"shaders/effects/fluidsimulation_gradientsubtract.vert",
"shaders/effects/fluidsimulation_pressure.frag",
"shaders/effects/fluidsimulation_pressure.vert",
"shaders/effects/fluidsimulation_vorticity.frag",
"shaders/effects/fluidsimulation_vorticity.vert",
"shaders/effects/fluidsimulation_normal.frag",
"shaders/effects/fluidsimulation_normal.vert",
],
"gizmos" :
[
{
"type" : "EffectPointEmitter",
"condition" :
{
"POINTEMITTER" : {
"op" : "ge",
"value" : 1
}
},
"vars" :
{
"center" : "emitterPos0",
"angle" : "emitterAngle0",
"size" : "emitterSize0",
"speed" : "emitterSpeed0"
}
},
{
"type" : "EffectPointEmitter",
"condition" :
{
"POINTEMITTER" : {
"op" : "ge",
"value" : 2
}
},
"vars" :
{
"center" : "emitterPos1",
"angle" : "emitterAngle1",
"size" : "emitterSize1",
"speed" : "emitterSpeed1"
}
},
{
"type" : "EffectPointEmitter",
"condition" :
{
"POINTEMITTER" : {
"op" : "ge",
"value" : 3
}
},
"vars" :
{
"center" : "emitterPos2",
"angle" : "emitterAngle2",
"size" : "emitterSize2",
"speed" : "emitterSpeed2"
}
},
{
"type" : "EffectPointEmitter",
"condition" :
{
"POINTEMITTER" : {
"op" : "ge",
"value" : 4
}
},
"vars" :
{
"center" : "emitterPos3",
"angle" : "emitterAngle3",
"size" : "emitterSize3",
"speed" : "emitterSpeed3"
}
},
{
"type" : "EffectLineEmitter",
"condition" :
{
"LINEEMITTER" : {
"op" : "ge",
"value" : 1
}
},
"vars" :
{
"p0" : "lineEmitterPosA0",
"p1" : "lineEmitterPosB0",
"angle" : "lineEmitterAngle0",
"size" : "lineEmitterSize0",
"speed" : "lineEmitterSpeed0"
}
},
{
"type" : "EffectLineEmitter",
"condition" :
{
"LINEEMITTER" : {
"op" : "ge",
"value" : 2
}
},
"vars" :
{
"p0" : "lineEmitterPosA1",
"p1" : "lineEmitterPosB1",
"angle" : "lineEmitterAngle1",
"size" : "lineEmitterSize1",
"speed" : "lineEmitterSpeed1"
}
},
{
"type" : "EffectLineEmitter",
"condition" :
{
"LINEEMITTER" : {
"op" : "ge",
"value" : 3
}
},
"vars" :
{
"p0" : "lineEmitterPosA2",
"p1" : "lineEmitterPosB2",
"angle" : "lineEmitterAngle2",
"size" : "lineEmitterSize2",
"speed" : "lineEmitterSpeed2"
}
},
{
"type" : "EffectPerspectiveUV",
"condition" :
{
"PERSPECTIVE" : 1
},
"vars" :
{
"p0" : "point0",
"p1" : "point1",
"p2" : "point2",
"p3" : "point3"
}
}
]
}