Shader - o que é isso? Tipos, vantagens e desvantagens. O que são shaders e como instalar shaders no Minecraft O que os shaders respondem?

Certamente você está familiarizado com a situação em que realmente gostou de um shader, mas como não possui o conhecimento necessário, não poderá instalar o shader no Minecraft. Não se preocupe, no artigo de hoje explicaremos detalhadamente como instalar shaders no Minecraft!

Como você sabe, a maioria dos shaders são instalados junto com mods adicionais, que por sua vez consomem muita memória de vídeo e recursos de RAM. Mas e se você gosta de um mod que vem com lindos shaders e ao mesmo tempo tem um computador ou laptop fraco? Hoje também veremos a solução para esse problema. Bem, vamos começar!

O que são shaders no Minecraft e para que servem?

Shaders Mod é uma modificação altamente realista do Minecraft que fornece iluminação mais realista, bem como sombras mais realistas que refletem formas.

Assim, os mods shader transformam literalmente o seu mundo Minecraft em um mundo mais realista, completamente incomparável ao mundo do jogo padrão. Portanto, se você quiser saber o quão realistas podem ser os gráficos do Minecraft, continue lendo este artigo!

Como baixar shaders para Minecraft?

Na Internet, um grande número de portais e serviços de jogos oferecem shaders de jogos com mods adicionais para download. Como dissemos anteriormente, a instalação de mods afeta muito o desempenho do jogo, especialmente se você tiver um computador ou laptop fraco.

Assim, listaremos a seguir os shaders de jogos mais populares e universais que são adequados para qualquer versão do jogo Minecraft.

Bbepc-lite-nvidia-fix.zip - Baixado 599 vezes - 72 KB

Chocapic13.zip - Baixado 682 vezes - 443 KB

Continuum.zip - baixado 455 vezes - 131 KB

Kadir-nck-shader-v1.2.zip - Baixado 438 vezes - 30 KB

Plunderpixels_shaders_1.7.x.zip - Baixado 440 vezes - 36 KB

Robobo1221.zip - Baixado 399 vezes - 180 KB

Como instalar shaders no Minecraft 1.7.10, 1.8, 1.8.8, 1.10.2, 1.11.2, 1.12, 1.12.2?

  • Primeiro de tudo, você precisa baixar o Optifine. Você pode fazer isso clicando no botão abaixo.

Optifine_1.7.10.rar - Baixado 668 vezes - 1 MB

Optifine_1.8.rar - Baixado 385 vezes - 1 MB

Optifine_1.8.8.rar - Baixado 323 vezes - 1.009 KB

Optifine_1.10.2.rar - Baixado 345 vezes - 1 MB

Optifine_1.11.2.rar - Baixado 405 vezes - 1 MB

Optifine_1.12.rar - Baixado 353 vezes - 1 MB

Optifine_1.12.2.rar - Baixado 797 vezes - 2 MB

  • Em seguida, instale o mod Optifine. Sem instalá-lo, os shaders não funcionarão.
  • Depois disso, baixe o shader que deseja instalar para o Minecraft.
  • Agora abra a pasta com shaders, para isso pressione o atalho do teclado Ganhar + R e digite o comando: "%appdata%/.minecraft/shaderpacks" e pressione o botão OK.
  • Você deve mover os shaders que deseja usar no Minecraft para a pasta que é aberta.

  • Após as etapas acima, tudo que você precisa fazer é iniciar o Minecraft. Entre no menu de configurações e selecione a guia "Desempenho". Aqui você precisa desativar o recurso "Renderização rápida".

  • No capítulo "Configurações gráficas" abra a aba "Sombreadores" e ative o shader necessário. Saia das configurações, crie um mundo e aproveite o novo visual do jogo.

Perguntas frequentes/respostas sobre sombreadores

Onde está a pasta shaderpacks?

Caminho da pasta: "%appdata%/.minecraft/shaderpacks."

Por que não consigo encontrar o botão Shaders no menu Opções?

Certifique-se de ter instalado o Optifine e estar usando a versão correta.

Onde posso baixar o Optifine?

Para baixar o Optifine, você precisa usar os links fornecidos no artigo acima.

Existe um limite para instalação de shaders?

Não há restrições. Mas você só pode usar um pacote de shaders por sessão de jogo.

Os shaders funcionam em servidores?

