public static void VSSkinnedInstanced( VertexInput input, out Vector4 position, out Vector3 worldPosition, out Vector3 worldNormal, out Vector2 cloudUV, Matrix4x4 world, Matrix4x4 viewProjection, Matrix4x4 cloudShadowMatrix, float timeInSeconds) { VSSkinnedInstancedPositionOnly( input, out position, out worldPosition, world, viewProjection); worldNormal = TransformNormal(input.Normal, world); cloudUV = CloudHelpers.GetCloudUV( worldPosition, cloudShadowMatrix, timeInSeconds); }
public static void VSSkinnedInstanced( VertexInput input, out Vector4 position, out Vector3 worldPosition, out Vector3 worldNormal, out Vector2 cloudUV, Matrix4x4 world, Matrix4x4 viewProjection, Matrix4x4 cloudShadowMatrix, float timeInSeconds) { var worldPositionHomogeneous = Vector4.Transform(input.Position, world); position = Vector4.Transform(worldPositionHomogeneous, viewProjection); worldPosition = worldPositionHomogeneous.XYZ(); worldNormal = TransformNormal(input.Normal, world); cloudUV = CloudHelpers.GetCloudUV( worldPosition, cloudShadowMatrix, timeInSeconds); }