17 return (inVertexFixed[inVertexIndex >> 5] & (1u << (inVertexIndex & 31))) != 0;
22 return IsVertexFixed(inVertexFixed, inVertexIndex)? 0.0f : 1.0f;
27 return ((inStrandFractions[inVertexIndex >> 2] >> ((inVertexIndex & 3) << 3)) & 0xff) * (1.0f / 255.0f);
32 return (inStrandVertexCounts[inStrandIndex >> 2] >> ((inStrandIndex & 3) << 3)) & 0xff;
37 return (inStrandMaterialIndex[inStrandIndex >> 2] >> ((inStrandIndex & 3) << 3)) & 0xff;
42 return min(inSampler.w, max(inSampler.z, inSampler.y + inStrandFraction * inSampler.x));
48 float3 grid_pos = min(max(inPosition - cGridOffset, float3(0, 0, 0)) * cGridScale, cGridSizeMin1);
49 outIndex = min(uint3(grid_pos), cGridSizeMin2);
50 outFraction = grid_pos - float3(outIndex);
55 return inIndex.x + inIndex.y * cGridStride.y + inIndex.z * cGridStride.z;
unsigned int uint
Definition Core.h:500
uint GetStrandVertexCount(JPH_SHADER_BUFFER(JPH_uint) inStrandVertexCounts, uint inStrandIndex)
Definition HairCommon.h:30
float GradientSamplerSample(float4 inSampler, float inStrandFraction)
Definition HairCommon.h:40
uint GridIndexToBufferIndex(uint3 inIndex)
Definition HairCommon.h:53
float GetVertexInvMass(JPH_SHADER_BUFFER(JPH_uint) inVertexFixed, uint inVertexIndex)
Definition HairCommon.h:20
float GetVertexStrandFraction(JPH_SHADER_BUFFER(JPH_uint) inStrandFractions, uint inVertexIndex)
Definition HairCommon.h:25
bool IsVertexFixed(JPH_SHADER_BUFFER(JPH_uint) inVertexFixed, uint inVertexIndex)
Definition HairCommon.h:15
void GridPositionToIndexAndFraction(float3 inPosition, JPH_OUT(uint3) outIndex, JPH_OUT(float3) outFraction)
Definition HairCommon.h:45
uint GetStrandMaterialIndex(JPH_SHADER_BUFFER(JPH_uint) inStrandMaterialIndex, uint inStrandIndex)
Definition HairCommon.h:35
#define JPH_SHADER_CONSTANT(type, name, value)
Definition ShaderCore.h:54
uint JPH_uint
Definition ShaderCore.h:44
#define JPH_SHADER_BUFFER(type)
Definition ShaderCore.h:66
#define JPH_OUT(type)
Definition ShaderCore.h:82