Nem sempre, mas a maioria dos servidores de jogos oferece suporte ao seu trabalho.

Vídeo: Como instalar shaders no Minecraft 1.7.10?

–Igor (Administrador)

Neste artigo, vou te contar em palavras simples o que são shaders e por que são necessários?

Os requisitos para a qualidade da computação gráfica estão crescendo a cada dia. Anteriormente, os gráficos 2D eram considerados suficientes e suficientes para capturar a imaginação de milhões de pessoas. Hoje em dia, muito mais atenção é dada à visualização.

No entanto, durante a formação dos gráficos 3D modernos, muitos enfrentaram o problema de que os filtros integrados e os dispositivos das placas de vídeo (GPUs) simplesmente não eram suficientes. Por exemplo, muitas vezes havia necessidade de nossos próprios bens. Portanto, muito teve que ser feito manualmente e cálculos feitos no processador principal do computador (CPU), o que sem dúvida afetou o desempenho (apesar de a placa de vídeo, como dizem, “ficar ociosa”).

Assim, com o passar do tempo, surgiram diversas tecnologias, como os shaders, que permitem que o poder da GPU seja utilizado para necessidades específicas.

O que são shaders e por que são necessários?

Sombreador- um programa de computador (código) que pode ser executado em processadores de placas de vídeo sem desperdiçar desnecessariamente energia da CPU. Além disso, é possível construir pipelines a partir desses shaders (seu uso sequencial). Ou seja, o mesmo shader pode ser aplicado a diversos tipos de objetos gráficos, o que simplifica bastante o processo de criação de animação.

Inicialmente, as placas de vídeo significavam três tipos - vértice (para efeitos de vértices individuais; por exemplo, para criar o efeito de ondas, desenhar grama, etc.), geométrica (para pequenas primitivas; por exemplo, para criar silhuetas) e pixel ( para filtros de uma determinada área da imagem; por exemplo, neblina). E, portanto, havia três tipos de processadores especializados na placa. Mais tarde, esta divisão foi abandonada e todos os processadores de placas de vídeo tornaram-se universais (suportam todos os três tipos).

Reduzir a carga geral da CPU não é o único propósito de poder criar seus próprios shaders. Vale entender que muitos jogos e vídeos reutilizam os mesmos recursos. Por exemplo, por que escrever, por exemplo, efeitos de água do zero em dezenas de programas de animação semelhantes, se você pode usar bibliotecas prontas como OpenGL ou DirectX? Este último contém muitos shaders já implementados e fornece um método mais conveniente para escrever o seu próprio (não há necessidade de escrever comandos de baixo nível para a GPU).

Ou seja, se antes, para criar a animação ou jogo mais simples, era necessário ter um conhecimento significativo, então na realidade de hoje esta é uma tarefa ao alcance de muitos.

Qual é o benefício da abordagem de shader?

Há alguma confusão com shaders, pois existem diferentes padrões de linguagem de programação para diferentes bibliotecas (GLSL - OpenGL, HLSL - DirectX e assim por diante), e isso sem contar o fato de que os próprios fabricantes de placas de vídeo podem suportar diferentes recursos. No entanto, a vantagem de usá-los pode ser facilmente apreciada olhando a imagem acima com um exemplo da diferença de exibição entre DirectX 9 e DirectX 10.

Assim, se você usar shaders de uma biblioteca conhecida, o lançamento da próxima versão será suficiente para que a qualidade melhore por si só. Claro, existem nuances aqui, como compatibilidade, suporte para equipes especializadas emergentes, etc., mas ainda assim.

Além dos gráficos, a abordagem do shader é útil para usuários comuns das seguintes maneiras:

1. A velocidade e o desempenho do computador aumentam (afinal, o processador central não precisa realizar cálculos gráficos em vez da GPU).

Esta instrução irá ajudá-lo a instalar shaders no Minecraft e, assim, melhorar o mundo do jogo adicionando sombras dinâmicas, ruído de vento e grama, água realista e muito mais.

É importante notar imediatamente que os shaders carregam muito o sistema e, se você tiver uma placa de vídeo fraca ou mesmo integrada, recomendamos que você evite instalar este mod.

A instalação consiste em dois estágios, primeiro você precisa instalar o mod shader e, em seguida, pacotes de shader adicionais para ele

