OpenGL рд░ Vulkan рдХрд╛ рд▓рд╛рдЧрд┐ рдирдпрд╛рдБ рд░реЗрдиреНрдбрд░рд┐рдЩ рдЗрдиреНрдЬрд┐рдирд╣рд░реВ GTK рдорд╛ рдердкрд┐рдПрдХрд╛ рдЫрдиреН

GTK рдкреБрд╕реНрддрдХрд╛рд▓рдпрдХрд╛ рд╡рд┐рдХрд╛рд╕рдХрд░реНрддрд╛рд╣рд░реВрд▓реЗ OpenGL (GL 3.3+ рд░ GLES 3.0+) рд░ Vulkan рдЧреНрд░рд╛рдлрд┐рдХреНрд╕ APIs рдкреНрд░рдпреЛрдЧ рдЧрд░реА рджреБрдИ рдирдпрд╛рдБ рд░реЗрдиреНрдбрд░рд┐рдЩ рдЗрдиреНрдЬрд┐рдирд╣рд░реВ - "ngl" рд░ "vulkan" рдХреЛ рдЙрдкрд▓рдмреНрдзрддрд╛ рдШреЛрд╖рдгрд╛ рдЧрд░реЗрдХрд╛ рдЫрдиреНред GTK 4.13.6 рдХреЛ рдкреНрд░рдпреЛрдЧрд╛рддреНрдордХ рд░рд┐рд▓реАрдЬрдорд╛ рдирдпрд╛рдБ рдЗрдиреНрдЬрд┐рдирд╣рд░реВ рд╕рдорд╛рд╡реЗрд╢ рдЫрдиреНред рдкреНрд░рдпреЛрдЧрд╛рддреНрдордХ GTK рд╢рд╛рдЦрд╛рдорд╛, ngl рдЗрдиреНрдЬрд┐рди рдЕрдм рдкреВрд░реНрд╡рдирд┐рд░реНрдзрд╛рд░рд┐рдд рд░реВрдкрдорд╛ рдкреНрд░рдпреЛрдЧ рдЧрд░рд┐рдиреНрдЫ, рддрд░ рдпрджрд┐ рдЕрд░реНрдХреЛ рд╕реНрдерд┐рд░ рд╢рд╛рдЦрд╛ 4.14 рдорд╛ рдорд╣рддреНрддреНрд╡рдкреВрд░реНрдг рд╕рдорд╕реНрдпрд╛рд╣рд░реВ рдкрд╣рд┐рдЪрд╛рди рдЧрд░рд┐рдпреЛ рднрдиреЗ, рдкреБрд░рд╛рдиреЛ "gl" рд░реЗрдиреНрдбрд░рд┐рдЩ рдЗрдиреНрдЬрд┐рди рдлрд┐рд░реНрддрд╛ рдЧрд░рд┐рдиреЗрдЫред

рдирдпрд╛рдБ рдЗрдиреНрдЬрд┐рдирд╣рд░реВ рдПрдХреАрдХреГрдд рд░реВрдкрдорд╛ рд░рд╛рдЦрд┐рдПрдХрд╛ рдЫрдиреН рд░ рдПрдХрд▓ рдХреЛрдб рдЖрдзрд╛рд░рдмрд╛рдЯ рднреЗрд▓рд╛ рд╣реБрдиреНрдЫрдиреНред рдПрдХреАрдХрд░рдгрдХреЛ рд╕рд╛рд░ рдпреЛ рд╣реЛ рдХрд┐ Vulkan API рд▓рд╛рдИ рдЖрдзрд╛рд░рдХреЛ рд░реВрдкрдорд╛ рдкреНрд░рдпреЛрдЧ рдЧрд░рд┐рдиреНрдЫ, рдЬрд╕рдХреЛ рд╢реАрд░реНрд╖рдорд╛ OpenGL рд░ Vulkan рдмреАрдЪрдХреЛ рднрд┐рдиреНрдирддрд╛рд╣рд░реВрд▓рд╛рдИ рдзреНрдпрд╛рдирдорд╛ рд░рд╛рдЦреНрджреИ, OpenGL рдХреЛ рд▓рд╛рдЧрд┐ рдЫреБрдЯреНрдЯреИ рдЕрдореВрд░реНрдд рд╕реНрддрд░ рд╕рд┐рд░реНрдЬрдирд╛ рдЧрд░рд┐рдПрдХреЛ рдЫред рдпреЛ рджреГрд╖реНрдЯрд┐рдХреЛрдгрд▓реЗ рджреГрд╢реНрдп рдЧреНрд░рд╛рдл, рд░реВрдкрд╛рдиреНрддрд░рдг, рдХреНрдпрд╛рд╕рд┐рдЩ рдмрдирд╛рд╡рдЯ рд░ рдЧреНрд▓рд┐рдлрд╣рд░реВ рдкреНрд░рд╢реЛрдзрди рдЧрд░реНрди рджреБрд╡реИ рдЗрдиреНрдЬрд┐рдирд╣рд░реВрдорд╛ рд╕рд╛рдЭрд╛ рдкреВрд░реНрд╡рд╛рдзрд╛рд░ рдкреНрд░рдпреЛрдЧ рдЧрд░реНрди рд╕рдореНрднрд╡ рдмрдирд╛рдпреЛред рдПрдХреАрдХрд░рдгрд▓реЗ рджреБрд╡реИ рдЗрдиреНрдЬрд┐рдирдХреЛ рдХреЛрдб рдмреЗрд╕рдХреЛ рдорд░реНрдордд рд╕рдореНрднрд╛рд░ рд░ рддрд┐рдиреАрд╣рд░реВрд▓рд╛рдИ рдЕрдк рдЯреБ рдбреЗрдЯ рд░ рд╕рд┐рдЩреНрдХреНрд░реЛрдирд╛рдЗрдЬ рдЧрд░реНрдиреЗ рдХрд╛рд░реНрдпрд▓рд╛рдИ рдкрдирд┐ рдорд╣рддреНрддреНрд╡рдкреВрд░реНрдг рд░реВрдкрдорд╛ рд╕рд░рд▓ рдмрдирд╛рдпреЛред

