{"id":113225,"date":"2024-01-29T12:50:31","date_gmt":"2024-01-29T10:50:32","guid":{"rendered":"https:\/\/prohoster.info\/blog\/novosti-interneta\/v-gtk-dobavleny-novye-dvizhki-otrisovki-dlya-opengl-i-vulkan"},"modified":"2024-01-29T12:50:31","modified_gmt":"2024-01-29T10:50:32","slug":"v-gtk-dobavleny-novye-dvizhki-otrisovki-dlya-opengl-i-vulkan","status":"publish","type":"post","link":"https:\/\/prohoster.info\/es\/blog\/news\/v-gtk-dobavleny-novye-dvizhki-otrisovki-dlya-opengl-i-vulkan","title":{"rendered":"Se han a\u00f1adido nuevos motores de renderizado para OpenGL y Vulkan en GTK","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p>Los desarrolladores de la biblioteca GTK han anunciado la disponibilidad de dos nuevos motores de renderizado: \u00abngl\u00bb y \u00abvulkan\u00bb, que utilizan las API gr\u00e1ficas OpenGL (GL 3.3+ y GLES 3.0+) y Vulkan. Los nuevos motores est\u00e1n incluidos en la versi\u00f3n experimental GTK 4.13.6. En la rama experimental de GTK, el motor ngl ahora se utiliza por defecto, pero si se identifican problemas significativos, en la pr\u00f3xima versi\u00f3n estable 4.14 se volver\u00e1 a utilizar el antiguo motor de renderizado \u00abgl\u00bb.    <\/p>\n<p>Los nuevos motores se posicionan como unificados y se construyen a partir de una base de c\u00f3digo \u00fanica. La esencia de la unificaci\u00f3n es que se utiliza la API Vulkan como base, encima de la cual se ha creado un nivel de abstracci\u00f3n separado para OpenGL, que tiene en cuenta las diferencias entre OpenGL y Vulkan. Este enfoque ha permitido emplear en ambos motores una infraestructura com\u00fan para el procesamiento del gr\u00e1fico de escena, transformaciones, almacenamiento en cach\u00e9 de texturas y glifos. La unificaci\u00f3n tambi\u00e9n ha simplificado notablemente el mantenimiento de la base de c\u00f3digo de ambos motores y su actualizaci\u00f3n y sincronizaci\u00f3n.     <\/p>\n<p>A diferencia del antiguo motor \u00abgl\u00bb, que utilizaba un sombreado simple separado para cada tipo de nodo de renderizado (rendernode) y realizaba una reordenaci\u00f3n peri\u00f3dica de datos durante el renderizado fuera de pantalla (offscreen), en los nuevos motores se aplica un sombreado complejo (ubershader) que interpreta datos del b\u00fafer en lugar del renderizado fuera de pantalla. En su forma actual, la nueva implementaci\u00f3n a\u00fan se queda atr\u00e1s de la antigua en cuanto a optimizaciones, ya que en esta etapa se est\u00e1 priorizando la correcci\u00f3n del funcionamiento y la facilidad de mantenimiento.    <\/p>\n<p>Nuevas caracter\u00edsticas que no est\u00e1n presentes en el antiguo motor \u00abgl\u00bb:  <\/p>\n<ul>\n<li class=\"l\"> Antialiasing \u2014 permite preservar los peque\u00f1os detalles y lograr contornos m\u00e1s suaves en el renderizado.    <center><img decoding=\"async\" alt=\"Se han a\u00f1adido nuevos motores de renderizado para OpenGL y Vulkan en GTK\" src=\"\/wp-content\/uploads\/2024\/01\/dc690b87095af7bca8d2826ebb3a9584.png\" style=\"display:block;margin: 0 auto;\" \/><\/center>\n<li class=\"l\"> Generaci\u00f3n de gradientes arbitrarios, donde se puede utilizar cualquier n\u00famero de colores y antialiasing (en el motor \u00abgl\u00bb solo se admit\u00edan gradientes lineales, radiales y c\u00f3nicos con 6 colores de parada).      <center><img decoding=\"async\" alt=\"Se han a\u00f1adido nuevos motores de renderizado para OpenGL y Vulkan en GTK\" src=\"\/wp-content\/uploads\/2024\/01\/331c81cddc35e00e08db425a38d90dca.png\" style=\"display:block;margin: 0 auto;\" \/><\/center>\n<li class=\"l\"> Escalado fraccionario (fractional scale), que permite establecer valores de escala no enteros; por ejemplo, al utilizar un escalado del 125% para una ventana de 1200\u00d7800, se asignar\u00e1 un b\u00fafer de 1500\u00d71000, y no 2400\u00d71600 como en el antiguo motor.\n<li class=\"l\"> Soporte para la tecnolog\u00eda DMA-BUF para utilizar m\u00faltiples GPU y trasladar operaciones individuales a otra GPU.\n<li class=\"l\"> Se manejan correctamente muchos nodos de renderizado que presentaban problemas en la antigua implementaci\u00f3n.  <\/ul>\n<p>Las limitaciones de los nuevos motores incluyen la falta de soporte para el posicionamiento en valores no enteros (posici\u00f3n fraccionaria) y nodos glshader, que estaban muy ligados a las caracter\u00edsticas del antiguo motor, y que han quedado obsoletos tras la adici\u00f3n del soporte para nodos con m\u00e1scaras (mask) y texturas con transparencia. Tambi\u00e9n se menciona la probabilidad de que surjan problemas con controladores gr\u00e1ficos, debido al cambio en el m\u00e9todo de trabajo con dichos controladores.      <\/p>\n<p>En el futuro, no se descarta la creaci\u00f3n de motores de renderizado basados en el nuevo modelo unificado que utilicen Metal en macOS y DirectX en Windows, aunque el desarrollo de tales motores se complica por el uso de diferentes lenguajes para los sombreadores (en los motores \u00abngl\u00bb y \u00abvulkan\u00bb se utiliza el lenguaje GLSL, por lo que para Metal y Direct ser\u00e1 necesario duplicar los sombreadores o utilizar una capa basada en la herramienta SPIRV-Cross).    <\/p>\n<p>En los planes futuros se menciona el apoyo a HDR y herramientas para el manejo adecuado del color, la compatibilidad con el trazado de caminos (Path rendering) en el lado de la GPU, la posibilidad de renderizar glifos, el renderizado fuera del hilo principal y la optimizaci\u00f3n del rendimiento para dispositivos antiguos y de bajo rendimiento. En su forma actual, el rendimiento del motor &#171;vulkan&#187; es similar al del antiguo motor &#171;gl&#187;. El motor &#171;ngl&#187; tiene un rendimiento inferior al del antiguo motor &#171;gl&#187;, pero los indicadores disponibles son suficientes para renderizar a 60 o 144 FPS. Se espera que la situaci\u00f3n cambie tras la optimizaci\u00f3n.<br \/>\n<br \/>Fuente: <a content=\"nofollow\" rel=\"nofollow\" href=\"https:\/\/www.opennet.ru\/opennews\/art.shtml?num=60515\">opennet.ru<\/a> <\/p>","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"excerpt":{"rendered":"<p>\u0420\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u0447\u0438\u043a\u0438 \u0431\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a\u0438 GTK \u043e\u0431\u044a\u044f\u0432\u0438\u043b\u0438 \u043e \u0433\u043e\u0442\u043e\u0432\u043d\u043e\u0441\u0442\u0438 \u0434\u0432\u0443\u0445 \u043d\u043e\u0432\u044b\u0445 \u0434\u0432\u0438\u0436\u043a\u043e\u0432 \u043e\u0442\u0440\u0438\u0441\u043e\u0432\u043a\u0438 &#8212; &#171;ngl&#187; \u0438 &#171;vulkan&#187;, \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u044e\u0449\u0438\u0445 \u0433\u0440\u0430\u0444\u0438\u0447\u0435\u0441\u043a\u0438\u0435 API OpenGL (GL 3.3+ \u0438 GLES 3.0+) \u0438 Vulkan. \u041d\u043e\u0432\u044b\u0435 \u0434\u0432\u0438\u0436\u043a\u0438 \u0432\u043a\u043b\u044e\u0447\u0435\u043d\u044b \u0432 \u0441\u043e\u0441\u0442\u0430\u0432 \u044d\u043a\u0441\u043f\u0435\u0440\u0438\u043c\u0435\u043d\u0442\u0430\u043b\u044c\u043d\u043e\u0433\u043e \u0432\u044b\u043f\u0443\u0441\u043a\u0430 GTK 4.13.6. \u0412 \u044d\u043a\u0441\u043f\u0435\u0440\u0438\u043c\u0435\u043d\u0442\u0430\u043b\u044c\u043d\u043e\u0439 \u0432\u0435\u0442\u043a\u0438 GTK \u0434\u0432\u0438\u0436\u043e\u043a ngl \u0442\u0435\u043f\u0435\u0440\u044c \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u0442\u0441\u044f \u043f\u043e \u0443\u043c\u043e\u043b\u0447\u0430\u043d\u0438\u044e, \u043d\u043e \u0432 \u0441\u043b\u0443\u0447\u0430\u0435 \u0432\u044b\u044f\u0432\u043b\u0435\u043d\u0438\u044f \u0437\u043d\u0430\u0447\u0438\u0442\u0435\u043b\u044c\u043d\u044b\u0445 \u043f\u0440\u043e\u0431\u043b\u0435\u043c \u0432 \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0435\u0439 \u0441\u0442\u0430\u0431\u0438\u043b\u044c\u043d\u043e\u0439 \u0432\u0435\u0442\u043a\u0435 4.14 [&hellip;]<\/p>\n","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"author":1,"featured_media":113226,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[702],"tags":[],"class_list":["post-113225","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-news"],"aioseo_notices":[],"aioseo_head":"\n\t\t<!-- All in One SEO 5.0.2 - aioseo.com -->\n\t<meta name=\"description\" content=\"\u0420\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u0447\u0438\u043a\u0438 \u0431\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a\u0438 GTK \u043e\u0431\u044a\u044f\u0432\u0438\u043b\u0438 \u043e \u0433\u043e\u0442\u043e\u0432\u043d\u043e\u0441\u0442\u0438 \u0434\u0432\u0443\u0445 \u043d\u043e\u0432\u044b\u0445 \u0434\u0432\u0438\u0436\u043a\u043e\u0432 \u043e\u0442\u0440\u0438\u0441\u043e\u0432\u043a\u0438 - &quot;ngl&quot; \u0438 &quot;vulkan&quot;, \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u044e\u0449\u0438\u0445 \u0433\u0440\u0430\u0444\u0438\u0447\u0435\u0441\u043a\u0438\u0435 API OpenGL (GL 3.3+ \u0438 GLES 3.0+) \u0438 Vulkan.\" \/>\n\t<meta name=\"robots\" content=\"max-image-preview:large\" \/>\n\t<meta name=\"author\" content=\"Yuri Gagarin\"\/>\n\t<link rel=\"canonical\" href=\"https:\/\/prohoster.info\/es\/blog\/news\/v-gtk-dobavleny-novye-dvizhki-otrisovki-dlya-opengl-i-vulkan\" \/>\n\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 5.0.2\" \/>\n\t\t<meta property=\"og:locale\" content=\"es_ES\" \/>\n\t\t<meta property=\"og:site_name\" content=\"ProHoster | \u041a\u0443\u043f\u0438\u0442\u044c \u043d\u0430\u0434\u0435\u0436\u043d\u044b\u0439 \u0445\u043e\u0441\u0442\u0438\u043d\u0433 \u0434\u043b\u044f \u0441\u0430\u0439\u0442\u043e\u0432 \u0441 \u0437\u0430\u0449\u0438\u0442\u043e\u0439 \u043e\u0442 DDoS, VPS VDS \u0441\u0435\u0440\u0432\u0435\u0440\u044b\" \/>\n\t\t<meta property=\"og:type\" content=\"article\" \/>\n\t\t<meta property=\"og:title\" content=\"\ud83e\udd47\u0412 GTK \u0434\u043e\u0431\u0430\u0432\u043b\u0435\u043d\u044b \u043d\u043e\u0432\u044b\u0435 \u0434\u0432\u0438\u0436\u043a\u0438 \u043e\u0442\u0440\u0438\u0441\u043e\u0432\u043a\u0438 \u0434\u043b\u044f OpenGL \u0438 Vulkan | ProHoster\" \/>\n\t\t<meta property=\"og:description\" content=\"\u0420\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u0447\u0438\u043a\u0438 \u0431\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a\u0438 GTK \u043e\u0431\u044a\u044f\u0432\u0438\u043b\u0438 \u043e \u0433\u043e\u0442\u043e\u0432\u043d\u043e\u0441\u0442\u0438 \u0434\u0432\u0443\u0445 \u043d\u043e\u0432\u044b\u0445 \u0434\u0432\u0438\u0436\u043a\u043e\u0432 \u043e\u0442\u0440\u0438\u0441\u043e\u0432\u043a\u0438 - &quot;ngl&quot; \u0438 &quot;vulkan&quot;, \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u044e\u0449\u0438\u0445 \u0433\u0440\u0430\u0444\u0438\u0447\u0435\u0441\u043a\u0438\u0435 API OpenGL (GL 3.3+ \u0438 GLES 3.0+) \u0438 Vulkan.\" \/>\n\t\t<meta property=\"og:url\" content=\"https:\/\/prohoster.info\/es\/blog\/news\/v-gtk-dobavleny-novye-dvizhki-otrisovki-dlya-opengl-i-vulkan\" \/>\n\t\t<meta property=\"og:image\" content=\"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg\" \/>\n\t\t<meta property=\"og:image:secure_url\" content=\"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg\" \/>\n\t\t<meta property=\"og:image:width\" content=\"350\" \/>\n\t\t<meta property=\"og:image:height\" content=\"350\" \/>\n\t\t<meta property=\"article:published_time\" content=\"2024-01-29T10:50:32+00:00\" \/>\n\t\t<meta property=\"article:modified_time\" content=\"2024-01-29T10:50:32+00:00\" \/>\n\t\t<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/prohoster\" \/>\n\t\t<meta property=\"article:author\" content=\"https:\/\/www.facebook.com\/prohoster\" \/>\n\t\t<!-- All in One SEO -->\n\n","aioseo_head_json":{"title":"\ud83e\udd47Se han a\u00f1adido nuevos motores de renderizado para OpenGL y Vulkan en GTK | ProHoster","description":"Los desarrolladores de la biblioteca GTK han anunciado la disponibilidad de dos nuevos motores de renderizado: 'ngl' y 'vulkan', que utilizan las API gr\u00e1ficas OpenGL (GL 3.3+ y GLES 3.0+) y Vulkan.","canonical_url":"https:\/\/prohoster.info\/es\/blog\/news\/v-gtk-dobavleny-novye-dvizhki-otrisovki-dlya-opengl-i-vulkan","robots":"max-image-preview:large","keywords":"","webmasterTools":{"miscellaneous":""},"schema":null,"og:locale":"es_ES","og:site_name":"ProHoster | \u041a\u0443\u043f\u0438\u0442\u044c \u043d\u0430\u0434\u0435\u0436\u043d\u044b\u0439 \u0445\u043e\u0441\u0442\u0438\u043d\u0433 \u0434\u043b\u044f \u0441\u0430\u0439\u0442\u043e\u0432 \u0441 \u0437\u0430\u0449\u0438\u0442\u043e\u0439 \u043e\u0442 DDoS, VPS VDS \u0441\u0435\u0440\u0432\u0435\u0440\u044b","og:type":"article","og:title":"\ud83e\udd47\u0412 GTK \u0434\u043e\u0431\u0430\u0432\u043b\u0435\u043d\u044b \u043d\u043e\u0432\u044b\u0435 \u0434\u0432\u0438\u0436\u043a\u0438 \u043e\u0442\u0440\u0438\u0441\u043e\u0432\u043a\u0438 \u0434\u043b\u044f OpenGL \u0438 Vulkan | ProHoster","og:description":"\u0420\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u0447\u0438\u043a\u0438 \u0431\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a\u0438 GTK \u043e\u0431\u044a\u044f\u0432\u0438\u043b\u0438 \u043e \u0433\u043e\u0442\u043e\u0432\u043d\u043e\u0441\u0442\u0438 \u0434\u0432\u0443\u0445 \u043d\u043e\u0432\u044b\u0445 \u0434\u0432\u0438\u0436\u043a\u043e\u0432 \u043e\u0442\u0440\u0438\u0441\u043e\u0432\u043a\u0438 - &quot;ngl&quot; \u0438 &quot;vulkan&quot;, \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u044e\u0449\u0438\u0445 \u0433\u0440\u0430\u0444\u0438\u0447\u0435\u0441\u043a\u0438\u0435 API OpenGL (GL 3.3+ \u0438 GLES 3.0+) \u0438 Vulkan.","og:url":"https:\/\/prohoster.info\/es\/blog\/news\/v-gtk-dobavleny-novye-dvizhki-otrisovki-dlya-opengl-i-vulkan","og:image":"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg","og:image:secure_url":"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg","og:image:width":350,"og:image:height":350,"article:published_time":"2024-01-29T10:50:32+00:00","article:modified_time":"2024-01-29T10:50:32+00:00","article:publisher":"https:\/\/www.facebook.com\/prohoster","article:author":"https:\/\/www.facebook.com\/prohoster"},"aioseo_meta_data":[],"gt_translate_keys":[{"key":"link","format":"url"}],"_links":{"self":[{"href":"https:\/\/prohoster.info\/es\/wp-json\/wp\/v2\/posts\/113225","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/prohoster.info\/es\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/prohoster.info\/es\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/prohoster.info\/es\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/prohoster.info\/es\/wp-json\/wp\/v2\/comments?post=113225"}],"version-history":[{"count":0,"href":"https:\/\/prohoster.info\/es\/wp-json\/wp\/v2\/posts\/113225\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/prohoster.info\/es\/wp-json\/wp\/v2\/media\/113226"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/es\/wp-json\/wp\/v2\/media?parent=113225"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/es\/wp-json\/wp\/v2\/categories?post=113225"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/es\/wp-json\/wp\/v2\/tags?post=113225"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}