Në GTK janë shtuar motorte të reja për renderim për OpenGL dhe Vulkan

Zhvilluesit e bibliotekës GTK shpallën gatishmërinë e dy motorëve të rinj të renderimit - "ngl" dhe "vulkan", të cilët përdorin API-grafik OpenGL (GL 3.3+ dhe GLES 3.0+) dhe Vulkan. Motorët e rinj janë të përfshirë në publikimin eksperimental GTK 4.13.6. Në degën eksperimentale të GTK, motori ngl tani përdoret si default, por në rast se do të identifikohen probleme të rëndësishme në degën e ardhshme stabile 4.14, do të rikthehet motori i vjetër i renderimit "gl".

Motorët e rinj pozicionohen si të unifikuar dhe mbështeten në një bazë të vetme kodimi. Thelbi i unifikimit është që si bazë të përdoret API Vulkan, mbi të cilin është krijuar një nivel i veçantë abstrakt për OpenGL, duke marrë parasysh ndryshimet midis OpenGL dhe Vulkan. Ky qasje ka lejuar angazhimin e një infrastrukture të përbashkët për të dy motorët për procesimin e grafikës së skenës (scene graph), transformimeve, caching të teksteve dhe glyph-eve. Unifikimi gjithashtu ka thjeshtuar dukshëm mbështetjes së bazës së kodit të të dy motorëve dhe mbajtjen e saj në një gjendje të përditësuar dhe të sinkronizuar.

Në kundërshtim me motorin e vjetër "gl", ku për çdo lloj nyje renderimi (rendernode) përdorej një shenues i thjeshtë i veçantë dhe kishte riciklim të rregullt të të dhënave gjatë renderimit offscreen, në motorët e rinj përdoret një shenues kompleks (ubershader), i cili interpreton të dhënat nga bufferi. Në formën aktuale, implementimi i ri ende mbetet pas atij të vjetër në nivelin e optimizimeve, pasi fokusi kryesor në këtë fazë është te saktësia e funksionimit dhe thjeshtësia e mirëmbajtjes.

Funksionet e reja, të cilat mungojnë në motorin e vjetër "gl":

  • Anti-aliasing - lejon ruajtjen e detajeve tĂ« vogla dhe arritjen e kontureve mĂ« tĂ« lĂ«muara.
    Në GTK janë shtuar motorte të reja për renderim për OpenGL dhe Vulkan
  • Krijimi i gradienteve tĂ« rastĂ«sishĂ«m, ku mund tĂ« pĂ«rdoren çdo numĂ«r ngjyrash dhe anti-aliasing (nĂ« motorin "gl" ishin tĂ« mbĂ«shtetur vetĂ«m gradientet linjare, radiale dhe konike me 6 ngjyra ndalimi).
    Në GTK janë shtuar motorte të reja për renderim për OpenGL dhe Vulkan
  • Skalimi i fraksionuar (fractional scale), i cili lejon vendosjen e vlerave tĂ« paqĂ«ndrueshme tĂ« shkallĂ«s, pĂ«r shembull, duke pĂ«rdorur shkallĂ«n 125% pĂ«r njĂ« dritare 1200×800 do tĂ« caktohet njĂ« buffer 1500×1000, dhe jo 2400×1600 si nĂ« motorin e vjetĂ«r.
  • MbĂ«shtetje pĂ«r teknologjinĂ« DMA-BUF pĂ«r pĂ«rdorimin e disa GPU-ve dhe shpĂ«rndarjen e operacioneve tĂ« veçanta nĂ« njĂ« GPU tjetĂ«r.
  • Trajtohen saktĂ«sisht shumĂ« nyje renderimi me tĂ« cilat kishte probleme nĂ« implementimin e vjetĂ«r.

Midis kufizimeve të motorëve të rinj është mungesa e mbështetjes për pozicionimin me vlera të pa të plota (fractional position) dhe nyjet glshader, të cilat ishin shumë të lidhura me karakteristikat e motorit të vjetër, dhe për të cilat nuk ka nevojë pas shtimit të mbështetjes për nyjet me maska (mask) dhe tekste me transparencë. Gjithashtu, shfaqet mundësia e problemeve të mundshme me shoferët grafikë, si rezultat i ndryshimit të metodës së punës me shoferët.

Në të ardhmen, mbi bazën e modelit të unifikuar të ri, nuk përjashtohet krijimi i motorëve të renderimit që përdorin Metal në macOS dhe DirectX në Windows, por krijimi i tillë motorëve e komplikon përdorimi i gjuhëve të tjera për shenuesit (në motorët "ngl" dhe "vulkan" është përdorur gjuha GLSL, kështu që për Metal dhe Direct do të duhet ose të dyfishohen shenuesit, ose të përdoret një ndërmjetës bazuar në mjetin SPIRV-Cross).

NĂ« planet pĂ«r tĂ« ardhmen pĂ«rmendet sigurimi i mbĂ«shtetjes pĂ«r HDR dhe mjete pĂ«r menaxhimin e saktĂ« tĂ« ngjyrĂ«s, mbĂ«shtetje pĂ«r rrugĂ«n e renderimit (Path rendering) nga ana e GPU-sĂ«, mundĂ«sia e renderimit tĂ« glyph-Ă«ve, renderimi jashtĂ« rrjedhĂ«s kryesore dhe optimizimi i performancĂ«s pĂ«r pajisjet e vjetra dhe me kapacitete tĂ« ulĂ«ta. NĂ« formĂ«n aktuale, performanca e motorit "vulkan" Ă«shtĂ« afĂ«r performancĂ«s sĂ« motorit tĂ« vjetĂ«r "gl". Motori "ngl" mbetet pas nĂ« performancĂ« nga motori i vjetĂ«r "gl", por treguesit e tanishĂ«m janĂ« tĂ« mjaftueshĂ«m pĂ«r renderim me shkallĂ« 60 ose 144 FPS. Pritet qĂ« situata tĂ« ndryshojĂ« pas optimizimeve.

Burimi: opennet.ru

Bleni hostim tĂ« besueshĂ«m pĂ«r faqe me mbrojtje nga DDoS, serverĂ« VPS VDS đŸ”„ Bleni hostim tĂ« besueshĂ«m pĂ«r faqe me mbrojtje nga DDoS, serverĂ« VPS VDS | ProHoster