рдкреБрд░рд╛рдиреЛ gl рдИрдиреНрдЬрд┐рдирдХреЛ рд╡рд┐рдкрд░реАрдд, рдЬрд╕рд▓реЗ рдкреНрд░рддреНрдпреЗрдХ рдкреНрд░рдХрд╛рд░рдХреЛ рд░реЗрдиреНрдбрд░ рдиреЛрдбрдХреЛ рд▓рд╛рдЧрд┐ рдЫреБрдЯреНрдЯреИ рд╕рд╛рдзрд╛рд░рдг рд╢реЗрдбрд░ рдкреНрд░рдпреЛрдЧ рдЧрд░реНтАНрдпреЛ рд░ рдЕрдлрд╕реНрдХреНрд░рд┐рди рд░реЗрдиреНрдбрд░рд┐рдВрдЧрдХреЛ рдХреНрд░рдордорд╛ рдбрд╛рдЯрд╛рд▓рд╛рдИ рдЖрд╡рдзрд┐рдХ рд░реВрдкрдорд╛ рдкреБрди: рдХреНрд░рдордмрджреНрдз рдЧрд░реНтАНрдпреЛ, рдирдпрд╛рдБ рдЗрдиреНрдЬрд┐рдирд╣рд░реВрд▓реЗ рдЕрдлрд╕реНрдХреНрд░рд┐рди рд░реЗрдиреНрдбрд░рд┐рдЩрдХреЛ рд╕рдЯреНрдЯрд╛ рдЬрдЯрд┐рд▓ рд╢реЗрдбрд░ (ubershader) рдкреНрд░рдпреЛрдЧ рдЧрд░реНрджрдЫ рдЬрд╕рд▓реЗ рдмрдлрд░рдмрд╛рдЯ рдбрд╛рдЯрд╛рд▓рд╛рдИ рд╡реНрдпрд╛рдЦреНрдпрд╛ рдЧрд░реНрджрдЫред ред рдпрд╕рдХреЛ рд╣рд╛рд▓рдХреЛ рд░реВрдкрдорд╛, рдирдпрд╛рдБ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдЕрдЭреИ рдкрдирд┐ рдЕрдкреНрдЯрд┐рдорд╛рдЗрдЬреЗрд╕рдирдХреЛ рд╕реНрддрд░рдХреЛ рд╕рдиреНрджрд░реНрднрдорд╛ рдкреБрд░рд╛рдиреЛ рднрдиреНрджрд╛ рдкрдЫрд╛рдбрд┐ рдЫ, рдХрд┐рдирдХрд┐ рд╡рд░реНрддрдорд╛рди рдЪрд░рдгрдорд╛ рдореБрдЦреНрдп рдлреЛрдХрд╕ рд╕рд╣реА рд╕рдЮреНрдЪрд╛рд▓рди рд░ рдорд░реНрдорддрд╕рдореНрднрд╛рд░рдорд╛ рд╕рд╣рдЬ рдЫред

