GTK-sse on lisatud uued OpenGL-i ja Vulkan-i renderdusseened

GTK raamatukogu arendajad teatasid kahe uue renderdamismootori - «ngl» ja «vulkan» - valmimisest, mis kasutavad graafikate API-sid OpenGL (GL 3.3+ ja GLES 3.0+) ja Vulkan. Uued mootorsĂŒsteemid on osa GTK katseversioonist 4.13.6. GTK katseharu sees on mootori ngl vaikimisi kasutusel, kuid kui jĂ€rgmises stabiilses versioonis 4.14 ilmnevad tĂ”sised probleemid, nareturnitakse vana renderdamismootor «gl».

Uued mootorsĂŒsteemid positsioneeritakse ĂŒhtse ja ĂŒhisest koodibaasist koostatud lahendusena. Ühtsuse olemus seisneb selles, et aluseks on olemas API Vulkan, millele on OpenGL jaoks loodud eraldi abstraktsioonitasand, arvestades OpenGL ja Vulkan erinevusi. Selline lĂ€henemine vĂ”imaldas kasutada mĂ”lemas mootorsĂŒsteemis ĂŒhist infrastruktuuri stseenigraafi (scene graph), transformatsioonide, tekstuuride ja glĂŒĂŒfide vahemĂ€lu töötlemiseks. Ühtsus lihtsustas ka oluliselt mĂ”lema mootorsĂŒsteemi koodibaasi hooldamist ning nende vĂ€rskendamise ja sĂŒnkroniseerimise protsessi.

Erinevalt vanast «gl» mootorist, kus iga renderdamise sĂ”lme (rendernode) jaoks kasutati eraldi lihtsat varjutajat ja andmete perioodilist ĂŒmberjĂ€rjestamist taustrenderdamise (offscreen) kĂ€igus, kasutatakse uutest mootoritest taustrenderdamise asemel keerulist varjutajat (ubershader), mis tĂ”lgendab andmeid vahemĂ€lust. Praeguses seisus jÀÀb uus lahendus siiski vanast maha optimeerimise tasemelt, kuna praegusel etapil keskendutakse peamiselt töö korrektsusele ja hoolduse lihtsusele.

Uued vÔimalused, mida vanas «gl» mootoris ei olnud:

  • Kontuuride pehmendamine — vĂ”imaldab sĂ€ilitada vĂ€ikeseid detaile ja saavutada sujuvamaid kontuure.
    GTK-sse on lisatud uued OpenGL-i ja Vulkan-i renderdusseened
  • Meelerahu gradiente, kus saab kasutada suvalist arvu vĂ€rve ja pehmendust (vanas «gl» mootoris toetati vaid lineaarseid, raadiuseid ja koonuslikke gradiente kuni 6 vĂ€rvipunktiga).
    GTK-sse on lisatud uued OpenGL-i ja Vulkan-i renderdusseened
  • Murdepunktiline skalaar (fractional scale), mis vĂ”imaldab mÀÀrata mitte-tĂ€isarve skaalavÀÀrtusi; nĂ€iteks, kui kasutada 125% skaalat 1200×800 akna jaoks, eraldatakse vahemĂ€lu 1500×1000, mitte 2400×1600 nagu vanas mootoris.
  • DMA-BUF tehnoloogia toetus mitme GPU kasutamiseks ja individuaalsete operatsioonide edastamiseks teisele GPU-le.
  • Paljusid renderdamise sĂ”lmi töödeldakse korralikult, mis olid probleemsed vana teostuse puhul.

Uute mootorite piiranguteks on mÀrkamatute vÀÀrtuste (fractional position) positsioneerimise toe puudumine ja glshader sÔlmede olemasolu, mis olid tugevalt seotud vana mootori eripÀradega ning mille vajadus kadus pÀrast maskiga sÔlmede ja lÀbipaistvusega tekstuuride toe lisamist. Samuti mainitakse, et on olemas tÔenÀosus, et graafika draiveritega vÔivad esineda vÔimalikke probleeme seoses draiveritega töötamise meetodi muutumisega.

Tulevikus ei vĂ€listata uute ĂŒhtsustatud mudelite baasil renderdamise mootorite loomist, mis kasutavad macOS-is Metalit ja Windowsis DirectX-i, kuid selliste mootorite loomist takistab muude keel(e)de kasutamine shaderite jaoks (mootorites «ngl» ja «vulkan» kasutatakse GLSLi keelt, seega Metalile ja Directile tuleb kas shaderid dubleerida vĂ”i kasutada SPIRV-Cross tööriistakomplekti baasil kihti).

Tulevikusuunisteidena mainitakse HDR-i toe ja vĂ€rvihalduse tööriistade tagamist, GPU kĂŒlgpĂ”hise renderimise vĂ”imalust, glĂŒĂŒtide renderimist, taustavoogude renderimist ja jĂ”udluse optimeerimist vanade ja madala vĂ”imsusega seadmete jaoks. Praeguses vormis on "vulkan" mootori jĂ”udlus lĂ€hedane vana "gl" mootori jĂ”udlusele. "ngl" mootor jÀÀb jĂ”udluses maha vanast "gl" mootorist, kuid olemasolevad nĂ€itajad on piisavad 60 vĂ”i 144 FPS-i renderimiseks. Oodatakse, et olukord muutub pĂ€rast optimeerimise lĂ€biviimist.

Allikas: opennet.ru

Osta usaldusvÀÀrne veebihosting DDoS kaitsega, VPS VDS serverid đŸ”„ Osta usaldusvÀÀrne veebihosting DDoS kaitsega, VPS VDS serverid | ProHoster