public CHullShader(ICDevice device, CShaderReflection reflection) : base(device, reflection) { domain = reflection.GetTesselationDomain(); partitioning = reflection.GetTesselationPartitioning(); outputTopology = reflection.GetTesselationOutputTopology(); outputControlPoints = reflection.GetOutputControlPoints(); maxTesselationFactor = reflection.GetMaxTesselationFactor(); }
static string TesselationPartitioningToString(TesselationPartitioning partitioning) { switch (partitioning) { case TesselationPartitioning.Integer: return "equal_spacing"; case TesselationPartitioning.FractionalEven: return "fractional_even_spacing"; case TesselationPartitioning.FractionalOdd: return "fractional_odd_spacing"; default: throw new ArgumentOutOfRangeException("partitioning"); } }