рдкреБрд░рд╛рдиреЛ рдЬреАрдПрд▓ рдЗрдиреНрдЬрд┐рдирдорд╛ рдЫреБрдЯреЗрдХрд╛ рдирдпрд╛рдБ рд╕реБрд╡рд┐рдзрд╛рд╣рд░реВ:

  • рдХрдиреНрдЯреВрд░ рд╕реНрдореВрдерд┐рдЩ - рддрдкрд╛рдИрдВрд▓рд╛рдИ рд░рд╛рдореНрд░реЛ рд╡рд┐рд╡рд░рдгрд╣рд░реВ рд╕реБрд░рдХреНрд╖рд┐рдд рдЧрд░реНрди рд░ рдЪрд┐рдХрдиреА рд░реВрдкрд░реЗрдЦрд╛рд╣рд░реВ рдкреНрд░рд╛рдкреНрдд рдЧрд░реНрди рдЕрдиреБрдорддрд┐ рджрд┐рдиреНрдЫред
    OpenGL рд░ Vulkan рдХрд╛ рд▓рд╛рдЧрд┐ рдирдпрд╛рдБ рд░реЗрдиреНрдбрд░рд┐рдЩ рдЗрдиреНрдЬрд┐рдирд╣рд░реВ GTK рдорд╛ рдердкрд┐рдПрдХрд╛ рдЫрдиреН
  • рд╕реНрд╡реЗрдЪреНрдЫрд╛рдЪрд╛рд░реА рдврд╛рдБрдЪрд╛рд╣рд░реВрдХреЛ рдЧрдарди, рдЬрд╕рд▓реЗ рдХреБрдиреИ рдкрдирд┐ рд╕рдВрдЦреНрдпрд╛рдорд╛ рд░рдЩрд╣рд░реВ рд░ рдПрдиреНрдЯрд┐-рдЕрд▓рд┐рдпрд╛рд╕рд┐рдЩ рдкреНрд░рдпреЛрдЧ рдЧрд░реНрди рд╕рдХреНрдЫ (gl рдЗрдиреНрдЬрд┐рдирдорд╛, 6 рд╕реНрдЯрдк рд░рдЩрд╣рд░реВрдХрд╛ рд╕рд╛рде рдХреЗрд╡рд▓ рд░реЗрдЦреАрдп, рд░реЗрдбрд┐рдпрд▓ рд░ рдХреЛрдирд┐рдХрд▓ рдврд╛рдБрдЪрд╛рд╣рд░реВрд▓рд╛рдИ рд╕рдорд░реНрдерди рдЧрд░рд┐рдПрдХреЛ рдерд┐рдпреЛ)ред
    OpenGL рд░ Vulkan рдХрд╛ рд▓рд╛рдЧрд┐ рдирдпрд╛рдБ рд░реЗрдиреНрдбрд░рд┐рдЩ рдЗрдиреНрдЬрд┐рдирд╣рд░реВ GTK рдорд╛ рдердкрд┐рдПрдХрд╛ рдЫрдиреН
  • рдЖрдВрд╢рд┐рдХ рд╕реНрдХреЗрд▓, рдЬрд╕рд▓реЗ рддрдкрд╛рдИрдВрд▓рд╛рдИ рдЧреИрд░-рдкреВрд░реНрдгрд╛рдВрдХ рдорд╛рдкрди рдорд╛рдирд╣рд░реВ рд╕реЗрдЯ рдЧрд░реНрди рдЕрдиреБрдорддрд┐ рджрд┐рдиреНрдЫ, рдЙрджрд╛рд╣рд░рдгрдХрд╛ рд▓рд╛рдЧрд┐, 125x1200 рдХреЛ рд╡рд┐рдиреНрдбреЛрдХреЛ рд▓рд╛рдЧрд┐ 800% рдХреЛ рд╕реНрдХреЗрд▓ рдкреНрд░рдпреЛрдЧ рдЧрд░реНрджрд╛, 1500x1000 рдХреЛ рдмрдлрд░ рдЖрд╡рдВрдЯрд┐рдд рдЧрд░рд┐рдиреЗрдЫ, рд░ рдкреБрд░рд╛рдиреЛ рдЗрдиреНрдЬрд┐рдирдорд╛ 2400x1600 рд╣реЛрдЗрдиред
  • рдзреЗрд░реИ GPU рд╣рд░реВ рдкреНрд░рдпреЛрдЧ рдЧрд░реНрди рд░ рдЕрд░реНрдХреЛ GPU рдорд╛ рд╡реНрдпрдХреНрддрд┐рдЧрдд рдХрд╛рд░реНрдпрд╣рд░реВ рдЕрдлрд▓реЛрдб рдЧрд░реНрди DMA-BUF рдкреНрд░рд╡рд┐рдзрд┐рдХреЛ рд▓рд╛рдЧрд┐ рд╕рдорд░реНрдердиред
  • рдкреБрд░рд╛рдиреЛ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрдирдорд╛ рд╕рдорд╕реНрдпрд╛ рднрдПрдХрд╛ рдзреЗрд░реИ рд░реЗрдиреНрдбрд░рд┐рдЩ рдиреЛрдбрд╣рд░реВ рд╕рд╣реА рддрд░рд┐рдХрд╛рд▓реЗ рдкреНрд░рд╢реЛрдзрди рдЧрд░рд┐рдПрдХрд╛ рдЫрдиреНред

