Mesin rendering anyar pikeun OpenGL sareng Vulkan parantos ditambah kana GTK

Pamekar perpustakaan GTK parantos ngumumkeun kasadiaan dua mesin rendering énggal - "ngl" sareng "vulkan", nganggo OpenGL (GL 3.3+ sareng GLES 3.0+) sareng API grafik Vulkan. Mesin anyar kalebet dina sékrési ékspérimén GTK 4.13.6. Dina cabang GTK ékspérimén, mesin ngl ayeuna dipaké sacara standar, tapi lamun masalah signifikan anu diidentipikasi dina cabang stabil salajengna 4.14, heubeul "gl" mesin Rendering bakal balik.

Mesin anyar diposisikan salaku ngahiji sareng dirakit tina dasar kode tunggal. Intina ngahijikeun nyaéta yén API Vulkan dianggo salaku dasar, di luhur dimana tingkat abstraksi anu misah parantos diciptakeun pikeun OpenGL, kalayan nganggap bédana antara OpenGL sareng Vulkan. Pendekatan ieu ngamungkinkeun ngagunakeun infrastruktur umum dina duanana mesin pikeun ngolah grafik adegan, transformasi, tékstur cache sareng glyphs. Ngahijikeun Tatar ogé sacara signifikan nyederhanakeun pangropéa dasar kode duanana mesin sareng tetep diropéa sareng disingkronkeun.

Beda sareng mesin gl anu lami, anu nganggo shader sederhana anu misah pikeun tiap jinis node rendering sareng périodik nyortir ulang data salami rendering offscreen, mesin énggal tibatan rendering offscreen nganggo shader kompleks (ubershader) anu napsirkeun data tina panyangga. . Dina bentuk ayeuna, palaksanaan anyar masih lags tukangeun heubeul dina watesan tingkat optimizations, sabab fokus utama dina tahap ayeuna nyaeta on operasi bener jeung betah pangropéa.

Fitur anyar anu leungit dina mesin gl lami:

  • Contour smoothing - ngidinan Anjeun pikeun ngawétkeun detil rupa jeung ngahontal kontur smoother.
    Mesin rendering anyar pikeun OpenGL sareng Vulkan parantos ditambah kana GTK
  • Formasi gradién sawenang, anu tiasa nganggo sababaraha warna sareng anti-aliasing (dina mesin gl, ngan ukur gradién linier, radial sareng conical kalayan 6 warna eureun anu dirojong).
    Mesin rendering anyar pikeun OpenGL sareng Vulkan parantos ditambah kana GTK
  • Skala fractional, nu ngidinan Anjeun pikeun ngeset nilai skala non-integer, contona, nalika ngagunakeun skala 125% pikeun jandela 1200x800, panyangga 1500x1000 bakal disadiakeun, teu 2400x1600 sakumaha dina mesin heubeul.
  • Rojongan pikeun téhnologi DMA-BUF pikeun ngagunakeun sababaraha GPUs na offloading operasi individu ka GPU sejen.
  • Seueur titik rendering anu ngagaduhan masalah dina palaksanaan lami diolah kalayan leres.

Watesan mesin anyar kalebet kurangna pangrojong pikeun posisi ku nilai non-integer (posisi fraksional) sareng titik glshader, anu dihijikeun pisan kana fitur mesin lami, sareng anu henteu diperyogikeun deui saatos nambihan dukungan pikeun titik jeung masker (topeng) jeung tékstur jeung transparansi. Disebutkeun ogé yén aya kamungkinan kamungkinan masalah sareng supir grafik timbul alatan parobahan dina metoda gawé bareng drivers.

Ka hareupna, dumasar kana modél ngahijikeun anyar, nyiptakeun mesin rendering nganggo Metal dina macOS sareng DirectX dina Windows henteu kalebet, tapi nyiptakeun mesin sapertos kitu rumit ku ngagunakeun basa sanés pikeun shaders (nu "ngl Mesin ”sareng “vulkan” nganggo basa GLSL, ku kituna pikeun Metal sareng Direct kedah duplikat shaders atanapi nganggo lapisan dumasar kana toolkit SPIRV-Cross).

Rencana anu bakal datang kalebet nyayogikeun dukungan HDR sareng alat pikeun manajemén warna anu leres, dukungan pikeun rendering Path di sisi GPU, kamampuan pikeun render glyphs, rendering off-stream, sareng optimasi kinerja pikeun alat anu langkung lami sareng kakuatan rendah. Dina bentuk ayeuna, kinerja mesin "vulkan" deukeut jeung kinerja mesin "gl" heubeul. Mesin "ngl" inferior dina kinerja mesin heubeul "gl", tapi kinerja sadia cukup pikeun Rendering pa 60 atawa 144 FPS. Ieu diperkirakeun yén kaayaan bakal robah sanggeus optimasi.

sumber: opennet.ru

Tambahkeun komentar