private IEnumerable <string> GetUniformNames() { var count = (int)SkiaApi.sk_runtimeeffect_get_uniforms_count(Handle); using var str = new SKString(); for (var i = 0; i < count; i++) { SkiaApi.sk_runtimeeffect_get_uniform_name(Handle, i, str.Handle); yield return(str.ToString()); } }
// Create public static SKRuntimeEffect Create(string sksl, out string errors) { using var s = new SKString(sksl); using var errorString = new SKString(); var effect = GetObject(SkiaApi.sk_runtimeeffect_make(s.Handle, errorString.Handle)); errors = errorString?.ToString(); if (errors?.Length == 0) { errors = null; } return(effect); }