public static FoundryHandle Build <T>(ShaderContainer container, List <T> items, Func <T, int> indexFunc) { if ((items == null) || (items.Count <= 0)) { return(FoundryHandle.Invalid()); } var listHandle = container.AddIntBlob((uint)items.Count); for (var i = 0; i < items.Count; ++i) { container.SetIntBlobElement(listHandle, (uint)i, indexFunc(items[i])); } return(listHandle); }
public static FoundryHandle Build(ShaderContainer container, List <int> values) { if ((values == null) || (values.Count <= 0)) { return(FoundryHandle.Invalid()); } var listHandle = container.AddIntBlob((uint)values.Count); for (var i = 0; i < values.Count; ++i) { container.SetIntBlobElement(listHandle, (uint)i, values[i]); } return(listHandle); }