PASSO #1 - Instalando o mod shader

  1. Baixe e instale o Java
  2. Instalar OptiFine HD
    ou Mod Shaders;
  3. Descompacte o arquivo resultante em qualquer local;
  4. Lançamos o arquivo jar, porque ele é um instalador;
  5. O programa irá mostrar o caminho para o jogo, se tudo estiver correto clique em Sim, Ok, Ok;
  6. Vamos para .Minecraft e crie uma pasta lá pacotes de shaders;
  7. Entramos no inicializador e vemos um novo perfil na linha com o nome "ShadersMod", caso contrário, selecione-o manualmente.
  8. Em seguida, você precisa baixar pacotes de shaders

PASSO #2 - Instalando o pacote de shaders

  1. Baixe o pacote de shaders de seu interesse (lista no final do artigo)
  2. Pressione as teclas GANHAR+R
  3. Vá para .minecraft/shaderpacks. Se essa pasta não existir, crie-a.
  4. Mova ou extraia o arquivo shader para .minecraft/shaderpacks. O caminho deve ficar assim: .minecraft/shaderpacks/SHADER_FOLDER_NAME/shaders/[arquivos .fsh e .vsh dentro]
  5. Inicie o Minecraft e vá Configurações > Sombreadores. Aqui você verá uma lista de shaders disponíveis. Selecione o que você precisa
  6. Nas configurações do shader, habilite "tweakBlockDamage", desabilite "CloudShadow" e "OldLighting"

