553 lines
11 KiB
JSON
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"
|
|
}
|
|
}
|
|
]
|
|
} |