1 pontos por GN⁺ 2024-12-19 | 1 comentários | Compartilhar no WhatsApp

Introdução

  • A textura XOR é uma textura que pode ser gerada de forma simples e é útil para fins de teste.
  • Não é muito usada em demos ou jogos, portanto não é recomendada.
  • É útil para testar rapidamente um mapeador de texturas.

Textura XOR

  • A textura XOR é gerada aplicando a operação XOR às coordenadas x e y do pixel atual.
  • É possível implementá-la em C++ usando o operador ^.
  • O tamanho da textura deve ser uma potência de 2. Caso contrário, a qualidade piora.
  • Os valores de cor ficam entre 0 e 255, e se o tamanho da textura for menor que 256 ela ficará mais escura.
  • Se o tamanho for maior que 256, é preciso limitar as cores a 256.

Cores

  • É possível definir valores diferentes para R, G e B e testar várias cores de textura XOR.
  • Também é possível usar o valor XOR como matiz com a função HSVtoRGB.

AND e OR

  • Os operadores AND e OR também geram texturas semelhantes.
  • O operador AND retorna 1 apenas quando os dois bits são 1.
  • O operador OR retorna 1 quando pelo menos um dos dois bits é 1.
  • A textura AND é escura, e a textura OR é clara.

Conclusão

  • A textura XOR é útil para testar renderizadores de textura, mas não é adequada para arte ou jogos.
  • É possível usá-la como textura 3D (x ^ y ^ z) para testar um renderizador de textura planetária.

1 comentários

 
GN⁺ 2024-12-19
Comentários do Hacker News
  • Um usuário criou um programa em assembly x86 para gerar imagens usando cores de 1 bit. Em vez de x ^ y, o programa usa parity(x ^ y) para aplicar cores diferentes quando há um número par de bits 1 e quando não há. Isso produz um efeito de mosaico quase repetitivo, mas não perfeito. O programa foi escrito em 2019 com fasm e gera arquivos XPM2.

  • No ensino fundamental II, um usuário só conseguia criar aplicações CLI simples, mas aprendeu a abrir janelas e desenhar gráficos por meio do Lode's Computer Graphics Tutorial. Com isso, conseguiu recriar jogos retrô como Pacman, Snake e Space Invaders. Graças a esse site, pôde começar cedo sua carreira em desenvolvimento de software.

  • Efeitos semelhantes animados com funções como color = (y == (x ^ t)) são chamados de "munching squares". Isso foi escrito para o PDP-1 no início dos anos 1960, e alguém comentou já ter visto uma demonstração no PDP-1 do Computer History Museum. A tela do PDP-1 só consegue desenhar pontos e não usa um framebuffer bitmap, mas aproveita a longa persistência do fósforo da tela para gerar texturas XOR.

  • Houve um comentário de que isso lembra texturas de distância de Hamming. Um usuário fez uma colcha usando essa textura e a pendurou na parede como decoração, com cores de arco-íris.

  • Foi compartilhado um fato curioso: cada ponto da textura XOR é o menor inteiro que não aparece acima dele nem à sua esquerda.

  • O site Dwitter é uma plataforma para exemplos de JavaScript de uma linha usando canvas, onde usuários podem compartilhar criações limitadas a 140 bytes.

  • Também foi compartilhada uma forma de expressar esse padrão na linguagem J. É possível ver isso no playground do software J.

  • Mesmo após 20 anos, ainda há muita informação útil, especialmente para trabalho com shaders, segundo uma recomendação.

  • Também foi mencionado que alguém aprendeu ray tracing pelo site do Lode e ainda gosta do layout desse site.