{"id":10381,"date":"2021-10-12T09:37:11","date_gmt":"2021-10-12T07:37:11","guid":{"rendered":"https:\/\/www.heavym.net\/?p=10381"},"modified":"2025-02-27T16:35:18","modified_gmt":"2025-02-27T15:35:18","slug":"heavym-shaders","status":"publish","type":"post","link":"https:\/\/www.heavym.net\/pt\/heavym-shaders\/","title":{"rendered":"Introdu\u00e7\u00e3o aos shaders HeavyM para criar os seus pr\u00f3prios efeitos visuais"},"content":{"rendered":"<div data-elementor-type=\"wp-post\" data-elementor-id=\"10381\" class=\"elementor elementor-10381\" data-elementor-post-type=\"post\">\n\t\t\t\t\t\t<section class=\"elementor-section elementor-top-section elementor-element elementor-element-494341b0 elementor-section-stretched elementor-section-boxed elementor-section-height-default elementor-section-height-default\" data-id=\"494341b0\" data-element_type=\"section\" data-e-type=\"section\" data-settings=\"{&quot;stretch_section&quot;:&quot;section-stretched&quot;,&quot;background_background&quot;:&quot;classic&quot;}\">\n\t\t\t\t\t\t<div class=\"elementor-container elementor-column-gap-default\">\n\t\t\t\t\t<div class=\"elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-ae20a09\" data-id=\"ae20a09\" data-element_type=\"column\" data-e-type=\"column\">\n\t\t\t<div class=\"elementor-widget-wrap elementor-element-populated\">\n\t\t\t\t\t\t<section class=\"elementor-section elementor-inner-section elementor-element elementor-element-31bd2b48 elementor-section-boxed elementor-section-height-default elementor-section-height-default\" data-id=\"31bd2b48\" data-element_type=\"section\" data-e-type=\"section\">\n\t\t\t\t\t\t<div class=\"elementor-container elementor-column-gap-default\">\n\t\t\t\t\t<div class=\"elementor-column elementor-col-33 elementor-inner-column elementor-element elementor-element-1ad489a0\" data-id=\"1ad489a0\" data-element_type=\"column\" data-e-type=\"column\">\n\t\t\t<div class=\"elementor-widget-wrap elementor-element-populated\">\n\t\t\t\t\t\t<div class=\"elementor-element elementor-element-4a9d498a elementor-widget elementor-widget-image\" data-id=\"4a9d498a\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"image.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<a href=\"https:\/\/www.heavym.net\/pt\/blog\/\">\n\t\t\t\t\t\t\t<img decoding=\"async\" data-src=\"https:\/\/www.heavym.net\/wp-content\/uploads\/elementor\/thumbs\/left-arrow-1-1-r2d9qop5ml0l2632kp091novcehjbv3yr2wx4iutee.png\" title=\"seta para a esquerda (1)\" alt=\"seta para a esquerda (1)\" src=\"data:image\/svg+xml;base64,PHN2ZyB3aWR0aD0iMSIgaGVpZ2h0PSIxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjwvc3ZnPg==\" class=\"lazyload\" style=\"--smush-placeholder-width: 15px; --smush-placeholder-aspect-ratio: 15\/15;\" \/>\t\t\t\t\t\t\t\t<\/a>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t<div class=\"elementor-column elementor-col-66 elementor-inner-column elementor-element elementor-element-5ed43746\" data-id=\"5ed43746\" data-element_type=\"column\" data-e-type=\"column\">\n\t\t\t<div class=\"elementor-widget-wrap elementor-element-populated\">\n\t\t\t\t\t\t<div class=\"elementor-element elementor-element-23f0e2c0 elementor-widget elementor-widget-heading\" data-id=\"23f0e2c0\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<p class=\"elementor-heading-title elementor-size-default\"><a href=\"https:\/\/www.heavym.net\/pt\/blog\/\">Voltar \u00e0 p\u00e1gina inicial do blogue<\/a><\/p>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/section>\n\t\t\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/section>\n\t\t\t\t<section class=\"elementor-section elementor-top-section elementor-element elementor-element-aef4880 elementor-section-stretched elementor-section-boxed elementor-section-height-default elementor-section-height-default\" data-id=\"aef4880\" data-element_type=\"section\" data-e-type=\"section\" data-settings=\"{&quot;stretch_section&quot;:&quot;section-stretched&quot;,&quot;background_background&quot;:&quot;classic&quot;}\">\n\t\t\t\t\t\t<div class=\"elementor-container elementor-column-gap-default\">\n\t\t\t\t\t<div class=\"elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-6bd3671\" data-id=\"6bd3671\" data-element_type=\"column\" data-e-type=\"column\">\n\t\t\t<div class=\"elementor-widget-wrap elementor-element-populated\">\n\t\t\t\t\t\t<div class=\"elementor-element elementor-element-976c28a elementor-widget elementor-widget-heading\" data-id=\"976c28a\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<h1 class=\"elementor-heading-title elementor-size-default\">Introdu\u00e7\u00e3o aos shaders HeavyM para criar os seus pr\u00f3prios efeitos visuais<\/h1>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-facbf00 elementor-widget elementor-widget-heading\" data-id=\"facbf00\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<h2 class=\"elementor-heading-title elementor-size-default\">Introdu\u00e7\u00e3o<\/h2>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-90a065f elementor-widget elementor-widget-text-editor\" data-id=\"90a065f\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<p><span style=\"font-weight: 400;\">Est\u00e1 interessado em criar os seus pr\u00f3prios efeitos visuais no HeavyM? Neste artigo, vamos apresentar as excitantes possibilidades criativas oferecidas pelos shaders. A prop\u00f3sito, o que \u00e9 um shader?<\/span><\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-9f279fe elementor-widget elementor-widget-text-editor\" data-id=\"9f279fe\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<p><span style=\"font-weight: 400;\">Um shader \u00e9 um programa de computador que \u00e9 executado na placa gr\u00e1fica do seu computador. Permite-lhe manipular rapidamente os dados que s\u00e3o apresentados no ecr\u00e3 ou no projetor de v\u00eddeo: os pixels.<\/span><\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-c31ee6a elementor-widget elementor-widget-text-editor\" data-id=\"c31ee6a\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<p><span style=\"font-weight: 400;\">\u00c9 uma tecnologia pouco conhecida porque considerada abstrata, mas os shaders est\u00e3o muito presentes no nosso quotidiano. Estes pequenos programas de computador simulam de forma realista efeitos visuais complexos, como chuva, nevoeiro, reflex\u00e3o da luz, relevo de objectos, etc. S\u00e3o, por isso, muito utilizados nos jogos de v\u00eddeo, nos filmes que requerem efeitos especiais, nos aparelhos de televis\u00e3o... e na arte digital, o dom\u00ednio em que nos concentramos aqui.<\/span><\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-41126e4 elementor-widget elementor-widget-text-editor\" data-id=\"41126e4\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<p><span style=\"font-weight: 400;\">No software HeavyM, os shaders incorporados oferecem muitas possibilidades. Tamb\u00e9m \u00e9 poss\u00edvel importar os seus pr\u00f3prios shaders, aumentando assim infinitamente o n\u00famero de combina\u00e7\u00f5es!<\/span><\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-8b4dba3 elementor-widget elementor-widget-image\" data-id=\"8b4dba3\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"image.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<img fetchpriority=\"high\" decoding=\"async\" width=\"512\" height=\"288\" src=\"https:\/\/www.heavym.net\/wp-content\/smush-webp\/2021\/07\/1-3.jpeg.webp\" class=\"attachment-full size-full wp-image-11155\" alt=\"Exemplo de um jogo de v\u00eddeo que utiliza shaders: Minecraft\" srcset=\"https:\/\/www.heavym.net\/wp-content\/smush-webp\/2021\/07\/1-3.jpeg.webp 512w, https:\/\/www.heavym.net\/wp-content\/smush-webp\/2021\/07\/1-3-300x169.jpeg.webp 300w, https:\/\/www.heavym.net\/wp-content\/smush-webp\/2021\/07\/1-3-16x9.jpeg.webp 16w, https:\/\/www.heavym.net\/wp-content\/smush-webp\/2021\/07\/1-3-350x197.jpeg.webp 350w\" sizes=\"(max-width: 512px) 100vw, 512px\" \/>\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-12035a3 elementor-widget elementor-widget-text-editor\" data-id=\"12035a3\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<p><i><span style=\"font-weight: 400;\">Exemplo de um jogo de v\u00eddeo que utiliza shaders: Minecraft<\/span><\/i><\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-9c002db elementor-widget elementor-widget-image\" data-id=\"9c002db\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"image.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<img decoding=\"async\" width=\"1000\" height=\"563\" data-src=\"https:\/\/www.heavym.net\/wp-content\/smush-webp\/2021\/09\/Projection-mapping-mine-performance.png.webp\" class=\"attachment-full size-full wp-image-13237 lazyload\" alt=\"Projec\u00e7\u00e3o do mapeamento do desempenho da mina\" data-srcset=\"https:\/\/www.heavym.net\/wp-content\/smush-webp\/2021\/09\/Projection-mapping-mine-performance.png.webp 1000w, https:\/\/www.heavym.net\/wp-content\/smush-webp\/2021\/09\/Projection-mapping-mine-performance-300x169.png.webp 300w, https:\/\/www.heavym.net\/wp-content\/smush-webp\/2021\/09\/Projection-mapping-mine-performance-768x432.png.webp 768w, https:\/\/www.heavym.net\/wp-content\/smush-webp\/2021\/09\/Projection-mapping-mine-performance-18x10.png.webp 18w, https:\/\/www.heavym.net\/wp-content\/smush-webp\/2021\/09\/Projection-mapping-mine-performance-350x197.png.webp 350w, https:\/\/www.heavym.net\/wp-content\/smush-webp\/2021\/09\/Projection-mapping-mine-performance-860x484.png.webp 860w\" data-sizes=\"(max-width: 1000px) 100vw, 1000px\" src=\"data:image\/svg+xml;base64,PHN2ZyB3aWR0aD0iMSIgaGVpZ2h0PSIxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjwvc3ZnPg==\" style=\"--smush-placeholder-width: 1000px; --smush-placeholder-aspect-ratio: 1000\/563;\" \/>\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-9b1ede1 elementor-widget elementor-widget-text-editor\" data-id=\"9b1ede1\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<p><i><span style=\"font-weight: 400;\">Exemplo de utiliza\u00e7\u00e3o de um shader durante um espet\u00e1culo de proje\u00e7\u00e3o mapeada<\/span><\/i><\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-c629879 elementor-widget elementor-widget-heading\" data-id=\"c629879\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<h2 class=\"elementor-heading-title elementor-size-default\">Parte 1: Tecnologia de sombreamento<\/h2>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-183d328 elementor-widget elementor-widget-text-editor\" data-id=\"183d328\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<p><span style=\"font-weight: 400;\">Para compreender melhor a ideia dos shaders, tomemos como exemplo a cria\u00e7\u00e3o de um desenho \u00e0 m\u00e3o. \u00c9 necess\u00e1rio desenhar um a um os elementos que o comp\u00f5em. Come\u00e7a-se pelas formas geom\u00e9tricas, como c\u00edrculos, rect\u00e2ngulos e linhas, e depois adicionam-se cores. Procede-se passo a passo, como se tivesse de copiar o desenho manualmente. Com os shaders, o processo \u00e9 muito mais r\u00e1pido porque todas estas opera\u00e7\u00f5es s\u00e3o efectuadas de uma s\u00f3 vez, como um carimbo aplicado \u00e0 folha de papel com um \u00fanico gesto. O que \u00e9 ainda melhor \u00e9 que este carimbo pode mudar consoante a informa\u00e7\u00e3o fornecida, como a hora, a posi\u00e7\u00e3o ou as cores dos elementos j\u00e1 presentes na sua folha.<\/span><\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-c59e238 elementor-widget elementor-widget-heading\" data-id=\"c59e238\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<h3 class=\"elementor-heading-title elementor-size-default\">Porque \u00e9 que os shaders s\u00e3o r\u00e1pidos?<\/h3>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-46ee873 elementor-widget elementor-widget-text-editor\" data-id=\"46ee873\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<p><span style=\"font-weight: 400;\">Os shaders s\u00e3o programas muito leves porque, ao contr\u00e1rio de softwares como o HeavyM, que cont\u00eam v\u00e1rias centenas de milhares de linhas de c\u00f3digo, um shader geralmente cont\u00e9m apenas algumas centenas de linhas no m\u00e1ximo. A velocidade dos shaders deve-se principalmente \u00e0 arquitetura do hardware que permite a sua execu\u00e7\u00e3o: a placa gr\u00e1fica. Para utilizar o HeavyM, \u00e9 certamente necess\u00e1rio prestar aten\u00e7\u00e3o a esta quest\u00e3o, que permite multiplicar as possibilidades oferecidas pelo programa.<\/span><\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-778db6d elementor-widget elementor-widget-text-editor\" data-id=\"778db6d\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<p><span style=\"font-weight: 400;\">Ao contr\u00e1rio da CPU do seu computador, que processa as tarefas uma ap\u00f3s a outra, os c\u00e1lculos da sua placa gr\u00e1fica s\u00e3o efectuados em paralelo. Em vez de ter um \u00fanico processador com um poder de computa\u00e7\u00e3o significativo, a placa gr\u00e1fica tem uma multiplicidade de pequenos processadores. Isto significa que podem executar tarefas em simult\u00e2neo. Ao basear-se nesta paraleliza\u00e7\u00e3o, os shaders podem efetuar c\u00e1lculos gr\u00e1ficos complexos em poucos milissegundos.<\/span><\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-c112964 elementor-widget elementor-widget-heading\" data-id=\"c112964\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<h3 class=\"elementor-heading-title elementor-size-default\">A vantagem dos shaders: arte interactiva<\/h3>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-183e954 elementor-widget elementor-widget-text-editor\" data-id=\"183e954\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<p><span style=\"font-weight: 400;\">Gra\u00e7as \u00e0 velocidade de execu\u00e7\u00e3o dos shaders, \u00e9 poss\u00edvel criar imagens em tempo real, ou seja, s\u00e3o geradas no momento em que s\u00e3o vistas. O termo tempo real \u00e9 utilizado em contraste com o termo pr\u00e9-computado, que se aplica a um ficheiro de v\u00eddeo que \u00e9 processado fotograma a fotograma. Os c\u00e1lculos de renderiza\u00e7\u00e3o podem ser muito demorados e podem levar at\u00e9 v\u00e1rios dias! Com os shaders, \u00e9 poss\u00edvel manipular diretamente as imagens, tal como num jogo de v\u00eddeo. A arte digital interactiva baseia-se neste princ\u00edpio de tempo real porque permite gerar imagens que reagem \u00e0 m\u00fasica ou aos movimentos das pessoas. Para ver dois exemplos de performances que misturam m\u00fasica e imagens, veja o trabalho de <\/span><strong><a href=\"https:\/\/www.itsnicethat.com\/features\/weirdcore-aphex-twin-field-day-050617-miscellaneous\">Weirdcore para os concertos de Aphew Twin<\/a><\/strong><span style=\"font-weight: 400;\"> ou <\/span><a href=\"https:\/\/www.nonotak.com\/_SHIRO\"><span style=\"font-weight: 400;\"><strong>Actua\u00e7\u00f5es de Nonotak<\/strong>.<\/span><\/a><\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-fb9501b elementor-widget elementor-widget-heading\" data-id=\"fb9501b\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<h3 class=\"elementor-heading-title elementor-size-default\">Tipos de shaders<\/h3>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-71f76a1 elementor-widget elementor-widget-text-editor\" data-id=\"71f76a1\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<p><span style=\"font-weight: 400;\">Os shaders n\u00e3o s\u00e3o mais do que ficheiros de texto com uma extens\u00e3o espec\u00edfica. Veremos que existem diferentes tipos de shaders. O fator comum \u00e9 que eles s\u00e3o codificados na linguagem GLSL: OpenGL Shading Language. Existem outros tipos de shaders dependendo da plataforma e do hardware, mas aqui vamos focar nos shaders baseados em OpenGL. Para usar shaders no HeavyM, \u00e9 necess\u00e1ria uma placa gr\u00e1fica que suporte OpenGL 2.0.<\/span><\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-515f37a elementor-widget elementor-widget-heading\" data-id=\"515f37a\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<h3 class=\"elementor-heading-title elementor-size-default\">Sombreadores de pix\u00e9is ou sombreadores de fragmentos<\/h3>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-a786d20 elementor-widget elementor-widget-text-editor\" data-id=\"a786d20\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<p><span style=\"font-weight: 400;\">O fragment shader ou pixel shader \u00e9 um shader cujo objetivo \u00e9 calcular a cor de cada pixel individualmente. Recebe como entrada os dados de cada pixel da imagem (posi\u00e7\u00e3o, coordenadas de textura, cor) e produz a sua cor.<\/span><\/p><p><span style=\"font-weight: 400;\">S\u00e3o estes shaders que lhe interessam utilizar com o HeavyM. S\u00e3o normalmente ficheiros .FRAG, ou .FS no caso do formato ISF. O formato ISF fornece um padr\u00e3o para fragmentos de shaders GLSL, para que possam ser mais facilmente interpretados por aplica\u00e7\u00f5es interactivas.<\/span><\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-059c303 elementor-widget elementor-widget-heading\" data-id=\"059c303\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<h3 class=\"elementor-heading-title elementor-size-default\">Sombreadores de v\u00e9rtices<\/h3>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-580b61a elementor-widget elementor-widget-text-editor\" data-id=\"580b61a\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<p><span style=\"font-weight: 400;\">Os sombreadores de v\u00e9rtices s\u00e3o utilizados para transformar os picos de entrada em pix\u00e9is.\u00a0<\/span><\/p><p><span style=\"font-weight: 400;\">\u00c9 um ficheiro .VS que, por vezes, acompanha o sombreador de pix\u00e9is, tem o mesmo nome e est\u00e1 localizado na mesma pasta.<\/span><\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-41e9999 elementor-widget elementor-widget-heading\" data-id=\"41e9999\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<h3 class=\"elementor-heading-title elementor-size-default\">Onde encontrar shaders?<\/h3>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-b659286 elementor-widget elementor-widget-text-editor\" data-id=\"b659286\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<p><span style=\"font-weight: 400;\">N\u00e3o \u00e9 necess\u00e1rio saber programa\u00e7\u00e3o para utilizar shaders com o HeavyM. Para al\u00e9m da biblioteca integrada no software, existem plataformas para encontrar novos shaders sem ter de os criar. A comunidade de artistas de shaders est\u00e1 a crescer e muitas vezes \u00e9 poss\u00edvel utilizar livremente os trabalhos que partilham.<\/span><\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-d0941ad elementor-widget elementor-widget-text-editor\" data-id=\"d0941ad\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<p><span style=\"font-weight: 400;\">Para encontrar .FS: <a href=\"https:\/\/www.interactiveshaderformat.com\/\"><strong>https:\/\/www.interactiveshaderformat.com\/<\/strong><\/a><\/span><\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-abba810 elementor-widget elementor-widget-text-editor\" data-id=\"abba810\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<p><span style=\"font-weight: 400;\">Para encontrar .FRAG: <strong><a href=\"http:\/\/glslsandbox.com\/\">http:\/\/glslsandbox.com\/<\/a><\/strong> e <strong><a href=\"https:\/\/www.shadertoy.com\/\">https:\/\/www.shadertoy.com\/<\/a><\/strong><\/span><\/p><p><span style=\"font-weight: 400;\">Aten\u00e7\u00e3o: Os ficheiros .FRAG n\u00e3o s\u00e3o suportados no HeavyM. \u00c9 necess\u00e1rio convert\u00ea-los para .ISF e fornecemos abaixo um m\u00e9todo para o fazer.<\/span><\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-c1b7eb7 elementor-widget elementor-widget-text-editor\" data-id=\"c1b7eb7\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<p><span style=\"font-weight: 400;\">Certifique-se de que verifica os direitos de utiliza\u00e7\u00e3o na licen\u00e7a normalmente especificada no in\u00edcio do c\u00f3digo do shader. Se n\u00e3o houver nenhuma indica\u00e7\u00e3o em particular, os direitos de autor aplicam-se por defeito e aconselhamo-lo vivamente a falar com o autor do programa se pretender utiliz\u00e1-lo comercialmente.<\/span><\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-2af75ba elementor-widget elementor-widget-heading\" data-id=\"2af75ba\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<h3 class=\"elementor-heading-title elementor-size-default\">Desenvolver os seus pr\u00f3prios shaders<\/h3>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-7e39468 elementor-widget elementor-widget-text-editor\" data-id=\"7e39468\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<p><span style=\"font-weight: 400;\">Para criar os seus pr\u00f3prios shaders, aconselhamos a utiliza\u00e7\u00e3o direta do formato ISF para que sejam compat\u00edveis com um m\u00e1ximo de aplica\u00e7\u00f5es. O objetivo deste artigo n\u00e3o \u00e9 fornecer uma aprendizagem do c\u00f3digo GLSL, a linguagem utilizada pelo formato ISF. Para isso, sugerimos a leitura dos s\u00edtios muito completos :<\/span><\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-44ce316 elementor-widget elementor-widget-text-editor\" data-id=\"44ce316\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<ul><li style=\"font-weight: 400;\" aria-level=\"1\"><span style=\"font-weight: 400;\"><a href=\"https:\/\/thebookofshaders.com\/\"><strong>https:\/\/thebookofshaders.com\/<\/strong><\/a> para a linguagem GLSL<\/span><\/li><li style=\"font-weight: 400;\" aria-level=\"1\"><span style=\"font-weight: 400;\"><a href=\"https:\/\/docs.isf.video\/\"><strong>https:\/\/docs.isf.video\/<\/strong><\/a> para o formato ISF<\/span><\/li><\/ul>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-c1d3a79 elementor-widget elementor-widget-text-editor\" data-id=\"c1d3a79\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<p><span style=\"font-weight: 400;\">No entanto, para come\u00e7ar, pode ir ao s\u00edtio ISF e modificar os shaders existentes. Este s\u00edtio interativo permite-lhe visualizar ao vivo as modifica\u00e7\u00f5es efectuadas no shader. Tamb\u00e9m \u00e9 poss\u00edvel come\u00e7ar a partir de um modelo b\u00e1sico. <\/span><\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-c970ae3 elementor-widget elementor-widget-text-editor\" data-id=\"c970ae3\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<p><span style=\"font-weight: 400;\">A principal desvantagem da cria\u00e7\u00e3o e edi\u00e7\u00e3o de shaders \u00e9 o facto de n\u00e3o haver feedback de erros. Quando existe um problema de conce\u00e7\u00e3o, o shader n\u00e3o corre nem mostra nada. Torna-se ent\u00e3o dif\u00edcil encontrar a origem do erro. Por isso, \u00e9 necess\u00e1rio ser rigoroso no c\u00f3digo.<\/span><\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-54ce36a elementor-widget elementor-widget-heading\" data-id=\"54ce36a\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<h2 class=\"elementor-heading-title elementor-size-default\">Parte 2: Shaders no HeavyM<\/h2>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-9726525 elementor-widget elementor-widget-text-editor\" data-id=\"9726525\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<p><span style=\"font-weight: 400;\">O software HeavyM oferece algumas centenas de shaders nativos em sua biblioteca de efeitos visuais embutidos. V\u00e1rios tipos de efeitos podem ser usados no software, dependendo dos recursos utilizados.<\/span><\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-5252660 elementor-widget elementor-widget-heading\" data-id=\"5252660\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<h3 class=\"elementor-heading-title elementor-size-default\">Efeitos de sombreadores em formas<\/h3>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-bc24268 elementor-widget elementor-widget-text-editor\" data-id=\"bc24268\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<p><span style=\"font-weight: 400;\">Quando clica nos \u00edcones vermelhos no lado direito da interface, tem acesso a categorias de efeitos que se adaptam automaticamente \u00e0s formas desenhadas. Estes efeitos est\u00e3o ligados aos grupos no painel de camadas \u00e0 esquerda. Todas as formas de um grupo t\u00eam o mesmo aspeto. Para ter efeitos diferentes para formas diferentes, \u00e9 necess\u00e1rio criar outros grupos e adicionar formas a eles.<\/span><\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-752d18a elementor-widget elementor-widget-image\" data-id=\"752d18a\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"image.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<img decoding=\"async\" width=\"999\" height=\"113\" data-src=\"https:\/\/www.heavym.net\/wp-content\/smush-webp\/2021\/10\/HeavyM-Shaders-Effects-on-shapes.png.webp\" class=\"attachment-full size-full wp-image-14262 lazyload\" alt=\"HeavyM Matizadores - Efeitos em formas\" data-srcset=\"https:\/\/www.heavym.net\/wp-content\/smush-webp\/2021\/10\/HeavyM-Shaders-Effects-on-shapes.png.webp 999w, https:\/\/www.heavym.net\/wp-content\/smush-webp\/2021\/10\/HeavyM-Shaders-Effects-on-shapes-300x34.png.webp 300w, https:\/\/www.heavym.net\/wp-content\/smush-webp\/2021\/10\/HeavyM-Shaders-Effects-on-shapes-768x87.png.webp 768w, https:\/\/www.heavym.net\/wp-content\/smush-webp\/2021\/10\/HeavyM-Shaders-Effects-on-shapes-18x2.png.webp 18w\" data-sizes=\"(max-width: 999px) 100vw, 999px\" src=\"data:image\/svg+xml;base64,PHN2ZyB3aWR0aD0iMSIgaGVpZ2h0PSIxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjwvc3ZnPg==\" style=\"--smush-placeholder-width: 999px; --smush-placeholder-aspect-ratio: 999\/113;\" \/>\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-25a99eb elementor-widget elementor-widget-text-editor\" data-id=\"25a99eb\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<p><span style=\"font-weight: 400;\">Atualmente, n\u00e3o \u00e9 poss\u00edvel adicionar ou modificar os efeitos de sombreamento existentes nesta categoria.<\/span><\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-c96abcd elementor-widget elementor-widget-heading\" data-id=\"c96abcd\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<h3 class=\"elementor-heading-title elementor-size-default\">Shaders geradores de imagens<\/h3>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-8e09377 elementor-widget elementor-widget-text-editor\" data-id=\"8e09377\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<p><span style=\"font-weight: 400;\">Adicione shaders geradores de imagens como fontes, no painel acess\u00edvel atrav\u00e9s do \u00edcone branco localizado na barra de ferramentas vertical \u00e0 direita. Estes shaders requerem a cria\u00e7\u00e3o de um leitor para serem apresentados. Ligue a fonte ao leitor clicando no \u00edcone de destino. Os shaders de gera\u00e7\u00e3o de imagem n\u00e3o t\u00eam uma dura\u00e7\u00e3o predefinida porque \u00e9 um programa que \u00e9 executado num ciclo. No entanto, \u00e9 poss\u00edvel alterar a dura\u00e7\u00e3o da exibi\u00e7\u00e3o da origem.<\/span><\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-b6530f2 elementor-widget elementor-widget-image\" data-id=\"b6530f2\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"image.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<img decoding=\"async\" width=\"1000\" height=\"428\" data-src=\"https:\/\/www.heavym.net\/wp-content\/smush-webp\/2021\/10\/Shaders-Generative-effects.png.webp\" class=\"attachment-full size-full wp-image-14261 lazyload\" alt=\"Shaders - Efeitos generativos\" data-srcset=\"https:\/\/www.heavym.net\/wp-content\/smush-webp\/2021\/10\/Shaders-Generative-effects.png.webp 1000w, https:\/\/www.heavym.net\/wp-content\/smush-webp\/2021\/10\/Shaders-Generative-effects-300x128.png.webp 300w, https:\/\/www.heavym.net\/wp-content\/smush-webp\/2021\/10\/Shaders-Generative-effects-768x329.png.webp 768w, https:\/\/www.heavym.net\/wp-content\/smush-webp\/2021\/10\/Shaders-Generative-effects-18x8.png.webp 18w\" data-sizes=\"(max-width: 1000px) 100vw, 1000px\" src=\"data:image\/svg+xml;base64,PHN2ZyB3aWR0aD0iMSIgaGVpZ2h0PSIxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjwvc3ZnPg==\" style=\"--smush-placeholder-width: 1000px; --smush-placeholder-aspect-ratio: 1000\/428;\" \/>\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-0d72009 elementor-widget elementor-widget-heading\" data-id=\"0d72009\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<h3 class=\"elementor-heading-title elementor-size-default\">Processamento de shaders nos jogadores<\/h3>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-44ac0a4 elementor-widget elementor-widget-text-editor\" data-id=\"44ac0a4\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<p><span style=\"font-weight: 400;\">Pode aplicar efeitos de processamento de imagem ao leitor. Para o fazer, seleccione o leitor e adicione efeitos nas Propriedades, no canto inferior esquerdo, utilizando o bot\u00e3o +. Os efeitos s\u00e3o adicionados um ap\u00f3s o outro. Cada leitor \u00e9 independente, pelo que a fonte e os efeitos de processamento ser\u00e3o diferentes entre os leitores, mesmo que os leitores estejam no mesmo grupo.<\/span><\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-84f8634 elementor-widget elementor-widget-image\" data-id=\"84f8634\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"image.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<img decoding=\"async\" width=\"999\" height=\"464\" data-src=\"https:\/\/www.heavym.net\/wp-content\/smush-webp\/2021\/10\/Shaders-Players-effects.png.webp\" class=\"attachment-full size-full wp-image-14260 lazyload\" alt=\"Shaders - Efeitos dos jogadores\" data-srcset=\"https:\/\/www.heavym.net\/wp-content\/smush-webp\/2021\/10\/Shaders-Players-effects.png.webp 999w, https:\/\/www.heavym.net\/wp-content\/smush-webp\/2021\/10\/Shaders-Players-effects-300x139.png.webp 300w, https:\/\/www.heavym.net\/wp-content\/smush-webp\/2021\/10\/Shaders-Players-effects-768x357.png.webp 768w, https:\/\/www.heavym.net\/wp-content\/smush-webp\/2021\/10\/Shaders-Players-effects-18x8.png.webp 18w\" data-sizes=\"(max-width: 999px) 100vw, 999px\" src=\"data:image\/svg+xml;base64,PHN2ZyB3aWR0aD0iMSIgaGVpZ2h0PSIxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjwvc3ZnPg==\" style=\"--smush-placeholder-width: 999px; --smush-placeholder-aspect-ratio: 999\/464;\" \/>\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-b87a3c0 elementor-widget elementor-widget-heading\" data-id=\"b87a3c0\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<h3 class=\"elementor-heading-title elementor-size-default\">Processamento de shaders em sequ\u00eancias<\/h3>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-903a8c4 elementor-widget elementor-widget-text-editor\" data-id=\"903a8c4\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<p><span style=\"font-weight: 400;\">Os shaders de processamento de imagem tamb\u00e9m podem ser aplicados a toda a sa\u00edda de v\u00eddeo. Estes efeitos s\u00e3o relativos \u00e0s sequ\u00eancias. Para adicionar um efeito de processamento a uma sequ\u00eancia, clique na roda dentada e adicione um shader utilizando o bot\u00e3o +. Os efeitos de processamento nas sequ\u00eancias s\u00e3o os mesmos que os efeitos de processamento nos leitores.<\/span><\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-23cf2d7 elementor-widget elementor-widget-image\" data-id=\"23cf2d7\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"image.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<img decoding=\"async\" width=\"1000\" height=\"426\" data-src=\"https:\/\/www.heavym.net\/wp-content\/smush-webp\/2021\/10\/HeavyM-shaders-Sequences-effects.png.webp\" class=\"attachment-full size-full wp-image-14255 lazyload\" alt=\"HeavyM shaders - Efeitos de sequ\u00eancias\" data-srcset=\"https:\/\/www.heavym.net\/wp-content\/smush-webp\/2021\/10\/HeavyM-shaders-Sequences-effects.png.webp 1000w, https:\/\/www.heavym.net\/wp-content\/smush-webp\/2021\/10\/HeavyM-shaders-Sequences-effects-300x128.png.webp 300w, https:\/\/www.heavym.net\/wp-content\/smush-webp\/2021\/10\/HeavyM-shaders-Sequences-effects-768x327.png.webp 768w, https:\/\/www.heavym.net\/wp-content\/smush-webp\/2021\/10\/HeavyM-shaders-Sequences-effects-18x8.png.webp 18w\" data-sizes=\"(max-width: 1000px) 100vw, 1000px\" src=\"data:image\/svg+xml;base64,PHN2ZyB3aWR0aD0iMSIgaGVpZ2h0PSIxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjwvc3ZnPg==\" style=\"--smush-placeholder-width: 1000px; --smush-placeholder-aspect-ratio: 1000\/426;\" \/>\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-8e817dd elementor-widget elementor-widget-heading\" data-id=\"8e817dd\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<h3 class=\"elementor-heading-title elementor-size-default\">Shaders de transi\u00e7\u00e3o em sequ\u00eancias<\/h3>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-3f40ca7 elementor-widget elementor-widget-text-editor\" data-id=\"3f40ca7\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<p><span style=\"font-weight: 400;\">As transi\u00e7\u00f5es tamb\u00e9m est\u00e3o relacionadas com a sequ\u00eancia e s\u00e3o aplicadas a toda a sa\u00edda de v\u00eddeo. Por defeito, a transi\u00e7\u00e3o aplicada \u00e9 um esbatimento de 0,20s. Modifique esta transi\u00e7\u00e3o no menu acess\u00edvel ao clicar na roda dentada da sequ\u00eancia. As transi\u00e7\u00f5es s\u00f3 s\u00e3o aplicadas \u00e0 entrada da sequ\u00eancia.<\/span><\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-7cf041d elementor-widget elementor-widget-image\" data-id=\"7cf041d\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"image.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<img decoding=\"async\" width=\"657\" height=\"487\" data-src=\"https:\/\/www.heavym.net\/wp-content\/smush-webp\/2021\/10\/HeavyM-Transitions.png.webp\" class=\"attachment-full size-full wp-image-14244 lazyload\" alt=\"HeavyM - Transi\u00e7\u00f5es\" data-srcset=\"https:\/\/www.heavym.net\/wp-content\/smush-webp\/2021\/10\/HeavyM-Transitions.png.webp 657w, https:\/\/www.heavym.net\/wp-content\/smush-webp\/2021\/10\/HeavyM-Transitions-300x222.png.webp 300w, https:\/\/www.heavym.net\/wp-content\/smush-webp\/2021\/10\/HeavyM-Transitions-16x12.png.webp 16w\" data-sizes=\"(max-width: 657px) 100vw, 657px\" src=\"data:image\/svg+xml;base64,PHN2ZyB3aWR0aD0iMSIgaGVpZ2h0PSIxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjwvc3ZnPg==\" style=\"--smush-placeholder-width: 657px; --smush-placeholder-aspect-ratio: 657\/487;\" \/>\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-49b5abf elementor-widget elementor-widget-heading\" data-id=\"49b5abf\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<h3 class=\"elementor-heading-title elementor-size-default\">Importar shaders<\/h3>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-5e6fcd1 elementor-widget elementor-widget-text-editor\" data-id=\"5e6fcd1\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<p><span style=\"font-weight: 400;\">Vimos que existem duas categorias principais de shaders no HeavyM: shaders de gera\u00e7\u00e3o e shaders de processamento. O HeavyM facilita a combina\u00e7\u00e3o de shaders dessas duas categorias. O HeavyM fornece shaders padr\u00e3o nas abas Biblioteca de cada janela de sele\u00e7\u00e3o de shaders. Todos esses shaders s\u00e3o .FS e, portanto, est\u00e3o de acordo com o padr\u00e3o ISF. Para importar seus pr\u00f3prios shaders na aba Meus Shaders, \u00e9 necess\u00e1rio respeitar este padr\u00e3o. Desta forma, os par\u00e2metros dos seus shaders podem ser facilmente modificados com a interface do HeavyM.<\/span><\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-f42a195 elementor-widget elementor-widget-text-editor\" data-id=\"f42a195\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<p class=\"translation-block\"><span style=\"font-weight: 400\">Voc\u00ea quer importar outros formatos de shader para o HeavyM? \u00c9 muito f\u00e1cil converter shaders usando esta ferramenta: <\/span><a href=\"https:\/\/isf.vidvox.net\/desktop-editor\/\" target=\"_blank\" rel=\"noopener\">Desktop ISF Editor<\/a><span style=\"font-size: 16px;font-weight: 400\"> (Windows beta\/Mac) com as fun\u00e7\u00f5es \"Import from GLSL Sandbox\" e \"Import from Shadertoy\".<\/span><\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-c1d4fa8 elementor-widget elementor-widget-text-editor\" data-id=\"c1d4fa8\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<p class=\"translation-block\"><span style=\"font-weight: 400\">Finalmente, se quiser compreender em pormenor a arquitetura do formato ISF para poder criar o seu pr\u00f3prio formato, aconselhamo-lo a consultar a documenta\u00e7\u00e3o relativa ao formato ISF: <\/span><strong><a href=\"https:\/\/docs.isf.video\/\" target=\"_self\">https:\/\/docs.isf.video\/<\/a> <\/strong><\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-659fe77 elementor-widget elementor-widget-heading\" data-id=\"659fe77\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<h3 class=\"elementor-heading-title elementor-size-default\">Parte 3: controlo de shaders<\/h3>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-4310df2 elementor-widget elementor-widget-text-editor\" data-id=\"4310df2\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<p><span style=\"font-weight: 400;\">Os shaders permitem efeitos visuais em tempo real que podem ser modificados em direto, sem ter de passar por uma fase de renderiza\u00e7\u00e3o. Eis as diferentes possibilidades de controlar os seus efeitos e criar imagens interactivas.<\/span><\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-171a6d8 elementor-widget elementor-widget-text-editor\" data-id=\"171a6d8\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<p><span style=\"font-weight: 400;\">Os par\u00e2metros do sombreador podem ser modificados clicando na roda dentada do \u00edcone da fonte. A escala de valores \u00e9 normalizada entre 0 e 100 e n\u00e3o corresponde a uma unidade espec\u00edfica. O HeavyM oferece diferentes modos de varia\u00e7\u00e3o dos par\u00e2metros, encontre-os clicando na seta ao lado de cada par\u00e2metro do shader.<\/span><\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-26953df elementor-widget elementor-widget-heading\" data-id=\"26953df\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<h3 class=\"elementor-heading-title elementor-size-default\">O modo de valor fixo<\/h3>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-a365f8e elementor-widget elementor-widget-text-editor\" data-id=\"a365f8e\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<p><span style=\"font-weight: 400;\">Este \u00e9 o modo predefinido que permite alterar o valor com o rato. A desvantagem \u00e9 que s\u00f3 \u00e9 poss\u00edvel alterar um par\u00e2metro de cada vez. Tamb\u00e9m \u00e9 poss\u00edvel introduzir um valor com o teclado.<\/span><\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-c22ed3a elementor-widget elementor-widget-heading\" data-id=\"c22ed3a\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<h3 class=\"elementor-heading-title elementor-size-default\">Os geradores de valor<\/h3>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<section class=\"elementor-section elementor-inner-section elementor-element elementor-element-6417680 elementor-section-boxed elementor-section-height-default elementor-section-height-default\" data-id=\"6417680\" data-element_type=\"section\" data-e-type=\"section\">\n\t\t\t\t\t\t<div class=\"elementor-container elementor-column-gap-default\">\n\t\t\t\t\t<div class=\"elementor-column elementor-col-50 elementor-inner-column elementor-element elementor-element-ccd6950\" data-id=\"ccd6950\" data-element_type=\"column\" data-e-type=\"column\">\n\t\t\t<div class=\"elementor-widget-wrap elementor-element-populated\">\n\t\t\t\t\t\t<div class=\"elementor-element elementor-element-7ac94ed elementor-widget elementor-widget-text-editor\" data-id=\"7ac94ed\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<p><span style=\"font-weight: 400;\">O HeavyM oferece 7 geradores de valores que permitem modificar automaticamente os par\u00e2metros dos shaders. S\u00e3o geradores do tipo LFO (Low Frequency Oscillator), como os encontrados em softwares de m\u00fasica ou sintetizadores. Para cada gerador, existem dois modos de anima\u00e7\u00e3o: BPM ou temporal. O modo BPM est\u00e1 ligado ao Tempo geral no canto inferior direito da interface, simbolizado pelo \u00edcone do metr\u00f3nomo. O modo temporal permite-lhe definir uma frequ\u00eancia independente do Tempo geral.<\/span><\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t<div class=\"elementor-column elementor-col-50 elementor-inner-column elementor-element elementor-element-19ee236\" data-id=\"19ee236\" data-element_type=\"column\" data-e-type=\"column\">\n\t\t\t<div class=\"elementor-widget-wrap elementor-element-populated\">\n\t\t\t\t\t\t<div class=\"elementor-element elementor-element-6c48d53 elementor-widget elementor-widget-image\" data-id=\"6c48d53\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"image.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<img decoding=\"async\" width=\"272\" height=\"291\" data-src=\"https:\/\/www.heavym.net\/wp-content\/smush-webp\/2021\/10\/HeavyM-LFOs.png.webp\" class=\"attachment-full size-full wp-image-14240 lazyload\" alt=\"HeavyM - LFOs\" data-srcset=\"https:\/\/www.heavym.net\/wp-content\/smush-webp\/2021\/10\/HeavyM-LFOs.png.webp 272w, https:\/\/www.heavym.net\/wp-content\/smush-webp\/2021\/10\/HeavyM-LFOs-11x12.png.webp 11w\" data-sizes=\"(max-width: 272px) 100vw, 272px\" src=\"data:image\/svg+xml;base64,PHN2ZyB3aWR0aD0iMSIgaGVpZ2h0PSIxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjwvc3ZnPg==\" style=\"--smush-placeholder-width: 272px; --smush-placeholder-aspect-ratio: 272\/291;\" \/>\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/section>\n\t\t\t\t<div class=\"elementor-element elementor-element-e2a9616 elementor-widget elementor-widget-heading\" data-id=\"e2a9616\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<h3 class=\"elementor-heading-title elementor-size-default\">Controlo atrav\u00e9s de uma an\u00e1lise s\u00f3lida<\/h3>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<section class=\"elementor-section elementor-inner-section elementor-element elementor-element-1cbcb86 elementor-section-boxed elementor-section-height-default elementor-section-height-default\" data-id=\"1cbcb86\" data-element_type=\"section\" data-e-type=\"section\">\n\t\t\t\t\t\t<div class=\"elementor-container elementor-column-gap-default\">\n\t\t\t\t\t<div class=\"elementor-column elementor-col-50 elementor-inner-column elementor-element elementor-element-23e9080\" data-id=\"23e9080\" data-element_type=\"column\" data-e-type=\"column\">\n\t\t\t<div class=\"elementor-widget-wrap elementor-element-populated\">\n\t\t\t\t\t\t<div class=\"elementor-element elementor-element-3b3d6e0 elementor-widget elementor-widget-text-editor\" data-id=\"3b3d6e0\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<p><span style=\"font-weight: 400;\">No canto inferior direito da interface encontra-se o m\u00f3dulo de an\u00e1lise do som. Permite detetar varia\u00e7\u00f5es de amplitude em 3 gamas de frequ\u00eancia diferentes: Bass Mid High. Pode encontrar as varia\u00e7\u00f5es destes valores nos modos de varia\u00e7\u00e3o dos par\u00e2metros do shader.<\/span><\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t<div class=\"elementor-column elementor-col-50 elementor-inner-column elementor-element elementor-element-fde7f5c\" data-id=\"fde7f5c\" data-element_type=\"column\" data-e-type=\"column\">\n\t\t\t<div class=\"elementor-widget-wrap elementor-element-populated\">\n\t\t\t\t\t\t<div class=\"elementor-element elementor-element-f396bc6 elementor-widget elementor-widget-image\" data-id=\"f396bc6\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"image.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<img decoding=\"async\" width=\"323\" height=\"175\" data-src=\"https:\/\/www.heavym.net\/wp-content\/smush-webp\/2021\/10\/HeavyM-shaders-Sound-analysis.png.webp\" class=\"attachment-full size-full wp-image-14236 lazyload\" alt=\"HeavyM shaders - An\u00e1lise de som\" data-srcset=\"https:\/\/www.heavym.net\/wp-content\/smush-webp\/2021\/10\/HeavyM-shaders-Sound-analysis.png.webp 323w, https:\/\/www.heavym.net\/wp-content\/smush-webp\/2021\/10\/HeavyM-shaders-Sound-analysis-300x163.png.webp 300w, https:\/\/www.heavym.net\/wp-content\/smush-webp\/2021\/10\/HeavyM-shaders-Sound-analysis-18x10.png.webp 18w\" data-sizes=\"(max-width: 323px) 100vw, 323px\" src=\"data:image\/svg+xml;base64,PHN2ZyB3aWR0aD0iMSIgaGVpZ2h0PSIxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjwvc3ZnPg==\" style=\"--smush-placeholder-width: 323px; --smush-placeholder-aspect-ratio: 323\/175;\" \/>\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/section>\n\t\t\t\t<div class=\"elementor-element elementor-element-57d6429 elementor-widget elementor-widget-heading\" data-id=\"57d6429\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<h3 class=\"elementor-heading-title elementor-size-default\">Controle MIDI<\/h3>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-10a497d elementor-widget elementor-widget-text-editor\" data-id=\"10a497d\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<p><span style=\"font-weight: 400;\">Deseja controlar manualmente v\u00e1rios par\u00e2metros ao mesmo tempo? Utilize o protocolo MIDI. Existem muitos controladores MIDI para m\u00fasica no mercado. Todos eles s\u00e3o compat\u00edveis com o HeavyM. Ligue o seu hardware na janela de configura\u00e7\u00e3o, acess\u00edvel atrav\u00e9s do \u00edcone laranja no canto superior direito da interface. Em seguida, o modo de aprendizagem MIDI permite-lhe configurar a liga\u00e7\u00e3o entre os par\u00e2metros do shader e as teclas do seu hardware.<\/span><\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-0292179 elementor-widget elementor-widget-image\" data-id=\"0292179\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"image.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<img decoding=\"async\" width=\"998\" height=\"620\" data-src=\"https:\/\/www.heavym.net\/wp-content\/smush-webp\/2021\/10\/HeavyM-Shaders-MIDI-1.png.webp\" class=\"attachment-full size-full wp-image-14232 lazyload\" alt=\"HeavyM Shaders - MIDI\" data-srcset=\"https:\/\/www.heavym.net\/wp-content\/smush-webp\/2021\/10\/HeavyM-Shaders-MIDI-1.png.webp 998w, https:\/\/www.heavym.net\/wp-content\/smush-webp\/2021\/10\/HeavyM-Shaders-MIDI-1-300x186.png.webp 300w, https:\/\/www.heavym.net\/wp-content\/smush-webp\/2021\/10\/HeavyM-Shaders-MIDI-1-768x477.png.webp 768w, https:\/\/www.heavym.net\/wp-content\/smush-webp\/2021\/10\/HeavyM-Shaders-MIDI-1-18x12.png.webp 18w\" data-sizes=\"(max-width: 998px) 100vw, 998px\" src=\"data:image\/svg+xml;base64,PHN2ZyB3aWR0aD0iMSIgaGVpZ2h0PSIxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjwvc3ZnPg==\" style=\"--smush-placeholder-width: 998px; --smush-placeholder-aspect-ratio: 998\/620;\" \/>\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-47b757c elementor-widget elementor-widget-heading\" data-id=\"47b757c\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<h2 class=\"elementor-heading-title elementor-size-default\">Conclus\u00e3o<\/h2>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-177ef86 elementor-widget elementor-widget-text-editor\" data-id=\"177ef86\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<p><span style=\"font-weight: 400;\">As possibilidades criativas oferecidas pelos shaders s\u00e3o infinitas. Estes programas permitem-lhe tirar partido do poder da sua placa gr\u00e1fica com apenas alguns cliques. O computador d\u00e1-lhe acesso f\u00e1cil \u00e0 arte generativa, que consiste em criar obras a partir de algoritmos. Muitos artistas digitais utilizam esta t\u00e9cnica, como por exemplo Antoine Schmidt, Miguel Chevalier, Vera Moln\u00e1r, Du Zhenjun, Daniel Rozin...\u00a0<\/span><\/p><p><span style=\"font-weight: 400;\">Com o HeavyM, verific\u00e1mos que \u00e9 muito f\u00e1cil utilizar e controlar os shaders. Combine-os sem limites para criar os seus pr\u00f3prios visuais e a sua pr\u00f3pria identidade!<\/span><\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/section>\n\t\t\t\t<\/div>","protected":false},"excerpt":{"rendered":"<p>Back to Blog home Introduction to the HeavyM shaders to create your own VFX Introduction You&#8217;re interested in creating your own visual effects in HeavyM? In this article, we will introduce the exciting creative possibilities offered by the shaders. By the way, what is a shader? A shader is a computer program that runs on [&hellip;]<\/p>\n","protected":false},"author":5,"featured_media":11155,"comment_status":"closed","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[14],"tags":[],"class_list":["post-10381","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-technology"],"yoast_head":"<!-- This site is optimized with the Yoast SEO Premium plugin v27.8 (Yoast SEO v27.8) - https:\/\/yoast.com\/product\/yoast-seo-premium-wordpress\/ -->\n<title>Introduction to HeavyM Shaders \u2013 Create Your Own VFX<\/title>\n<meta name=\"description\" content=\"Interested in creating your own HeavyM shaders? We&#039;ll introduce the exciting creative possibilities offered by the software to do it.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.heavym.net\/pt\/heavym-shaders\/\" \/>\n<meta property=\"og:locale\" content=\"pt_PT\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Introduction to the HeavyM shaders to create your own VFX\" \/>\n<meta property=\"og:description\" content=\"Interested in creating your own HeavyM shaders? We&#039;ll introduce the exciting creative possibilities offered by the software to do it.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.heavym.net\/pt\/heavym-shaders\/\" \/>\n<meta property=\"og:site_name\" content=\"HeavyM\" \/>\n<meta property=\"article:published_time\" content=\"2021-10-12T07:37:11+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2025-02-27T15:35:18+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/www.heavym.net\/wp-content\/uploads\/2021\/07\/1-3.jpeg\" \/>\n\t<meta property=\"og:image:width\" content=\"512\" \/>\n\t<meta property=\"og:image:height\" content=\"288\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/jpeg\" \/>\n<meta name=\"author\" content=\"HeavyM Team\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/www.heavym.net\\\/heavym-shaders\\\/#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.heavym.net\\\/heavym-shaders\\\/\"},\"author\":{\"name\":\"HeavyM Team\",\"@id\":\"https:\\\/\\\/www.heavym.net\\\/#\\\/schema\\\/person\\\/91aa653987c9f5917f1a56dd531a1b11\"},\"headline\":\"Introduction to the HeavyM shaders to create your own VFX\",\"datePublished\":\"2021-10-12T07:37:11+00:00\",\"dateModified\":\"2025-02-27T15:35:18+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/www.heavym.net\\\/heavym-shaders\\\/\"},\"wordCount\":2068,\"publisher\":{\"@id\":\"https:\\\/\\\/www.heavym.net\\\/#organization\"},\"image\":{\"@id\":\"https:\\\/\\\/www.heavym.net\\\/heavym-shaders\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/www.heavym.net\\\/wp-content\\\/uploads\\\/2021\\\/07\\\/1-3.jpeg\",\"articleSection\":[\"Technology\"],\"inLanguage\":\"pt-PT\"},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/www.heavym.net\\\/heavym-shaders\\\/\",\"url\":\"https:\\\/\\\/www.heavym.net\\\/heavym-shaders\\\/\",\"name\":\"Introduction to HeavyM Shaders \u2013 Create Your Own VFX\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.heavym.net\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/www.heavym.net\\\/heavym-shaders\\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/www.heavym.net\\\/heavym-shaders\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/www.heavym.net\\\/wp-content\\\/uploads\\\/2021\\\/07\\\/1-3.jpeg\",\"datePublished\":\"2021-10-12T07:37:11+00:00\",\"dateModified\":\"2025-02-27T15:35:18+00:00\",\"description\":\"Interested in creating your own HeavyM shaders? We'll introduce the exciting creative possibilities offered by the software to do it.\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/www.heavym.net\\\/heavym-shaders\\\/#breadcrumb\"},\"inLanguage\":\"pt-PT\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/www.heavym.net\\\/heavym-shaders\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"pt-PT\",\"@id\":\"https:\\\/\\\/www.heavym.net\\\/heavym-shaders\\\/#primaryimage\",\"url\":\"https:\\\/\\\/www.heavym.net\\\/wp-content\\\/uploads\\\/2021\\\/07\\\/1-3.jpeg\",\"contentUrl\":\"https:\\\/\\\/www.heavym.net\\\/wp-content\\\/uploads\\\/2021\\\/07\\\/1-3.jpeg\",\"width\":512,\"height\":288,\"caption\":\"Example of a video game using shaders: Minecraft\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/www.heavym.net\\\/heavym-shaders\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/www.heavym.net\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Introduction to the HeavyM shaders to create your own VFX\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/www.heavym.net\\\/#website\",\"url\":\"https:\\\/\\\/www.heavym.net\\\/\",\"name\":\"HeavyM\",\"description\":\"Easy Projection Mapping\",\"publisher\":{\"@id\":\"https:\\\/\\\/www.heavym.net\\\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/www.heavym.net\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"pt-PT\"},{\"@type\":\"Organization\",\"@id\":\"https:\\\/\\\/www.heavym.net\\\/#organization\",\"name\":\"HeavyM\",\"url\":\"https:\\\/\\\/www.heavym.net\\\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"pt-PT\",\"@id\":\"https:\\\/\\\/www.heavym.net\\\/#\\\/schema\\\/logo\\\/image\\\/\",\"url\":\"https:\\\/\\\/www.heavym.net\\\/wp-content\\\/uploads\\\/2025\\\/02\\\/Logo-Horizontale-Base-Avec-signature-100.jpg\",\"contentUrl\":\"https:\\\/\\\/www.heavym.net\\\/wp-content\\\/uploads\\\/2025\\\/02\\\/Logo-Horizontale-Base-Avec-signature-100.jpg\",\"width\":426,\"height\":426,\"caption\":\"HeavyM\"},\"image\":{\"@id\":\"https:\\\/\\\/www.heavym.net\\\/#\\\/schema\\\/logo\\\/image\\\/\"}},{\"@type\":\"Person\",\"@id\":\"https:\\\/\\\/www.heavym.net\\\/#\\\/schema\\\/person\\\/91aa653987c9f5917f1a56dd531a1b11\",\"name\":\"HeavyM Team\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"pt-PT\",\"@id\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/b90694fb04d50a98286ba18e6dfd39d4c075bf22e4f2166a1aa9601a12b02923?s=96&d=mm&r=g\",\"url\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/b90694fb04d50a98286ba18e6dfd39d4c075bf22e4f2166a1aa9601a12b02923?s=96&d=mm&r=g\",\"contentUrl\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/b90694fb04d50a98286ba18e6dfd39d4c075bf22e4f2166a1aa9601a12b02923?s=96&d=mm&r=g\",\"caption\":\"HeavyM Team\"},\"url\":\"https:\\\/\\\/www.heavym.net\\\/pt\\\/author\\\/houssam\\\/\"}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"Introdu\u00e7\u00e3o aos Shaders HeavyM - Crie os seus pr\u00f3prios efeitos visuais","description":"Interessado em criar os seus pr\u00f3prios shaders HeavyM? Iremos apresentar as excitantes possibilidades criativas oferecidas pelo software para o fazer.","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/www.heavym.net\/pt\/heavym-shaders\/","og_locale":"pt_PT","og_type":"article","og_title":"Introduction to the HeavyM shaders to create your own VFX","og_description":"Interested in creating your own HeavyM shaders? We'll introduce the exciting creative possibilities offered by the software to do it.","og_url":"https:\/\/www.heavym.net\/pt\/heavym-shaders\/","og_site_name":"HeavyM","article_published_time":"2021-10-12T07:37:11+00:00","article_modified_time":"2025-02-27T15:35:18+00:00","og_image":[{"width":512,"height":288,"url":"https:\/\/www.heavym.net\/wp-content\/uploads\/2021\/07\/1-3.jpeg","type":"image\/jpeg"}],"author":"HeavyM Team","twitter_card":"summary_large_image","schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.heavym.net\/heavym-shaders\/#article","isPartOf":{"@id":"https:\/\/www.heavym.net\/heavym-shaders\/"},"author":{"name":"HeavyM Team","@id":"https:\/\/www.heavym.net\/#\/schema\/person\/91aa653987c9f5917f1a56dd531a1b11"},"headline":"Introduction to the HeavyM shaders to create your own VFX","datePublished":"2021-10-12T07:37:11+00:00","dateModified":"2025-02-27T15:35:18+00:00","mainEntityOfPage":{"@id":"https:\/\/www.heavym.net\/heavym-shaders\/"},"wordCount":2068,"publisher":{"@id":"https:\/\/www.heavym.net\/#organization"},"image":{"@id":"https:\/\/www.heavym.net\/heavym-shaders\/#primaryimage"},"thumbnailUrl":"https:\/\/www.heavym.net\/wp-content\/uploads\/2021\/07\/1-3.jpeg","articleSection":["Technology"],"inLanguage":"pt-PT"},{"@type":"WebPage","@id":"https:\/\/www.heavym.net\/heavym-shaders\/","url":"https:\/\/www.heavym.net\/heavym-shaders\/","name":"Introdu\u00e7\u00e3o aos Shaders HeavyM - Crie os seus pr\u00f3prios efeitos visuais","isPartOf":{"@id":"https:\/\/www.heavym.net\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.heavym.net\/heavym-shaders\/#primaryimage"},"image":{"@id":"https:\/\/www.heavym.net\/heavym-shaders\/#primaryimage"},"thumbnailUrl":"https:\/\/www.heavym.net\/wp-content\/uploads\/2021\/07\/1-3.jpeg","datePublished":"2021-10-12T07:37:11+00:00","dateModified":"2025-02-27T15:35:18+00:00","description":"Interessado em criar os seus pr\u00f3prios shaders HeavyM? Iremos apresentar as excitantes possibilidades criativas oferecidas pelo software para o fazer.","breadcrumb":{"@id":"https:\/\/www.heavym.net\/heavym-shaders\/#breadcrumb"},"inLanguage":"pt-PT","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.heavym.net\/heavym-shaders\/"]}]},{"@type":"ImageObject","inLanguage":"pt-PT","@id":"https:\/\/www.heavym.net\/heavym-shaders\/#primaryimage","url":"https:\/\/www.heavym.net\/wp-content\/uploads\/2021\/07\/1-3.jpeg","contentUrl":"https:\/\/www.heavym.net\/wp-content\/uploads\/2021\/07\/1-3.jpeg","width":512,"height":288,"caption":"Example of a video game using shaders: Minecraft"},{"@type":"BreadcrumbList","@id":"https:\/\/www.heavym.net\/heavym-shaders\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.heavym.net\/"},{"@type":"ListItem","position":2,"name":"Introduction to the HeavyM shaders to create your own VFX"}]},{"@type":"WebSite","@id":"https:\/\/www.heavym.net\/#website","url":"https:\/\/www.heavym.net\/","name":"HeavyM","description":"Mapeamento de Proje\u00e7\u00e3o F\u00e1cil","publisher":{"@id":"https:\/\/www.heavym.net\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.heavym.net\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"pt-PT"},{"@type":"Organization","@id":"https:\/\/www.heavym.net\/#organization","name":"HeavyM","url":"https:\/\/www.heavym.net\/","logo":{"@type":"ImageObject","inLanguage":"pt-PT","@id":"https:\/\/www.heavym.net\/#\/schema\/logo\/image\/","url":"https:\/\/www.heavym.net\/wp-content\/uploads\/2025\/02\/Logo-Horizontale-Base-Avec-signature-100.jpg","contentUrl":"https:\/\/www.heavym.net\/wp-content\/uploads\/2025\/02\/Logo-Horizontale-Base-Avec-signature-100.jpg","width":426,"height":426,"caption":"HeavyM"},"image":{"@id":"https:\/\/www.heavym.net\/#\/schema\/logo\/image\/"}},{"@type":"Person","@id":"https:\/\/www.heavym.net\/#\/schema\/person\/91aa653987c9f5917f1a56dd531a1b11","name":"Equipa HeavyM","image":{"@type":"ImageObject","inLanguage":"pt-PT","@id":"https:\/\/secure.gravatar.com\/avatar\/b90694fb04d50a98286ba18e6dfd39d4c075bf22e4f2166a1aa9601a12b02923?s=96&d=mm&r=g","url":"https:\/\/secure.gravatar.com\/avatar\/b90694fb04d50a98286ba18e6dfd39d4c075bf22e4f2166a1aa9601a12b02923?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/b90694fb04d50a98286ba18e6dfd39d4c075bf22e4f2166a1aa9601a12b02923?s=96&d=mm&r=g","caption":"HeavyM Team"},"url":"https:\/\/www.heavym.net\/pt\/author\/houssam\/"}]}},"_links":{"self":[{"href":"https:\/\/www.heavym.net\/pt\/wp-json\/wp\/v2\/posts\/10381","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.heavym.net\/pt\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.heavym.net\/pt\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.heavym.net\/pt\/wp-json\/wp\/v2\/users\/5"}],"replies":[{"embeddable":true,"href":"https:\/\/www.heavym.net\/pt\/wp-json\/wp\/v2\/comments?post=10381"}],"version-history":[{"count":81,"href":"https:\/\/www.heavym.net\/pt\/wp-json\/wp\/v2\/posts\/10381\/revisions"}],"predecessor-version":[{"id":32776,"href":"https:\/\/www.heavym.net\/pt\/wp-json\/wp\/v2\/posts\/10381\/revisions\/32776"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.heavym.net\/pt\/wp-json\/wp\/v2\/media\/11155"}],"wp:attachment":[{"href":"https:\/\/www.heavym.net\/pt\/wp-json\/wp\/v2\/media?parent=10381"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.heavym.net\/pt\/wp-json\/wp\/v2\/categories?post=10381"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.heavym.net\/pt\/wp-json\/wp\/v2\/tags?post=10381"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}