Shaders inacreditáveis ​​de Sonic Ether
Shaders de Sildur
Shaders do Chocapic13
yShaders do sensi277
Shaders de MrMeep_x3
Cel Shaders de Naelego
Shaders do RRe36
Shaders CUDA de DeDelner
bruceatsr44's Acid Shaders
Shaders de Beed28
Pacote de shaders do Ziipzaap
Shaders do robobo1221
Shaders de dvv16
Super Shaders Stazza85
Pacote B de Shaders do hoo00
Plantas onduladas de Regi24
MrButternuss ShaderPack
Gráficos impressionantes do DethRaid em Nitro Shaders
Shader de Edi para ALLPcs
Shaders TME do CrankerMan
Kadir Nck Shader (para skate702)
Shaders de Werrus
Shaders Life Nexus de Knewtonwako
Pacote de shaders CYBOX
CrapDeShoes CloudShade Alpha
Sombreador AirLocke42
Shaders BSL do CaptTatsu
Shaders do Triliton
Shaders Bloominx ShadersMcOfficial (Shaders Chocapic13")
Shaders contínuos do dotModded
Shaders Lunares Qwqx71 (shader chocapic13)

Destinado à execução por processadores de placa de vídeo (GPU). Os shaders são compilados em uma das linguagens de programação especializadas (consulte) e compilados em instruções para a GPU.

Aplicativo

Antes do uso de shaders, era utilizada a geração de texturas procedurais (por exemplo, usada no jogo Unreal para criar texturas animadas de água e fogo) e multitexturização (a linguagem de shader usada no jogo Quake 3 era baseada nela). Esses mecanismos não forneciam a mesma flexibilidade que os shaders.

Com o advento dos pipelines gráficos reconfiguráveis, tornou-se possível realizar cálculos matemáticos na GPU (GPGPU). Os mecanismos GPGPU mais conhecidos são nVidia CUDA, Microsoft DirectCompute e o OpenCL de código aberto.

Tipos de sombreador

Sombreadores de vértice

O vertex shader opera com dados associados aos vértices dos poliedros, por exemplo, com as coordenadas de um vértice (ponto) no espaço, com coordenadas de textura, com a cor de um vértice, com um vetor tangente, com um vetor binormal, com um vetor normal. O sombreador de vértice pode ser usado para visualização e transformação de perspectiva de vértices, para gerar coordenadas de textura, para calcular iluminação, etc.

Código de exemplo para um sombreador de vértice na linguagem:

vs.2.0 dcl_position v0 dcl_texcoord v3 m4x4 oPos, v0, c0 mov oT0, v3

Sombreadores de geometria

Um shader de geometria, diferentemente de um shader de vértice, é capaz de processar não apenas um vértice, mas também um primitivo inteiro. Uma primitiva pode ser um segmento (dois vértices) e um triângulo (três vértices), e se houver informações sobre vértices adjacentes (adjacência) para uma primitiva triangular, até seis vértices podem ser processados. O shader de geometria é capaz de gerar primitivas dinamicamente (sem usar o processador central).

Os shaders de geometria foram usados ​​​​pela primeira vez nas placas de vídeo Nvidia série 8.

Sombreadores de pixel (fragmento)

Um pixel shader funciona com fragmentos e texturas de imagens bitmap - processa dados associados a pixels (por exemplo, cor, profundidade, coordenadas de textura). O pixel shader é usado no último estágio do pipeline gráfico para formar um fragmento da imagem.

Código de exemplo para um pixel shader na linguagem:

ps.1.4 textold r0, t0 mul r0, r0, v0

Vantagens e desvantagens

Vantagens:

  • a capacidade de criar quaisquer algoritmos (flexibilidade, simplificação e redução de custos do ciclo de desenvolvimento do programa, aumentando a complexidade e o realismo das cenas visualizadas);
  • maior velocidade de execução (em comparação com a velocidade de execução do mesmo algoritmo executado no processador central).

Imperfeições:

  • a necessidade de aprender uma nova linguagem de programação;
  • a existência de diferentes conjuntos de instruções para GPUs de diferentes fabricantes.

Linguagens de programação

Para atender às diversas necessidades do mercado (a computação gráfica tem muitas aplicações), um grande número de linguagens de programação de shaders foram criadas.

Normalmente, as linguagens para escrever shaders fornecem ao programador tipos de dados especiais (matrizes, amostradores, vetores, etc.), um conjunto de variáveis ​​​​e constantes integradas (para interação com a funcionalidade padrão da API 3D).

Renderização profissional

A seguir estão linguagens de programação de shaders destinadas a alcançar a máxima qualidade de renderização. Nessas linguagens, as propriedades dos materiais são descritas por meio de abstrações. Isso permite que pessoas que não possuem habilidades especiais de programação e não conhecem as especificidades das implementações de hardware escrevam código. Por exemplo, os artistas podem escrever tais shaders para fornecer a “aparência certa” (mapeamento de textura, posicionamento de fontes de luz, etc.).

Normalmente, o processamento de tais shaders consome muitos recursos: a criação de imagens fotorrealistas requer muito poder de computação. Normalmente, a maior parte da computação é realizada por grandes clusters de computadores ou sistemas blade.

RenderMan A linguagem de programação de shader implementada no software RenderMan da Pixar foi a primeira linguagem de programação de shader. A API RenderMan, desenvolvida por Rob Cook e descrita na especificação de interface RenderMan, é o padrão de fato para renderização profissional, usada em todas as produções da Pixar. OSL OSL - Inglês. Open Shading Language é uma linguagem de programação de shaders desenvolvida por Imagens da Sony Pictures e parecendo uma língua. Utilizado no programa proprietário Arnold, desenvolvido pela Sony Pictures Imageworks e projetado para renderização, e no programa gratuito Blender, projetado para criação de computação gráfica tridimensional. Renderização em tempo real GLSL GLSL (eng. a abertura G.L. S tendo eu linguagem ouça)) é uma linguagem de programação shader descrita no padrão OpenGL e baseada na versão da linguagem descrita no padrão ANSI C. A linguagem suporta a maioria dos recursos ANSI C e tipos de dados frequentemente usados ​​ao trabalhar com gráficos tridimensionais (vetores, matrizes). A palavra "shader" em GLSL refere-se a uma unidade compilada de forma independente escrita nesta linguagem. A palavra "programa" refere-se a um conjunto de shaders compilados interligados. Cg (Inglês) C para g ráfica) é uma linguagem de programação de shader desenvolvida pela nVidia em conjunto com a Microsoft. A linguagem é semelhante à linguagem e à linguagem HLSL, desenvolvida pela Microsoft e incluída no DirectX9. A linguagem usa os tipos “int”, “float”, “half” (número de ponto flutuante de 16 bits). A linguagem suporta funções e estruturas. A linguagem possui otimizações peculiares na forma de “matrizes compactadas” (

"itemprop="imagem">

"O que são shaders?" - Muito pergunta frequente jogadores curiosos e aspirantes a desenvolvedores de jogos. Neste artigo contarei a você de forma clara e clara sobre esses terríveis shaders.

Considero os jogos de computador o motor do progresso em direção a imagens fotorrealistas em computação gráfica, então vamos falar sobre o que são “shaders” no contexto dos videogames.

Antes do surgimento dos primeiros aceleradores gráficos, todo o trabalho de renderização de frames de videogame era feito pela CPU pobre.

Renderizar um quadro é na verdade um trabalho bastante rotineiro: você precisa pegar a “geometria” - modelos poligonais (mundo, personagem, arma, etc.) e rasterizá-los. O que é rasterizar? Todo o modelo 3D consiste em pequenos triângulos, que o rasterizador transforma em pixels (ou seja, “rasterizar” significa transformar em pixels). Após a rasterização, pegue dados de textura, parâmetros de iluminação, neblina, etc. e calcule cada pixel resultante do quadro do jogo, que será exibido na tela do jogador.

Então, a unidade central de processamento (CPU – Unidade Central de Processamento) é um cara esperto demais para forçá-lo a fazer tal rotina. Em vez disso, é lógico alocar algum tipo de módulo de hardware que irá aliviar a CPU para que ela possa realizar trabalhos intelectuais mais importantes.

Este módulo de hardware era um acelerador gráfico ou placa de vídeo (GPU - Graphics Processing Unit). Agora a CPU prepara os dados e carrega seu colega com trabalho de rotina. Considerando que a GPU agora não é apenas um colega, mas uma multidão de núcleos minion, ela pode lidar com esse tipo de trabalho de uma só vez.

Mas ainda não recebemos uma resposta à questão principal: O que são shaders? Espere, estou chegando nisso.

Gráficos bons, interessantes e quase fotorrealistas exigiram que os desenvolvedores de placas de vídeo implementassem muitos algoritmos no nível do hardware. Sombras, luz, destaques e assim por diante. Esta abordagem, com a implementação de algoritmos em hardware, é chamada de “Pipeline Fixo ou Transportador” e onde são necessários gráficos de alta qualidade, ela não é mais encontrada. Seu lugar foi ocupado pelo “Pipeline Programável”.

Pedidos dos jogadores: “Vamos, traga uma boa grafonia! surpresa!”, empurrou os desenvolvedores de jogos (e fabricantes de placas de vídeo, respectivamente) para algoritmos cada vez mais complexos. Até certo ponto, os algoritmos de hardware conectados tornaram-se poucos para eles.

Chegou a hora das placas de vídeo se tornarem mais inteligentes. A decisão foi tomada para permitir que os desenvolvedores programem blocos de GPU em pipelines arbitrários que implementem algoritmos diferentes. Ou seja, os desenvolvedores de jogos e programadores gráficos agora podiam escrever programas para placas de vídeo.

E agora, finalmente, chegamos à resposta à nossa questão principal.

"O que são shaders?"

Um shader é um programa para placa de vídeo usado em gráficos tridimensionais para determinar os parâmetros finais de um objeto ou imagem, que pode incluir uma descrição de absorção e dispersão de luz, mapeamento de textura, reflexão e refração, sombreamento, deslocamento de superfície e muitos outros parâmetros.

O que são sombreadores? Por exemplo, este efeito pode ser obtido, este é um shader de água aplicado a uma esfera.

Pipeline gráfico

A vantagem de um pipeline programável sobre seu antecessor é que os programadores agora podem criar seus próprios algoritmos, em vez de usar um conjunto de opções conectadas ao hardware.

No início, as placas de vídeo eram equipadas com diversos processadores especializados que suportavam diferentes conjuntos de instruções. Os shaders foram divididos em três tipos dependendo de qual processador os executaria. Mas então as placas de vídeo começaram a ser equipadas com processadores universais que suportam conjuntos de instruções de todos os três tipos de shaders. A divisão dos shaders em tipos foi preservada para descrever a finalidade do shader.

Além das tarefas gráficas com essas placas de vídeo inteligentes, agora é possível realizar cálculos de uso geral (não relacionados à computação gráfica) na GPU.

Pela primeira vez, suporte completo para shaders apareceu nas placas de vídeo da série GeForce 3, mas os rudimentos foram implementados na GeForce256 (na forma de Register Combiners).

Tipos de sombreadores

Dependendo do estágio do pipeline, os shaders são divididos em vários tipos: vértice, fragmento (pixel) e geometria. E os tipos mais novos de pipelines também possuem shaders de mosaico. Não discutiremos detalhadamente o pipeline gráfico; ainda estou pensando em escrever um artigo separado sobre isso, para quem decidir estudar shaders e programação gráfica. Escreva nos comentários se tiver interesse, saberei se vale a pena.

Sombreador de vértice

Os shaders Vertex fazem animações de personagens, grama, árvores, criam ondas na água e muitas outras coisas. Num sombreador de vértices, o programador tem acesso aos dados associados aos vértices, por exemplo: as coordenadas de um vértice no espaço, suas coordenadas de textura, sua cor e vetor normal.

Sombreador de geometria

Os sombreadores de geometria são capazes de criar nova geometria e podem ser usados ​​para criar partículas, alterar detalhes do modelo em tempo real, criar silhuetas, etc. Ao contrário do vértice anterior, eles são capazes de processar não apenas um vértice, mas também um primitivo inteiro. Uma primitiva pode ser um segmento (dois vértices) e um triângulo (três vértices), e se informações sobre vértices adjacentes (adjacência em inglês) estiverem disponíveis, até seis vértices podem ser processados ​​para uma primitiva triangular.

Sombreador de pixel

Os sombreadores de pixel realizam mapeamento de textura, iluminação e vários efeitos de textura, como reflexo, refração, neblina, mapeamento de relevo, etc. Os sombreadores de pixel também são usados ​​para pós-efeitos.

Um pixel shader funciona com fragmentos e texturas de imagens bitmap - processa dados associados a pixels (por exemplo, cor, profundidade, coordenadas de textura). O pixel shader é usado no último estágio do pipeline gráfico para formar um fragmento da imagem.

Em que os shaders estão escritos?

Inicialmente, os shaders podiam ser escritos em uma linguagem semelhante a assembler, mas posteriormente surgiram linguagens de shader alto nível, semelhantes à linguagem C, como: Cg, GLSL e HLSL.

Essas linguagens são muito mais simples que C, porque os problemas resolvidos com a ajuda delas são muito mais simples. O sistema de tipos nessas linguagens reflete as necessidades dos programadores gráficos. Portanto, eles fornecem ao programador tipos de dados especiais: matrizes, amostradores, vetores, etc.

RenderMan

Tudo o que discutimos acima se aplica a gráficos em tempo real. Mas existem gráficos que não são em tempo real. Qual é a diferença - tempo real - tempo real, ou seja, aqui e agora - para dar 60 frames por segundo no jogo, esse é um processo em tempo real. Mas renderizar um quadro complexo para uma animação de ponta por vários minutos não envolve tempo real. A chave é o tempo.

Por exemplo, atualmente não podemos obter gráficos com a mesma qualidade dos últimos filmes de animação do estúdio Pixar em tempo real. Fazendas de renderização muito grandes calculam simulações de luz usando algoritmos completamente diferentes, que são muito caros, mas produzem imagens quase fotorrealistas.

Gráficos super-realistas em Sand piper

Por exemplo, olhe para este desenho fofo, grãos de areia, penas de pássaros, ondas, tudo parece incrivelmente real.

*O vídeo pode ser banido do Youtube, caso não abra, Google pixar maçarico - um pequeno desenho animado sobre um maçarico corajoso é muito fofo e fofo. Isso vai tocar você e demonstrar como a computação gráfica pode ser legal.

Então este é o RenderMan da Pixar. Tornou-se a primeira linguagem de programação shader. A API RenderMan é o padrão de fato para renderização profissional, usada em todo o trabalho da Pixar e além.

Informação util

Agora você sabe o que são shaders, mas além dos shaders, existem outros tópicos muito interessantes em desenvolvimento de jogos e computação gráfica que provavelmente irão interessar a você:

  • , - uma técnica para criar efeitos incríveis em videogames modernos. Artigo de revisão e vídeo com lições sobre como criar efeitos no Unity3d
  • , - se você está pensando em desenvolver videogames, como carreira profissional ou hobby, este artigo contém um excelente conjunto de recomendações sobre “por onde começar”, “que livros ler”, etc.

Se você tiver quaisquer perguntas

Como de costume, se ainda tiver alguma dúvida, pergunte nos comentários, sempre responderei. Quaisquer palavras gentis ou correções de erros serão muito apreciadas.


Principal