{"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\/fr\/blog\/news\/v-gtk-dobavleny-novye-dvizhki-otrisovki-dlya-opengl-i-vulkan","title":{"rendered":"De nouveaux moteurs de rendu pour OpenGL et Vulkan ont \u00e9t\u00e9 ajout\u00e9s \u00e0 GTK","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p>Les d\u00e9veloppeurs de la biblioth\u00e8que GTK ont annonc\u00e9 la disponibilit\u00e9 de deux nouveaux moteurs de rendu \u2014 \u00abngl\u00bb et \u00abvulkan\u00bb, utilisant les API graphiques OpenGL (GL 3.3+ et GLES 3.0+) et Vulkan. Les nouveaux moteurs sont inclus dans la version exp\u00e9rimentale GTK 4.13.6. Dans la branche exp\u00e9rimentale de GTK, le moteur ngl est d\u00e9sormais utilis\u00e9 par d\u00e9faut, mais en cas de probl\u00e8mes significatifs, l'ancien moteur de rendu \u00abgl\u00bb sera r\u00e9tabli dans la prochaine version stable 4.14.    <\/p>\n<p>Les nouveaux moteurs sont positionn\u00e9s comme unifi\u00e9s et construits \u00e0 partir d'une base de code unique. L'unification signifie qu'une API Vulkan est utilis\u00e9e comme base, sur laquelle un niveau d'abstraction distinct pour OpenGL a \u00e9t\u00e9 cr\u00e9\u00e9, tenant compte des diff\u00e9rences entre OpenGL et Vulkan. Cette approche a permis de faire appel \u00e0 une infrastructure commune dans les deux moteurs pour le traitement du graphe de sc\u00e8ne, les transformations, le caching des textures et des glyphes. L'unification a \u00e9galement consid\u00e9rablement simplifi\u00e9 la maintenance de la base de code des deux moteurs et leur mise \u00e0 jour dans un \u00e9tat actuel et synchronis\u00e9.     <\/p>\n<p>Contrairement \u00e0 l'ancien moteur \u00abgl\u00bb, dans lequel un simple shader \u00e9tait utilis\u00e9 pour chaque type de n\u0153ud de rendu (rendernode) et o\u00f9 un tri p\u00e9riodique des donn\u00e9es \u00e9tait effectu\u00e9 lors du rendu hors \u00e9cran (offscreen), les nouveaux moteurs utilisent un shader complexe (ubershader) qui interpr\u00e8te les donn\u00e9es du buffer \u00e0 la place du rendu hors \u00e9cran. Dans sa configuration actuelle, la nouvelle r\u00e9alisation est encore en retard par rapport \u00e0 l'ancienne en termes d'optimisation, car l'accent est actuellement mis sur la correction du fonctionnement et la simplicit\u00e9 de maintenance.    <\/p>\n<p>Nouvelles fonctionnalit\u00e9s absentes dans l'ancien moteur \u00abgl\u00bb :  <\/p>\n<ul>\n<li class=\"l\"> L'anticr\u00e9nelage \u2014 permet de conserver les petits d\u00e9tails et d'obtenir des contours plus lisses.    <center><img decoding=\"async\" alt=\"De nouveaux moteurs de rendu pour OpenGL et Vulkan ont \u00e9t\u00e9 ajout\u00e9s \u00e0 GTK\" src=\"\/wp-content\/uploads\/2024\/01\/dc690b87095af7bca8d2826ebb3a9584.png\" style=\"display:block;margin: 0 auto;\" \/><\/center>\n<li class=\"l\"> La cr\u00e9ation de d\u00e9grad\u00e9s arbitraires, pouvant utiliser n'importe quel nombre de couleurs et de l'anticr\u00e9nelage (dans le moteur \u00abgl\u00bb, seuls des d\u00e9grad\u00e9s lin\u00e9aires, radiaux et coniques avec 6 couleurs d'arr\u00eat \u00e9taient pris en charge).      <center><img decoding=\"async\" alt=\"De nouveaux moteurs de rendu pour OpenGL et Vulkan ont \u00e9t\u00e9 ajout\u00e9s \u00e0 GTK\" src=\"\/wp-content\/uploads\/2024\/01\/331c81cddc35e00e08db425a38d90dca.png\" style=\"display:block;margin: 0 auto;\" \/><\/center>\n<li class=\"l\"> Mise \u00e0 l'\u00e9chelle fractionnaire (fractional scale), permettant d'attribuer des valeurs d'\u00e9chelle non enti\u00e8res, par exemple, pour une \u00e9chelle de 125 % pour une fen\u00eatre de 1200\u00d7800, un buffer de 1500\u00d71000 sera r\u00e9serv\u00e9, et non 2400\u00d71600 comme dans l'ancien moteur.\n<li class=\"l\"> Support de la technologie DMA-BUF pour l'utilisation de plusieurs GPU et l'ex\u00e9cution d'op\u00e9rations sp\u00e9cifiques sur un autre GPU.\n<li class=\"l\"> De nombreux n\u0153uds de rendu sont correctement trait\u00e9s, ce qui posait des probl\u00e8mes dans l'ancienne impl\u00e9mentation.  <\/ul>\n<p>Les limitations des nouveaux moteurs incluent l'absence de support pour le positionnement par valeurs non enti\u00e8res (fractional position) et les n\u0153uds glshader, qui \u00e9taient fortement li\u00e9s aux sp\u00e9cificit\u00e9s de l'ancien moteur, et dont l'utilit\u00e9 a disparu apr\u00e8s l'ajout du support des n\u0153uds avec masques (mask) et des textures avec transparence. Il est \u00e9galement mentionn\u00e9 la probabilit\u00e9 d'\u00e9mergence de probl\u00e8mes potentiels avec les pilotes graphiques en raison du changement de m\u00e9thode de travail avec eux.      <\/p>\n<p>\u00c0 l'avenir, sur la base du nouveau mod\u00e8le unifi\u00e9, il est possible de cr\u00e9er des moteurs de rendu utilisant Metal sur macOS et DirectX sur Windows, mais la cr\u00e9ation de tels moteurs est compliqu\u00e9e par l'utilisation d'autres langages pour les shaders (dans les moteurs \u00abngl\u00bb et \u00abvulkan\u00bb, le langage GLSL est utilis\u00e9, donc pour Metal et Direct, il faudra soit dupliquer les shaders, soit utiliser une couche bas\u00e9e sur l'outil SPIRV-Cross).    <\/p>\n<p>Parmi les plans futurs, on \u00e9voque la prise en charge de la HDR et des outils pour une gestion correcte des couleurs, la prise en charge du rendu par chemin (Path rendering) c\u00f4t\u00e9 GPU, la possibilit\u00e9 de rendre des glyphes, le rendu en dehors du flux principal, ainsi que l'optimisation des performances pour les appareils anciens et peu puissants. Dans son \u00e9tat actuel, la performance du moteur \u00ab vulkan \u00bb est proche de celle de l'ancien moteur \u00ab gl \u00bb. Le moteur \u00ab ngl \u00bb se r\u00e9v\u00e8le moins performant que l'ancien moteur \u00ab gl \u00bb, mais ses performances existantes sont suffisantes pour un rendu \u00e0 60 ou 144 FPS. On suppose que la situation changera apr\u00e8s optimisation.<br \/>\n<br \/>Source : <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\/fr\/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=\"fr_FR\" \/>\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\/fr\/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\udd47De nouveaux moteurs de rendu pour OpenGL et Vulkan ajout\u00e9s \u00e0 GTK | ProHoster","description":"Les d\u00e9veloppeurs de la biblioth\u00e8que GTK ont annonc\u00e9 la disponibilit\u00e9 de deux nouveaux moteurs de rendu - \"ngl\" et \"vulkan\", utilisant les API graphiques OpenGL (GL 3.3+ et GLES 3.0+) et Vulkan.","canonical_url":"https:\/\/prohoster.info\/fr\/blog\/news\/v-gtk-dobavleny-novye-dvizhki-otrisovki-dlya-opengl-i-vulkan","robots":"max-image-preview:large","keywords":"","webmasterTools":{"miscellaneous":""},"schema":null,"og:locale":"fr_FR","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\/fr\/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\/fr\/wp-json\/wp\/v2\/posts\/113225","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/prohoster.info\/fr\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/prohoster.info\/fr\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/prohoster.info\/fr\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/prohoster.info\/fr\/wp-json\/wp\/v2\/comments?post=113225"}],"version-history":[{"count":0,"href":"https:\/\/prohoster.info\/fr\/wp-json\/wp\/v2\/posts\/113225\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/prohoster.info\/fr\/wp-json\/wp\/v2\/media\/113226"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/fr\/wp-json\/wp\/v2\/media?parent=113225"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/fr\/wp-json\/wp\/v2\/categories?post=113225"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/fr\/wp-json\/wp\/v2\/tags?post=113225"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}