рдирдпрд╛рдБ рдЗрдиреНрдЬрд┐рдирдХрд╛ рд╕реАрдорд┐рддрддрд╛рд╣рд░реВрдорд╛ рдЧреИрд░-рдкреВрд░реНрдгрд╛рдВрдХ рдорд╛рдирд╣рд░реВ (рдЖрдВрд╢рд┐рдХ рд╕реНрдерд┐рддрд┐) рд░ glshader рдиреЛрдбрд╣рд░реВ рджреНрд╡рд╛рд░рд╛ рд╕реНрдерд┐рддрд┐ рдирд┐рд░реНрдзрд╛рд░рдгрдХреЛ рд▓рд╛рдЧрд┐ рд╕рдорд░реНрдердирдХреЛ рдХрдореА рд╕рдорд╛рд╡реЗрд╢ рдЫ, рдЬреБрди рдкреБрд░рд╛рдиреЛ рдЗрдиреНрдЬрд┐рдирдХрд╛ рд╕реБрд╡рд┐рдзрд╛рд╣рд░реВрдорд╛ рдзреЗрд░реИ рдЬреЛрдбрд┐рдПрдХреЛ рдерд┐рдпреЛ, рд░ рдЬреБрди рд╕рдорд░реНрдерди рдердкреЗ рдкрдЫрд┐ рдЖрд╡рд╢реНрдпрдХ рдерд┐рдПрдиред рдорд╛рд╕реНрдХ (рдорд╛рд╕реНрдХ) рд░ рдкрд╛рд░рджрд░реНрд╢рд┐рддрд╛ рд╕рдВрдЧ рдмрдирд╛рд╡рдЯ рд╕рдВрдЧ рдиреЛрдбрд╣рд░реВред рдбреНрд░рд╛рдЗрднрд░рд╕рдБрдЧ рдХрд╛рдо рдЧрд░реНрдиреЗ рддрд░рд┐рдХрд╛рдорд╛ рдкрд░рд┐рд╡рд░реНрддрдирдХрд╛ рдХрд╛рд░рдг рдЧреНрд░рд╛рдлрд┐рдХреНрд╕ рдбреНрд░рд╛рдЗрднрд░рд╣рд░реВрдорд╛ рд╕рдореНрднрд╛рд╡рд┐рдд рд╕рдорд╕реНрдпрд╛рд╣рд░реВ рдЙрддреНрдкрдиреНрди рд╣реБрдиреЗ рд╕рдореНрднрд╛рд╡рдирд╛ рд░рд╣реЗрдХреЛ рдкрдирд┐ рдЙрд▓реНрд▓реЗрдЦ рдЧрд░рд┐рдПрдХреЛ рдЫред

