>>2906304>> I missed adding the skinning thing to PlotFurZValue_VS in _fur_body.fxsub, whoopsIt's not using either skinnable property anyway.
>> The ZplotTec technique in that same file has "AlphaBlendEnable = FALSE;", try removing that.>> you could try passing "false" instead of the "selfshadow"I had tried all three of the above in those five hours between writing most of that post and sending it (and reattempted just now for good measure), to no avail (disabling SS does "fix" non-existent shading though). Commenting ZPlotTec out does nothing either (and it's needed for MMD), nor does replacing useSelfshadow with useSelfShadow (which is how it's spelled in other effects).
>> Otherwise you'll need to add your clipping to the "if (useSelfshadow)" pixel shader branches.But they aren't if/else branches, just conditional extra processing. Doesn't triggering a clip abort execution of subsequent PS code anyway? I tried putting it in the middle, at the start, and just before the return of various pixel shaders and tested with MaterialDiffuse.a, DiffuseColor.a, Color.a, IN.Color.a, maybe something else. Only managed to remove the fur entirely in some cases.
>> that matrix isn't accessible in MMMSeriously? Damn. It's a shocking revelation, but code examples confirm it. Pros like HariganeP replace it with these lines (that are provided in SampleBase.fxm), which come with a whole bunch of extra work in the shader:
bool LightEnables[MMM_LightCount] : LIGHTENABLES;
float4x4 LightWVPMatrices[MMM_LightCount] : LIGHTWVPMATRICES;
float3 LightDirection[MMM_LightCount] : LIGHTDIRECTIONS;
float3 LightPositions[MMM_LightCount] : LIGHTPOSITIONS;
float LightZFars[MMM_LightCount] : LIGHTZFARS;