Differ between multiple particle_cloud modes

This commit is contained in:
Jan
2022-09-18 15:37:22 +02:00
parent d0af444506
commit d11f8122f3
5 changed files with 193 additions and 6 deletions

View File

@ -0,0 +1,82 @@
// WIP
// Based on default
// Can merge back if possible
alphaTest
{
mtlAlphaTest == Always && mtlBlendOp == Add && mtlSrcBlend == SrcAlpha && mtlDestBlend == InvSrcAlpha: // Used
mtlAlphaTest == Always && mtlBlendOp == Add && mtlSrcBlend == SrcAlpha && mtlDestBlend == One: // Used
GT0;
default:
passthrough;
}
blendFunc
{
default:
passthrough;
}
separateAlphaBlendFunc
{
mtlBlendOp == Disable: // Unused
Disable, One, Zero;
mtlAlphaTest == Disable: // Used
Add, Zero, One;
default:
Add, InvDestAlpha, One;
}
cullFace
{
default:
passthrough;
}
depthTest
{
default:
passthrough; // Always lessEqual, might be coincidence because it is default
}
depthWrite
{
mtlBlendOp == Disable:
Enable;
default:
Disable;
}
colorWrite
{
mtlPolygonOffset == 0:
Enable, Enable;
default:
Enable, Enable;
}
gammaWrite
{
default:
passthrough; // Always false, might be coincidence because it is default
}
polygonOffset
{
default:
passthrough;
}
stencil
{
default:
passthrough;
}
wireframe
{
default:
Disable;
}

View File

@ -44,7 +44,7 @@
#set PIXEL_SHADER "particle_cloud" + SPARK_SUFFIX + OUTDOOR_SUFFIX + SPOT_SUFFIX + SHADOW_SUFFIX + PREMUL_SUFFIX + ".hlsl"
{
stateMap "default";
stateMap "wip_particle_cloud";
vertexShader 3.0 "VERTEX_SHADER"
{