Eu já vi essa pergunta no SO, mas aqui quero que ele se concentre no GFX.
Então, na sua opinião, quais aplicativos / recursos todo programador GFX aspirante deve escrever / alterar para melhorar?
Wiki da comunidade, pois não há "resposta certa".
LE: Não se refere a jogos reais, mas a recursos gráficos, por exemplo, alterando algo em um mecanismo (por exemplo, como ele carrega objetos), criando um compositor, etc.
Respostas:
Minha resposta é sempre a mesma: se você ainda não escreveu uma, escreva um traçador de raios.
Você terá que lidar com estruturas de otimização, precisão numérica e todos os tipos de outras questões, mas também trabalhará diretamente com a matemática da luz de uma maneira que raramente faz ao lidar com todos os hacks e aproximações que compõem um renderizador de produção em tempo real.
Afaste todo o edifício de sistemas de carregamento, palavras-chave da semana, adie isso ou envie-o para a frente e, finalmente, você ficará com a luz viajando pelo meio. No final, isso é tudo o que há nos gráficos.
fonte
Hoje em dia, pode ser de pouca utilidade prática, mas escrever em um renderizador de software, pelo menos básico (talvez apenas alguns cubos com textura), é um exercício que vale a pena.
Compreender como transformar, projetar, recortar, classificar em profundidade, rasterizar e mapear polígonos de mapa você mesmo fornecerá uma compreensão muito melhor do que o hardware 3D e as APIs de renderização estão fazendo
fonte
Apesar de não renderizar código, acho que escrever um compilador BSP e acompanhar o código transversal é um bom exercício de matemática vetorial.
Em segundo lugar, um renderizador adiado. Não porque é a resposta final à renderização, mas fornecerá informações sobre outra abordagem da renderização.
fonte
Aprenda a mecânica e as habilidades de escrever bons shaders. Embora não seja 100% necessário em todos os casos, é uma habilidade valiosa para se conhecer.
fonte