Peças gráficas

Design de Shader de Galáxia de Partículas

Três braços espirais tênues evoluem em um canvas WebGL2 escuro, sob tipografia fixa, com contagens de pontos e de draw calls definidas no código-fonte e um indicador de FPS local.

OpenDesignDesign e produção
Oficial
Composição de galáxia WebGL2 com 50000 pontos, animada automaticamente3 telas
Partículas espirais verdes e tênues sobre um canvas quase preto, com um título branco em negrito no canto inferior esquerdo e pequenos contadores no canto superior direito.
Composição da Galáxia de PartículasCaptura de tela 1 de 3

Casos de Uso da Galáxia de Partículas

  • Experimentação com WebGLEstude composição de partículas orientada por GPU e movimento conduzido por shaders.
  • Identidade Visual AnimadaCrie cenas de abertura atmosféricas em torno de uma única forma em evolução.
  • Apresentação de Creative CodingCombine restrições técnicas com tipografia editorial contida.

Destaques da Galáxia Procedural

  • Campo de Partículas em EspiralPontos verdes e azuis tênues formam três amplos braços espirais.
  • Bloco de Contexto de RenderizaçãoPontos, draw call e FPS ficam em um grupo compacto no canto superior direito.
  • Tipografia EditorialUma declaração grande ancora a composição sob a arte.
  • Foco em um Único CanvasO campo visual sustenta a experiência sem controles visíveis.

Três braços espirais, uma única chamada de desenho de pontos

Particle Galaxy é um exemplo oficial do OpenDesign, centrado em um canvas escuro, quase vazio, e em um grande campo de partículas tênues. O título criado para a peça, “Fifty thousand points, one draw call.”, torna a premissa técnica parte da identidade visual, em vez de escondê-la atrás de elementos de interface.

O campo de partículas e o título fixo no canto inferior esquerdo compartilham uma única viewport; o título não é uma seção separada abaixo da dobra. Pontos verdes, azuis e claros e tênues deixam amplas lacunas escuras entre os três braços. O compromisso visual é claro: o campo contido parece silencioso ao lado do texto brilhante, mas seu baixo contraste exige um olhar atento à imagem em tamanho real.

O canvas escuro de Particle Galaxy, as estatísticas no canto superior direito, o campo de partículas em espiral e o título explicativo em escala ampliada.
O canvas escuro de Particle Galaxy, as estatísticas no canto superior direito, o campo de partículas em espiral e o título explicativo em escala ampliada.

Onde este design se encaixa

Este design é adequado para uma cena de landing page de creative coding, uma vitrine interativa de tecnologia ou um estudo de WebGL com direção de arte. Seu valor é maior quando o próprio visual é o assunto e o texto de apoio pode permanecer curto.

A ausência de controles estáticos mantém a atenção no campo de partículas em mudança. Essa contenção também limita a descoberta: o markup fornecido não mostra controles criados para a peça, então o design se comunica por movimento, tipografia e pelo bloco compacto de estatísticas, e não por indicações explícitas de interação.

Vitrine de Creative Coding

Use o grande campo de partículas para apresentar um experimento de renderização antes de explicar sua técnica.

Cena de Abertura em WebGL

Adapte o canvas escuro como abertura visual de uma experiência digital com foco técnico.

Editorial Orientado ao Movimento

Deixe uma forma que muda lentamente conduzir a atenção enquanto textos concisos estabelecem o contexto.

Como a composição funciona

O bloco no canto superior direito mostra 50,000 POINTS, 1 DRAW CALL e uma estimativa de FPS variável. O vertex shader deriva as posições dos pontos a partir de gl_VertexID, distribui-os entre três braços e varia a velocidade angular para que os pontos internos girem mais rápido. Uma inclinação fixa e uma rotação geral que muda lentamente definem a perspectiva do disco. Point sprites suaves e mistura aditiva dão brilho às partículas verdes, ciano e claras.

As estatísticas usam numerais brancos grandes e rótulos menores com espaçamento entre letras, enquanto a arte usa partículas verdes, azuis e claras de contraste muito menor. Essa separação torna os metadados fáceis de ler sem competir com a galáxia. Também cria um compromisso perceptivo: o bloco de desempenho é imediatamente legível, enquanto os braços de partículas exigem um olhar mais longo e um contraste de tela adequado.

