SkiaSharp рисование изображения с ускорением GPU - PullRequest
0 голосов
/ 18 ноября 2018

Я хочу нарисовать что-нибудь с ускорением GPU в xamarin.forms.(и сохранить изображение позже).Когда я вызываю следующий метод в первый раз, я получаю изображение и могу показать его в SKGLView.Но когда я снова вызываю метод, ничего не происходит (тоже нет ошибки)

Может кто-нибудь дать мне подсказку?

private SKImage CreateSKImage()
{
    SKImage sKImage;

    var glInterface = GRGlInterface.CreateNativeAngleInterface();
    var grContext = GRContext.Create(GRBackend.OpenGL, glInterface);            
    var surface = SKSurface.Create(grContext, true, new SKImageInfo(500, 500));            
    var canvas = surface.Canvas;

    var paintStroke = new SKPaint
    {
        IsAntialias = true,
        Style = SKPaintStyle.Stroke,
        Color = SKColors.Purple,
        StrokeWidth = 1
    };

    canvas.DrawLine(new SKPoint(0, 0), new SKPoint(500, 500), paintStroke);

    surface.Canvas.Flush();

    sKImage = surface.Snapshot().ToRasterImage();          

    return sKImage;
}

edit: когда я вызываю метод из SKGLView onPaint,тогда я получаю что-тоНо когда я вызываю метод из любого другого места, glInterface имеет значение null ... хмммм

Как правильно создать интерфейс OpenGL ???

...