Обмен Каир с Vulkan/Skia CPP [закрыто]C++

Программы на C++. Форум разработчиков
Ответить
Anonymous
 Обмен Каир с Vulkan/Skia CPP [закрыто]

Сообщение Anonymous »

Цель:
Замените Каир полностью на vulkan/skia для рендеринга в приложении GTK3, но операции рисования проваливаются тихо. />
Успешно настроить устройство Vulkan и создать контекст < /code> (для требований к Skia). < /li>
< /ul>
< /li>
x11 Integration: < /strong>

Следуя этому посту, я создал vksurface. рендеринги. Настройка Skia для рендеринга через Vulkan, в окне GTK не появляется видимый выход. Код ниже работает без ошибок, но ничего не рисует.
Попытка кода:

Код: Выделить всё

static gboolean on_source_image_draw(GtkWidget *widget, cairo_t *cr, gpointer user_data) {
TileGridUI *ui = (TileGridUI *)user_data;
render_data_t* state = render;

// Get widget dimensions
if (!draw.update_image_grid_container_drawing) {
dimensions.width = gtk_widget_get_allocated_width(widget);
dimensions.height = gtk_widget_get_allocated_height(widget);
GtkAllocation allocation;
gtk_widget_get_allocation(widget, &allocation);
dimensions.x = allocation.x;
dimensions.y = allocation.y;
draw.update_image_grid_container_drawing = TRUE;
}

// Configure Skia paints
SkPaint fillPaint;
fillPaint.setColor(SkColorSetARGB(0xDD, 0xDB, 0xDB, 0xDB)); // Semi-transparent white

// Create SkSurface (Vulkan-backed)
SkImageInfo info = SkImageInfo::MakeN32Premul(dimensions.width, dimensions.height);
sk_sp gpuSurface = SkSurfaces::RenderTarget(
context.get(), skgpu::Budgeted::kNo, info
);
if (!gpuSurface) {
SkDebugf("Failed to create SkSurface\n");
return FALSE;
}

// Draw a rectangle (expected: white fill, but nothing appears)
SkCanvas* gpuCanvas = gpuSurface->getCanvas();
gpuCanvas->drawRect(SkRect::MakeXYWH(dimensions.x, dimensions.y, dimensions.width, dimensions.height), fillPaint);

// Flush Vulkan commands
context->flush();
context->submit();
return TRUE;
}
наблюдения:

без ошибок , но не вывод рендеринга. Но неиспользованный - это проблема? /> Список литературы Попытка: < /strong> < /h3>

Skia vulkan setup (устаревшая?) ценится! < /p>


Подробнее здесь: https://stackoverflow.com/questions/796 ... n-skia-cpp
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «C++»