namespace Lib.field.generate.sdf;
///
/// This operator only contains the shader setup to prepare a structuredBuffer with transform matrices
/// for each point (e.g. slightly improving the ray marching performance). See
/// for the actual implementation of the IShaderGraph note.
///
[Guid("f8593fe5-e845-4a81-a951-ceb7cd6d097c")]
internal sealed class HeightMapSdf : Instance
{
[Output(Guid = "2a248aaf-452e-40b5-b90a-3defd7c89a2a")]
public readonly Slot Result = new Slot();
private enum CombineMethods
{
Union,
UnionSoft,
UnionRound,
}
[Input(Guid = "b870f95a-2858-4d9b-be78-8c74bcd5eab3")]
public readonly InputSlot SdfImage = new InputSlot();
[Input(Guid = "82a63a92-1d49-473f-92a9-169cba2cf735")]
public readonly InputSlot DisplacementHeight = new InputSlot();
[Input(Guid = "b9b08796-9997-41e8-8eb7-8d5ca02e93c6")]
public readonly InputSlot UvScale = new InputSlot();
[Input(Guid = "3045d688-05d6-4421-84be-a12bba5e30cb")]
public readonly InputSlot UvStretch = new InputSlot();
[Input(Guid = "a56d9a84-5f09-43e3-81bc-34eb888b8e1a")]
public readonly InputSlot UvOffset = new InputSlot();
[Input(Guid = "c82a8a96-e7f8-4ee1-874e-44ed7449f76f")]
public readonly InputSlot MaxHeight = new InputSlot();
[Input(Guid = "f42f9439-38cc-4ff8-a3fc-51cc3d38f05e")]
public readonly InputSlot MaxSlope = new InputSlot();
}