рднрд╡рд┐рд╖реНрдпрдорд╛, рдирдпрд╛рдБ рдПрдХреАрдХреГрдд рдореЛрдбреЗрд▓рдХреЛ рдЖрдзрд╛рд░рдорд╛, рд╡рд┐рдиреНрдбреЛрдЬрдорд╛ macOS рд░ DirectX рдорд╛ рдореЗрдЯрд▓ рдкреНрд░рдпреЛрдЧ рдЧрд░реЗрд░ рд░реЗрдиреНрдбрд░рд┐рдЩ рдЗрдиреНрдЬрд┐рдирд╣рд░реВрдХреЛ рд╕рд┐рд░реНрдЬрдирд╛рд▓рд╛рдИ рдмрд╣рд┐рд╖реНрдХреГрдд рдЧрд░рд┐рдПрдХреЛ рдЫреИрди, рддрд░ рддреНрдпрд╕реНрддрд╛ рдЗрдиреНрдЬрд┐рдирд╣рд░реВрдХреЛ рд╕рд┐рд░реНрдЬрдирд╛ рд╢реЗрдбрд░рд╣рд░реВрдХреЛ рд▓рд╛рдЧрд┐ рдЕрдиреНрдп рднрд╛рд╖рд╛рд╣рд░реВрдХреЛ рдкреНрд░рдпреЛрдЧрд▓реЗ рдЬрдЯрд┐рд▓ рдЫ ("ngl " рд░ "vulkan" рдЗрдиреНрдЬрд┐рдирд╣рд░реВрд▓реЗ GLSL рднрд╛рд╖рд╛ рдкреНрд░рдпреЛрдЧ рдЧрд░реНрджрдЫ, рддреНрдпрд╕реИрд▓реЗ рдзрд╛рддреБ рд░ рдкреНрд░рддреНрдпрдХреНрд╖рдХрд╛ рд▓рд╛рдЧрд┐ рдпрд╛ рдд рдбреБрдкреНрд▓рд┐рдХреЗрдЯ рд╢реЗрдбрд░рд╣рд░реВ рд╡рд╛ SPIRV-рдХреНрд░рд╕ рдЯреВрд▓рдХрд┐рдЯрдорд╛ рдЖрдзрд╛рд░рд┐рдд рд▓реЗрдпрд░ рдкреНрд░рдпреЛрдЧ рдЧрд░реНрдиреБрдкрд░реНрдиреЗрдЫ)ред

рднрд╡рд┐рд╖реНрдпрдХрд╛ рдпреЛрдЬрдирд╛рд╣рд░реВрдорд╛ рд╕рд╣реА рд░рдВрдЧ рд╡реНрдпрд╡рд╕реНрдерд╛рдкрдирдХреЛ рд▓рд╛рдЧрд┐ HDR рд╕рдорд░реНрдерди рд░ рдЙрдкрдХрд░рдгрд╣рд░реВ, GPU рд╕рд╛рдЗрдбрдорд╛ рдкрде рд░реЗрдиреНрдбрд░рд┐рдЩрдХреЛ рд▓рд╛рдЧрд┐ рд╕рдорд░реНрдерди, рдЧреНрд▓рд┐рдлрд╣рд░реВ, рдЕрдл-рд╕реНрдЯреНрд░рд┐рдо рд░реЗрдиреНрдбрд░рд┐рдЩ, рд░ рдкреБрд░рд╛рдиреЛ рд░ рдХрдо-рд╢рдХреНрддрд┐ рдЙрдкрдХрд░рдгрд╣рд░реВрдХреЛ рд▓рд╛рдЧрд┐ рдкреНрд░рджрд░реНрд╢рди рдЕрдиреБрдХреВрд▓рдирд╣рд░реВ рдкреНрд░рджрд╛рди рдЧрд░реНрдиреЗ рдХреНрд╖рдорддрд╛ рд╕рдорд╛рд╡реЗрд╢ рдЫред рдпрд╕рдХреЛ рд╣рд╛рд▓рдХреЛ рд░реВрдк рдорд╛, "vulkan" рдЗрдиреНрдЬрд┐рди рдХреЛ рдкреНрд░рджрд░реНрд╢рди рдкреБрд░рд╛рдиреЛ "gl" рдЗрдиреНрдЬрд┐рди рдХреЛ рдкреНрд░рджрд░реНрд╢рди рдХреЛ рдирдЬрд┐рдХ рдЫред "ngl" рдЗрдиреНрдЬрд┐рди рдкреБрд░рд╛рдиреЛ "gl" рдЗрдиреНрдЬрд┐рдирдХреЛ рдкреНрд░рджрд░реНрд╢рдирдорд╛ рдХрдо рдЫ, рддрд░ рдЙрдкрд▓рдмреНрдз рдкреНрд░рджрд░реНрд╢рди 60 рд╡рд╛ 144 FPS рдорд╛ рд░реЗрдиреНрдбрд░рд┐рдЩрдХреЛ рд▓рд╛рдЧрд┐ рдкрд░реНрдпрд╛рдкреНрдд рдЫред рдЕрдкреНрдЯрд┐рдорд╛рдЗрдЬреЗрд╕рди рдкрдЫрд┐ рд╕реНрдерд┐рддрд┐ рдкрд░рд┐рд╡рд░реНрддрди рд╣реБрдиреЗ рдЕрдкреЗрдХреНрд╖рд╛ рдЧрд░рд┐рдПрдХреЛ рдЫред

рд╕реНрд░реЛрдд: opennet.ru

рдПрдХ рдЯрд┐рдкреНрдкрдгреА рдердкреНрди