As capturas mostram valores de FPS diferentes, mantendo as mesmas contagens de pontos e rótulos de draw call. Essa variação faz o campo de FPS parecer um estado local de exibição em mudança, e não uma afirmação estável sobre o desempenho em diferentes dispositivos.

Premissa Técnica

O título conecta a ideia de contagem de partículas e draw call ao visual, em vez de apresentá-las como metadados sem relação.

Densidade Visual

Os amplos braços espirais permanecem esparsos contra o preto, preservando espaço negativo em torno do título e das estatísticas.

Variação de Estado

As capturas mantêm 50000 pontos e um draw call enquanto mostram valores de FPS diferentes, separando rótulos fixos do estado de exibição variável.

Limite de Capacidade

O código-fonte WebGL2 define N = 50000 e chama gl.drawArrays com POINTS uma vez por frame renderizado. As posições das partículas são calculadas no vertex shader, em vez de atualizadas por um buffer de posições na CPU. A thread principal ainda cuida da configuração, dos uniforms de tempo, do redimensionamento e do desenho. Não há controles de ponteiro, teclado, direção de câmera nem parâmetros. Este é um visual procedural semelhante a uma galáxia, não uma simulação gravitacional científica.

Os comentários do código afirmam 60fps, mas capturas estáticas isoladas e o contador local de FPS não estabelecem desempenho garantido. Também não comprovam implantação em produção, serviços conectados nem um processo histórico de geração. As contagens de pontos e de draw calls são fatos do código; a leitura da taxa de quadros é uma observação que depende do ambiente.

O que os contadores descrevem

A exibição da contagem de pontos vem do valor configurado de N, e o rótulo de draw call concorda com o único draw POINTS no loop de renderização. O valor de FPS estima a cadência de requestAnimationFrame em janelas de cerca de meio segundo. Manter esses significados separados preserva um contexto técnico útil sem transformar a arte em um benchmark sem respaldo.

Como criar um design de shader de galáxia de partículas no OpenDesign

  1. Baixar e instalar o OpenDesign

    Baixe o aplicativo desktop, instale-o e conclua a configuração. Crie um projeto para o seu design.

    Baixar OpenDesign
  2. Defina a composição do canvas

    Comece com um campo escuro ocupando todo o canvas, um grupo compacto de estatísticas no canto superior direito e tipografia fixa no canto inferior esquerdo. Mantenha o rótulo verde do tema, a declaração grande e o parágrafo explicativo dentro da mesma viewport, em vez de adicionar uma segunda seção abaixo da arte.

  3. Modele o campo de partículas

    Construa três braços espirais tênues a partir de pontos derivados do ID do vértice, com movimento angular mais rápido perto do centro e point sprites suaves com mistura aditiva. Preserve as lacunas escuras e a tipografia fixa. Trate a galáxia como um padrão visual, não como um modelo astronômico fisicamente validado.

  4. Verifique os rótulos e os limites de capacidade

    Mantenha Points, Draw Call e FPS visualmente distintos e garanta que os valores variáveis de FPS sejam apresentados como estado local de exibição, e não como afirmações universais de benchmark. Verifique se o movimento e o comportamento de redimensionamento permanecem locais ao canvas renderizado.

    Prompt sugerido

    Crie uma galáxia de partículas em WebGL2 animada automaticamente, com 50000 pontos posicionados a partir de gl_VertexID e renderizados em um único draw POINTS por frame. Organize-os em três amplos braços espirais, com movimento angular mais rápido em direção ao centro, uma inclinação fixa e uma rotação geral lenta. Use point sprites suaves em verde e ciano com mistura aditiva, tipografia fixa no canto inferior esquerdo com “Fifty thousand points, one draw call.” e, no canto superior direito, rótulos de pontos e de draw definidos no código-fonte, com uma estimativa local de FPS. Não adicione controles do usuário, simulação física de galáxia, serviços conectados, armazenamento nem garantia universal de desempenho.

  5. Exportar e obter um link de compartilhamento

    Exporte seu design finalizado e, em seguida, use Compartilhar no OpenDesign para obter um link de compartilhamento. Abra o link em uma janela separada do navegador e verifique se a versão desejada e seus assets estão disponíveis antes de enviá-lo.