Pular para o conteúdo
Componentes

Efeitos especiais · Adaptado

Crisol

Seu HTML de verdade passa por um efeito gráfico da placa de vídeo, como ondas de água, e segue clicável.

Em resumo

Crisol é um componente do THM Componentes que passa HTML ao vivo por um shader GLSL no estilo ShaderToy, em WebGL2. Usa a API experimental HTML-in-Canvas quando o navegador a oferece e, sem ela, uma cópia do conteúdo. O HTML original segue clicável por baixo. É a base para criar efeitos próprios em protótipos.

Crisol: Seu HTML de verdade passa por um efeito gráfico da placa de vídeo, como ondas de água, e segue clicável.
Captura da demonstração no catálogo

Como ele é

Na demo, uma página de revista, branca com um painel preto, parece vista através de uma lâmina d'água: textos e linhas ondulam devagar, e cada movimento do mouse solta pequenas ondas que saem do cursor e se acalmam em instantes. O visual final depende do shader que você escrever. O resultado aparece num canvas por cima, enquanto o HTML original fica no lugar, com links, botões e seleção de texto funcionando. A animação pausa quando a área sai da tela ou a aba fica oculta, e congela num quadro quando o sistema pede menos movimento.

Você pode estar procurando isto se pediu algo assim

  • aplicar um shader em cima do site inteiro, não só numa imagem
  • deixar o texto e os botões da página ondulando como água
  • efeito de distorção sobre o HTML de verdade, e não sobre um print
  • rodar código do ShaderToy em cima do conteúdo da página
  • um jeito de criar meus próprios efeitos de GPU na interface
  • página que deforma quando passo o mouse e continua clicável
  • experimento visual para mostrar num protótipo ou numa palestra

Também chamado de

  • HTML como textura
  • HTML-in-Canvas API
  • shader sobre HTML
  • DOM shader
  • efeito WebGL na página
  • pós-processamento de HTML
  • drawElementImage

Quando usar

  • Protótipos e provas de conceito de efeitos visuais sobre a interface
  • Criar um efeito de shader próprio sobre um bloco de conteúdo real
  • Demos técnicas, palestras e laboratórios de front-end
  • Explorar a API experimental HTML-in-Canvas do navegador

Quando evitar

  • Sites de cliente em produção: o prompt restringe o uso a protótipos
  • Quando um efeito pronto, como Remanso ou Varal, já resolve
  • Páginas que já rodam outros efeitos em WebGL

Como pedir para a sua IA

Pedido de exemplo
Quero aplicar um shader GLSL estilo ShaderToy sobre um bloco de HTML real do meu protótipo, em WebGL2, com o HTML clicável e acessível por baixo, cópia de reserva quando faltar a API HTML-in-Canvas, pausa fora da tela e quadro parado para movimento reduzido.

Com o THM Componentes, você cola o prompt completo do catálogo junto com o código deste componente, e a IA reproduz este efeito exato em vez de improvisar.

Perguntas sobre Crisol

Crisol funciona em qualquer navegador?

A API HTML-in-Canvas ainda é experimental. Quando o navegador não a oferece, Crisol tira uma cópia do conteúdo com os estilos aplicados, passa essa cópia pelo mesmo shader e a refaz quando o HTML muda. Nesse modo, sem WebGL2 o conteúdo aparece normal, sem efeito. O prompt do THM Componentes restringe o uso a protótipos.

Como escrever meu próprio efeito em Crisol?

O shader precisa definir a função mainImage, como no ShaderToy, e recebe o HTML como textura em iChannel0. Crisol também entrega tempo, resolução, posição e velocidade do ponteiro e velocidade da roda do mouse, aceita uniforms próprios e um vertex shader opcional, que deforma a superfície dividida em faixas.

Os links e o texto continuam acessíveis com Crisol?

Sim. Crisol desenha o efeito num canvas oculto para leitores de tela, que não captura cliques, e mantém o HTML original no lugar. Links e botões funcionam no conteúdo real, a seleção de texto aparece destacada por cima do efeito e leitores de tela leem o HTML normalmente.

Efeitos especiais

Componentes relacionados

Deixe a sua IA com repertório de estúdio

268 componentes Vue e Nuxt, 115 exclusivos, prompt pronto em todos. Pagamento único, acesso vitalício e 7 dias de garantia.