Sphere-Tracing Pt. II

Padrão

Sphere-Tracing

No post anterior apresentamos os conceitos básicos do sphere-tracing. Agora, vamos nos aprofundar um pouco mais em sua formulação matemática e implementação.

Apenas relembrando: o algoritmo dispara um raio para cada pixel da tela e caminha sobre ele em passos de comprimento igual à distância até o objeto mais próximo. Continue lendo

Sphere-Tracing Pt. I

Padrão

blobby_small

Uma das técnicas de renderização mais utilizadas em demos é conhecida como raymarching on distance fields, a qual foi popularizada na demoscene pelo Iñigo Quilez devido aos seus ótimos demos e tutoriais. Na verdade, o nome original da técnica é sphere-tracing e o autor é um pesquisador chamado John C. Hart.

O algoritmo é baseado em um dos famosos Paradoxos de Zeno, no qual um homem deve caminhar até um certo ponto sempre percorrendo a metade da distância de onde ele se encontra até o final.

Paradoxo de Zeno Continue lendo

Introdução à Demoscene

Padrão

É bem possível que você esteja se perguntando “o que raios é esse negócio de demoscene?”

Para colocar de forma bem simples: A demoscene é o conjunto de todas as pessoas envolvidas de alguma forma na produção de demos.

Um demo é um programa não-interativo que gera gráficos e música em tempo real. Ou seja, um programa que, quando executado, irá gerar um vídeo com gráficos e trilha sonora que será exibido ao usuário.

Abaixo segue um exemplo de demo, produzido pelo demogroup Andromeda Software Development (ASD)

A diferença entre um demo, e, por exemplo, um filme gerado por computador, é que, em um demo, todos os gráficos são gerados na hora. Até um curta 3D pode levar dias para ser gerado a partir dos dados que o descrevem, mas um demo gera os seus gráficos instantaneamente, simultaneamente reproduzindo música. O programa que gera o vídeo acima pode ser baixado aqui, por exemplo: http://www.pouet.net/prod.php?which=31571
Os gráficos de um demo podem lembrar os gráficos de um videogame, mas um demo não é um jogo. O usuário não interage com o demo. O demo é simplesmente uma apresentação audiovisual.

E pra que produzir demos?

Os demos começaram na comunidade de pirataria de programas – o grupo que crackeava um programa adicionava um demo curto (chamado intro, nome que é usado até hoje para um demo cujo executável tem tamanho limitado) antes da inicialização do programa, para identificar quem realizou o crack. Porém, em pouco tempo, a demoscene adquiriu autonomia e começou a produzir independentemente dos cracks.
A demoscene tornou-se focada em realizar coisas “impossíveis” em plataformas limitadas, como o demo abaixo, feito para o Commodore Amiga:

Embora o demo possa não parecer impressionante hoje em dia, para a época do seu lançamento a qualidade dos efeitos era quase surreal – era difícil acreditar que fosse possível criar essas animações no Amiga.
Esse é um padrão que continua até hoje – a Demoscene tende a ser a pioneira em novas técnicas de computação gráfica, e ampliar os limites do que é considerado “possível”.

Este blog existe para estimular o desenvolvimento da Demoscene no Brasil, servindo como uma “porta de entrada” para iniciantes. A ideia é permitir que programadores que nunca trabalharam com demos antes possam aprender a partir do zero como criar efeitos visuais, e eventualmente publicar suas próprias produções.