Nei Renderingmotoren fir OpenGL a Vulkan goufen op GTK bäigefüügt

D'Entwéckler vun der GTK Bibliothéik hunn d'Disponibilitéit vun zwee neie Renderingmotoren ugekënnegt - "ngl" a "vulkan", mat OpenGL (GL 3.3+ a GLES 3.0+) a Vulkan Grafik APIen. Nei Motore sinn an der experimenteller Verëffentlechung vum GTK 4.13.6 abegraff. An der experimenteller GTK Branche gëtt den ngl-Motor elo als Standard benotzt, awer wa bedeitend Probleemer an der nächster stabiler Branche 4.14 identifizéiert ginn, gëtt den alen "gl" Rendering-Motor zréck.

Nei Motore ginn als vereenegt positionéiert an aus enger eenzeger Codebasis zesummegesat. D'Essenz vun der Vereenegung ass datt d'Vulkan API als Basis benotzt gëtt, op deem e separaten Abstraktiounsniveau fir OpenGL erstallt gouf, andeems d'Ënnerscheeder tëscht OpenGL a Vulkan berücksichtegt ginn. Dës Approche huet et méiglech gemaach eng gemeinsam Infrastruktur a béid Motore fir d'Veraarbechtung vun der Szengrafik, Transformatiounen, Cache-Texturen a Glyphen ze benotzen. D'Vereenegung huet och d'Ënnerhalt vun der Codebasis vu béide Motore wesentlech vereinfacht an se aktuell a synchroniséiert ze halen.

Am Géigesaz zum alen gl-Motor, deen e separaten einfache Shader fir all Typ vu Render-Node benotzt huet a periodesch d'Donnéeën wärend der Offscreen Rendering nei sortéiert huet, benotzen déi nei Motoren amplaz vun Offscreen Rendering e komplexe Shader (ubershader) deen d'Daten aus dem Puffer interpretéiert . A senger aktueller Form bleift déi nei Implementatioun nach ëmmer hannert der aler wat den Niveau vun den Optimisatiounen ugeet, well den Haaptfokus op der aktueller Etapp op korrekt Operatioun an einfacher Ënnerhalt ass.

Nei Features déi am alen gl Motor fehlen:

  • Kontur Glättung - erlaabt Iech fein Detailer ze erhaalen a méi glat Konturen z'erreechen.
    Nei Renderingmotoren fir OpenGL a Vulkan goufen op GTK bäigefüügt
  • Formatioun vun arbiträr Gradienten, déi all Zuel vu Faarwen an Anti-Aliasing benotzen kann (am gl-Moteur, nëmmen linear, radial a konesch Gradienten mat 6 Stop Faarwen ënnerstëtzt).
    Nei Renderingmotoren fir OpenGL a Vulkan goufen op GTK bäigefüügt
  • Fractional Skala, déi Iech erlaabt Net-ganz Zuel Skala Wäerter ze setzen, zum Beispill, wann Dir eng Skala vun 125% fir eng Fënster vun 1200x800 benotzt, gëtt e Puffer vun 1500x1000 zougewisen, an net 2400x1600 wéi am alen Motor.
  • Ënnerstëtzung fir DMA-BUF Technologie fir verschidde GPUs ze benotzen an eenzel Operatiounen op eng aner GPU ze lueden.
  • Vill Renderingknäppchen déi Probleemer an der aler Implementatioun haten ginn korrekt veraarbecht.

D'Aschränkungen vun den neie Motore enthalen de Mangel un Ënnerstëtzung fir d'Positionéierung duerch net ganz Zuelen Wäerter (fraktionell Positioun) a glshader Noden, déi staark un d'Features vum alen Motor gebonnen waren, an déi net méi néideg waren nodeems se Ënnerstëtzung bäigefüügt hunn. Node mat Masken (Mask) an Texturen mat Transparenz. Et gëtt och erwähnt datt et méiglech Problemer mat Grafike Chauffeuren entstinn wéinst Ännerungen an der Method fir mat Chauffeuren ze schaffen.

An Zukunft, baséiert op der neier vereenegt Modell, ass d'Schafung vun Rendering Motore benotzt Metal am macOS an DirectX am Windows net ausgeschloss, mä d'Schafung vun esou Motore ass komplizéiert duerch d'Benotzung vun anere Sproochen fir shaders ("ngl") " a "vulkan" Motore benotzen d'GLSL Sprooch, also fir Metal an Direct musse Shaders entweder duplizéieren oder eng Schicht benotzen baséiert op der SPIRV-Cross Toolkit).

Zukünfteg Pläng enthalen HDR Ënnerstëtzung an Tools fir korrekt Faarfmanagement, Ënnerstëtzung fir Path Rendering op der GPU Säit, d'Fäegkeet fir Glyphen ze maachen, Off-Stream Rendering, a Performance Optimisatiounen fir eeler a Low-Power Geräter. A senger aktueller Form ass d'Leeschtung vum Motor "Vulkan" no bei der Leeschtung vum alen "gl" Motor. Den "ngl" Motor ass manner wéi déi al "gl" Motor, awer déi verfügbar Leeschtung ass genuch fir op 60 oder 144 FPS ze maachen. Et gëtt erwaart datt d'Situatioun sech no der Optimisatioun änneren.

Source: opennet.ru

Setzt e Commentaire