Agbakwunyela igwe ngbanwe ọhụrụ maka OpenGL na Vulkan na GTK

Ndị mmepe nke ọba akwụkwọ GTK ekwuputala na e nwere igwe ngbanwe ọhụrụ abụọ - “ngl” na “vulkan”, na-eji OpenGL (GL 3.3+ na GLES 3.0+) na Vulkan graphics API. Agụnyere igwe ọhụrụ na mwepụta nnwale nke GTK 4.13.6. N'ime ngalaba nnwale GTK, a na-eji injin ngl ugbu a na ndabara, mana ọ bụrụ na achọpụtara nnukwu nsogbu na ngalaba kwụsiri ike 4.14 na-esote, a ga-eweghachi injin “gl” ochie.

A na-edobe injin ọhụrụ dị ka ejikọtara ọnụ yana kpọkọta ya site na otu koodu ntọala. Ihe kachasị mkpa nke ịdị n'otu bụ na a na-eji Vulkan API mee ihe dị ka ntọala, n'elu nke e mepụtara ọkwa abstraction dị iche maka OpenGL, na-eburu n'uche ọdịiche dị n'etiti OpenGL na Vulkan. Ụzọ a mere ka o kwe omume iji akụrụngwa a na-ahụkarị na injin abụọ ahụ maka nhazi eserese ngosi, mgbanwe, textures caching na glyphs. Ịdị n'otu mekwara ka ọ dị mfe nhazi koodu ntọala nke engines abụọ ahụ ma na-eme ka ha dị ọhụrụ na mekọrịta.

N'adịghị ka igwe gl ochie ahụ, nke jiri shader dị mfe dị iche iche maka ụdị ntụgharị ọ bụla ma na-ahazigharị data ahụ n'oge a na-emegharị ihuenyo, injin ọhụrụ ndị ahụ kama ịsụgharị ihu na-eji shader mgbagwoju anya (ubershader) nke na-akọwa data sitere na nchekwa. . N'ụdị dị ugbu a, mmejuputa ọhụrụ ahụ ka na-adị n'azụ nke ochie n'ihe gbasara ọkwa nke njikarịcha, ebe ọ bụ na isi ihe na-elekwasị anya na ọkwa ugbu a bụ ọrụ ziri ezi na ịdị mfe nke mmezi.

Njirimara ọhụrụ na-efu na igwe gl ochie:

  • Contour smoothing - na-enye gị ohere idobe nkọwa dị mma ma nweta contours dị nro.
    Agbakwunyela igwe ngbanwe ọhụrụ maka OpenGL na Vulkan na GTK
  • Ịmepụta gradients aka ike, nke nwere ike iji ọnụ ọgụgụ agba ọ bụla na mgbochi-aliasing (na gl engine, naanị linear, radial na conical gradients nwere agba nkwụsị 6 kwadoro).
    Agbakwunyela igwe ngbanwe ọhụrụ maka OpenGL na Vulkan na GTK
  • Ọnụ ọgụgụ dị nta, nke na-enye gị ohere ịtọ ụkpụrụ ọnụ ọgụgụ na-abụghị ọnụọgụ ọnụọgụ, dịka ọmụmaatụ, mgbe ị na-eji 125% maka windo 1200x800, a ga-ekenye ihe nchekwa 1500x1000, ọ bụghị 2400x1600 dị ka ọ dị na engine ochie.
  • Nkwado maka teknụzụ DMA-BUF maka iji ọtụtụ GPU na ibugharị ọrụ onye ọ bụla na GPU ọzọ.
  • A na-ahazi ọtụtụ ọnụ ụzọ ntụgharị nke nwere nsogbu na mmejuputa iwu ochie nke ọma.

Mgbochi nke engines ọhụrụ ahụ gụnyere enweghị nkwado maka idobe site na ụkpụrụ ndị na-abụghị ọnụọgụ ọnụọgụ (ọnọdụ irighiri) na oghere glshader, nke jikọtara ya na njirimara nke ochie engine, na nke na-adịkwaghị mkpa mgbe agbakwunyere nkwado maka. ọnụ na ihe mkpuchi (nkpuchi) na textures na nghọta. A na-ekwukwa na enwere ike inwe nsogbu na ndị ọkwọ ụgbọ ala eserese na-ebilite n'ihi mgbanwe na usoro nke ịrụ ọrụ na ndị ọkwọ ụgbọala.

N'ọdịniihu, dabere na ụdị ejikọtara ọnụ ọhụrụ, a naghị ewepu imepụta injin na-eji Metal na macOS na DirectX na Windows, mana imepụta ụdị injin a gbagwojuru anya site na iji asụsụ ndị ọzọ maka shaders (“ngl”. " na "vulkan" engines na-eji asụsụ GLSL, ya mere, maka Metal na Direct ga-enwe ma oyiri shaders ma ọ bụ jiri oyi akwa dabere na SPIRV-Cross Toolkit).

Atụmatụ n'ọdịnihu gụnyere inye nkwado HDR na ngwaọrụ maka njikwa agba ziri ezi, nkwado maka ụzọ ntụgharị n'akụkụ GPU, ikike ịmegharị glyphs, nsụgharị na-apụ apụ, na nkwalite arụmọrụ maka ngwaọrụ ndị agadi na ndị dị ala. N'ụdị dị ugbu a, arụmọrụ nke engine "vulkan" dị nso na arụmọrụ nke ochie "gl" engine. Injin "ngl" dị ala na arụmọrụ ya na injin "gl" ochie, mana arụmọrụ dịnụ zuru oke maka nsụgharị na 60 ma ọ bụ 144 FPS. A na-atụ anya na ọnọdụ ahụ ga-agbanwe mgbe nkwalite.

isi: opennet.ru

Tinye a comment