Format code for shader generators
This commit is contained in:
@@ -10,7 +10,7 @@ void ParticleEmitterGPUGenerator::ProcessModule(Node* node)
|
||||
auto nodeGpu = (ParticleEmitterGraphGPUNode*)node;
|
||||
switch (node->TypeID)
|
||||
{
|
||||
// Orient Sprite
|
||||
// Orient Sprite
|
||||
case 201:
|
||||
case 303:
|
||||
{
|
||||
@@ -28,7 +28,7 @@ void ParticleEmitterGPUGenerator::ProcessModule(Node* node)
|
||||
}
|
||||
break;
|
||||
}
|
||||
// Orient Model
|
||||
// Orient Model
|
||||
case 213:
|
||||
case 309:
|
||||
{
|
||||
@@ -39,14 +39,14 @@ void ParticleEmitterGPUGenerator::ProcessModule(Node* node)
|
||||
}
|
||||
break;
|
||||
}
|
||||
// Update Age
|
||||
// Update Age
|
||||
case 300:
|
||||
{
|
||||
auto attribute = AccessParticleAttribute(node, nodeGpu->Attributes[0], AccessMode::ReadWrite);
|
||||
_writer.Write(TEXT("\t{0} += DeltaTime;\n"), attribute.Value);
|
||||
break;
|
||||
}
|
||||
// Gravity/Force
|
||||
// Gravity/Force
|
||||
case 301:
|
||||
case 304:
|
||||
{
|
||||
@@ -55,7 +55,7 @@ void ParticleEmitterGPUGenerator::ProcessModule(Node* node)
|
||||
_writer.Write(TEXT("\t{0} += {1} * DeltaTime;\n"), attribute.Value, force.Value);
|
||||
break;
|
||||
}
|
||||
// Conform to Sphere
|
||||
// Conform to Sphere
|
||||
case 305:
|
||||
{
|
||||
auto position = AccessParticleAttribute(node, nodeGpu->Attributes[0], AccessMode::Read);
|
||||
@@ -94,7 +94,7 @@ void ParticleEmitterGPUGenerator::ProcessModule(Node* node)
|
||||
), position.Value, velocity.Value, mass.Value, sphereCenter.Value, sphereRadius.Value, attractionSpeed.Value, attractionForce.Value, stickDistance.Value, stickForce.Value);
|
||||
break;
|
||||
}
|
||||
// Kill (sphere)
|
||||
// Kill (sphere)
|
||||
case 306:
|
||||
{
|
||||
UseKill();
|
||||
@@ -119,7 +119,7 @@ void ParticleEmitterGPUGenerator::ProcessModule(Node* node)
|
||||
), position.Value, sphereCenter.Value, sphereRadius.Value, sign);
|
||||
break;
|
||||
}
|
||||
// Kill (box)
|
||||
// Kill (box)
|
||||
case 307:
|
||||
{
|
||||
UseKill();
|
||||
@@ -149,7 +149,7 @@ void ParticleEmitterGPUGenerator::ProcessModule(Node* node)
|
||||
), position.Value, boxCenter.Value, boxSize.Value, invert);
|
||||
break;
|
||||
}
|
||||
// Kill (custom)
|
||||
// Kill (custom)
|
||||
case 308:
|
||||
{
|
||||
UseKill();
|
||||
@@ -162,7 +162,7 @@ void ParticleEmitterGPUGenerator::ProcessModule(Node* node)
|
||||
), kill.Value);
|
||||
break;
|
||||
}
|
||||
// Linear Drag
|
||||
// Linear Drag
|
||||
case 310:
|
||||
{
|
||||
const bool useSpriteSize = node->Values[3].AsBool;
|
||||
@@ -195,7 +195,7 @@ void ParticleEmitterGPUGenerator::ProcessModule(Node* node)
|
||||
}
|
||||
break;
|
||||
}
|
||||
// Turbulence
|
||||
// Turbulence
|
||||
case 311:
|
||||
{
|
||||
auto position = AccessParticleAttribute(node, nodeGpu->Attributes[0], AccessMode::Read);
|
||||
@@ -225,7 +225,7 @@ void ParticleEmitterGPUGenerator::ProcessModule(Node* node)
|
||||
), position.Value, velocity.Value, mass.Value, fieldPosition.Value, fieldRotation.Value, fieldScale.Value, roughness.Value, intensity.Value, octavesCount.Value);
|
||||
break;
|
||||
}
|
||||
// Set Attribute
|
||||
// Set Attribute
|
||||
case 200:
|
||||
case 302:
|
||||
{
|
||||
@@ -235,7 +235,7 @@ void ParticleEmitterGPUGenerator::ProcessModule(Node* node)
|
||||
SET_ATTRIBUTE(attribute, value.Value);
|
||||
break;
|
||||
}
|
||||
// Set Position/Lifetime/Age/..
|
||||
// Set Position/Lifetime/Age/..
|
||||
case 250:
|
||||
case 251:
|
||||
case 252:
|
||||
@@ -271,7 +271,7 @@ void ParticleEmitterGPUGenerator::ProcessModule(Node* node)
|
||||
SET_ATTRIBUTE(attribute, value.Value);
|
||||
break;
|
||||
}
|
||||
// Position (sphere surface)
|
||||
// Position (sphere surface)
|
||||
case 202:
|
||||
{
|
||||
auto positionAttr = AccessParticleAttribute(node, nodeGpu->Attributes[0], AccessMode::Write);
|
||||
@@ -298,7 +298,7 @@ void ParticleEmitterGPUGenerator::ProcessModule(Node* node)
|
||||
), positionAttr.Value, 0, center.Value, radius.Value, arc.Value);
|
||||
break;
|
||||
}
|
||||
// Position (plane)
|
||||
// Position (plane)
|
||||
case 203:
|
||||
{
|
||||
auto positionAttr = AccessParticleAttribute(node, nodeGpu->Attributes[0], AccessMode::Write);
|
||||
@@ -318,7 +318,7 @@ void ParticleEmitterGPUGenerator::ProcessModule(Node* node)
|
||||
), positionAttr.Value, center.Value, size.Value);
|
||||
break;
|
||||
}
|
||||
// Position (circle)
|
||||
// Position (circle)
|
||||
case 204:
|
||||
{
|
||||
auto positionAttr = AccessParticleAttribute(node, nodeGpu->Attributes[0], AccessMode::Write);
|
||||
@@ -343,7 +343,7 @@ void ParticleEmitterGPUGenerator::ProcessModule(Node* node)
|
||||
), positionAttr.Value, 0, center.Value, radius.Value, arc.Value);
|
||||
break;
|
||||
}
|
||||
// Position (disc)
|
||||
// Position (disc)
|
||||
case 205:
|
||||
{
|
||||
auto positionAttr = AccessParticleAttribute(node, nodeGpu->Attributes[0], AccessMode::Write);
|
||||
@@ -368,7 +368,7 @@ void ParticleEmitterGPUGenerator::ProcessModule(Node* node)
|
||||
), positionAttr.Value, 0, center.Value, radius.Value, arc.Value);
|
||||
break;
|
||||
}
|
||||
// Position (box surface)
|
||||
// Position (box surface)
|
||||
case 206:
|
||||
{
|
||||
auto positionAttr = AccessParticleAttribute(node, nodeGpu->Attributes[0], AccessMode::Write);
|
||||
@@ -400,7 +400,7 @@ void ParticleEmitterGPUGenerator::ProcessModule(Node* node)
|
||||
), positionAttr.Value, center.Value, size.Value);
|
||||
break;
|
||||
}
|
||||
// Position (box volume)
|
||||
// Position (box volume)
|
||||
case 207:
|
||||
{
|
||||
auto positionAttr = AccessParticleAttribute(node, nodeGpu->Attributes[0], AccessMode::Write);
|
||||
@@ -420,7 +420,7 @@ void ParticleEmitterGPUGenerator::ProcessModule(Node* node)
|
||||
), positionAttr.Value, center.Value, size.Value);
|
||||
break;
|
||||
}
|
||||
// Position (cylinder)
|
||||
// Position (cylinder)
|
||||
case 208:
|
||||
{
|
||||
auto positionAttr = AccessParticleAttribute(node, nodeGpu->Attributes[0], AccessMode::Write);
|
||||
@@ -447,7 +447,7 @@ void ParticleEmitterGPUGenerator::ProcessModule(Node* node)
|
||||
), positionAttr.Value, center.Value, radius.Value, height.Value, arc.Value);
|
||||
break;
|
||||
}
|
||||
// Position (line)
|
||||
// Position (line)
|
||||
case 209:
|
||||
{
|
||||
auto positionAttr = AccessParticleAttribute(node, nodeGpu->Attributes[0], AccessMode::Write);
|
||||
@@ -467,7 +467,7 @@ void ParticleEmitterGPUGenerator::ProcessModule(Node* node)
|
||||
), positionAttr.Value, start.Value, end.Value);
|
||||
break;
|
||||
}
|
||||
// Position (torus)
|
||||
// Position (torus)
|
||||
case 210:
|
||||
{
|
||||
auto positionAttr = AccessParticleAttribute(node, nodeGpu->Attributes[0], AccessMode::Write);
|
||||
@@ -513,7 +513,7 @@ void ParticleEmitterGPUGenerator::ProcessModule(Node* node)
|
||||
), positionAttr.Value, 0, center.Value, radius.Value, thickness.Value, arc.Value);
|
||||
break;
|
||||
}
|
||||
// Position (sphere volume)
|
||||
// Position (sphere volume)
|
||||
case 211:
|
||||
{
|
||||
auto positionAttr = AccessParticleAttribute(node, nodeGpu->Attributes[0], AccessMode::Write);
|
||||
@@ -540,7 +540,7 @@ void ParticleEmitterGPUGenerator::ProcessModule(Node* node)
|
||||
), positionAttr.Value, 0, center.Value, radius.Value, arc.Value);
|
||||
break;
|
||||
}
|
||||
// Position (depth)
|
||||
// Position (depth)
|
||||
case 212:
|
||||
{
|
||||
auto positionAttr = AccessParticleAttribute(node, nodeGpu->Attributes[0], AccessMode::Write);
|
||||
@@ -574,7 +574,7 @@ void ParticleEmitterGPUGenerator::ProcessModule(Node* node)
|
||||
), positionAttr.Value, uv.Value, depthCullRange.Value, depthOffset.Value, linearDepth.Value, lifetimeAttr.Value);
|
||||
break;
|
||||
}
|
||||
// Position (spiral)
|
||||
// Position (spiral)
|
||||
case 214:
|
||||
{
|
||||
auto positionAttr = AccessParticleAttribute(node, nodeGpu->Attributes[0], AccessMode::Write);
|
||||
@@ -632,7 +632,7 @@ void ParticleEmitterGPUGenerator::ProcessModule(Node* node)
|
||||
break;
|
||||
}
|
||||
|
||||
// Helper macros for collision modules to share the code
|
||||
// Helper macros for collision modules to share the code
|
||||
#define COLLISION_BEGIN() \
|
||||
auto positionAttr = AccessParticleAttribute(node, nodeGpu->Attributes[0], AccessMode::ReadWrite); \
|
||||
auto velocityAttr = AccessParticleAttribute(node, nodeGpu->Attributes[1], AccessMode::ReadWrite); \
|
||||
@@ -662,7 +662,7 @@ void ParticleEmitterGPUGenerator::ProcessModule(Node* node)
|
||||
" {2} += {9};\n" \
|
||||
" }}\n"
|
||||
|
||||
// Collision (plane)
|
||||
// Collision (plane)
|
||||
case 330:
|
||||
{
|
||||
COLLISION_BEGIN();
|
||||
@@ -690,7 +690,7 @@ void ParticleEmitterGPUGenerator::ProcessModule(Node* node)
|
||||
);
|
||||
break;
|
||||
}
|
||||
// Collision (sphere)
|
||||
// Collision (sphere)
|
||||
case 331:
|
||||
{
|
||||
COLLISION_BEGIN();
|
||||
@@ -721,7 +721,7 @@ void ParticleEmitterGPUGenerator::ProcessModule(Node* node)
|
||||
);
|
||||
break;
|
||||
}
|
||||
// Collision (box)
|
||||
// Collision (box)
|
||||
case 332:
|
||||
{
|
||||
COLLISION_BEGIN();
|
||||
@@ -767,7 +767,7 @@ void ParticleEmitterGPUGenerator::ProcessModule(Node* node)
|
||||
);
|
||||
break;
|
||||
}
|
||||
// Collision (cylinder)
|
||||
// Collision (cylinder)
|
||||
case 333:
|
||||
{
|
||||
COLLISION_BEGIN();
|
||||
@@ -817,7 +817,7 @@ void ParticleEmitterGPUGenerator::ProcessModule(Node* node)
|
||||
);
|
||||
break;
|
||||
}
|
||||
// Collision (depth)
|
||||
// Collision (depth)
|
||||
case 334:
|
||||
{
|
||||
COLLISION_BEGIN();
|
||||
@@ -872,18 +872,18 @@ void ParticleEmitterGPUGenerator::ProcessModule(Node* node)
|
||||
);
|
||||
break;
|
||||
}
|
||||
// Conform to Global SDF
|
||||
// Conform to Global SDF
|
||||
case 335:
|
||||
{
|
||||
auto position = AccessParticleAttribute(node, nodeGpu->Attributes[0], AccessMode::Read);
|
||||
auto velocity = AccessParticleAttribute(node, nodeGpu->Attributes[1], AccessMode::ReadWrite);
|
||||
auto mass = AccessParticleAttribute(node, nodeGpu->Attributes[2], AccessMode::Read);
|
||||
|
||||
|
||||
const Value attractionSpeed = GetValue(node->GetBox(0), 2).AsFloat();
|
||||
const Value attractionForce = GetValue(node->GetBox(1), 3).AsFloat();
|
||||
const Value stickDistance = GetValue(node->GetBox(2), 4).AsFloat();
|
||||
const Value stickForce = GetValue(node->GetBox(3), 5).AsFloat();
|
||||
|
||||
|
||||
auto param = findOrAddGlobalSDF();
|
||||
_includes.Add(TEXT("./Flax/GlobalSignDistanceField.hlsl"));
|
||||
_writer.Write(
|
||||
@@ -904,7 +904,7 @@ void ParticleEmitterGPUGenerator::ProcessModule(Node* node)
|
||||
), position.Value, velocity.Value, mass.Value, param.ShaderName, attractionSpeed.Value, attractionForce.Value, stickDistance.Value, stickForce.Value);
|
||||
break;
|
||||
}
|
||||
// Collision (Global SDF)
|
||||
// Collision (Global SDF)
|
||||
case 336:
|
||||
{
|
||||
COLLISION_BEGIN();
|
||||
|
||||
Reference in New Issue
Block a user