sugestões de demonstração glsl?

7

Em muitos lugares que entrevistei recentemente, muitas vezes me perguntam se trabalhei com shaders. Mesmo assim, eu li e entendi o pipeline, a resposta para essa pergunta foi não. Recentemente, um dos lugares me perguntou se eu poderia enviar uma amostra de 'algo' que é "visualmente polido".

Então, decidi dar um mergulho e escrevi alguns shaders simples no GLSL (com opengl). Agora tenho uma configuração básica em que posso usar vbos com glsl shaders.

Eu tenho uma janela muito curta para enviar algo para eles e fiquei pensando se alguém com experiência poderia sugerir uma idéia que seja interessante o suficiente para atrair a atenção de alguém.

obrigado

brainydexter
fonte
Que tipo de demonstração? Apenas uma renderização, ou algo em tempo real, ou uma demonstração interativa?
dotminic
Quanto mais, melhor, sempre é melhor :) Eu tenho muito código e arte de programador, então as pessoas estão pouco preocupadas e queriam apenas algo brilhante . Para simplificar, acho que uma renderização / algo em tempo real funcionaria.
23711 brainydexter

Respostas:

10

Todo mundo viu o phong implementado. Então, que tal:

  • água - há toneladas de tutoriais e parece sempre ótimo
  • mapeamento de sombras - básico absoluto no desenvolvimento de jogos. A renderização multipass é uma boa coisa para mostrar. Você pode aprimorá- lo com algum tipo de sombras suaves (eu recomendo o PCSS - easy effective ou Variance Shadow Maps )
  • bumpmapping
  • mapeamento de paralaxe - parece legal e muito fácil se você tiver feito o mapeamento de relevo.
  • shaders de geometria (se você colocar pêlos / pêlos sobre o polígono - pode ser baseado em linhas ou outdoors - eles vão te amar :)) - whitepaper da nvidia
  • espelhos
  • pós-processo - shader de desenho animado, shader de câmera antiga
Notabene
fonte
qual é o antigo shader da câmera?
23711 brainydexter
Heh, isso é algo super simples. Apenas dessaturação, talvez aparência sépia e algumas texturas aleatórias da "câmera antiga" adicionadas através da mistura aditiva (é uma porcaria, mas pode impressionar alguém:])
Notabene
Outra coisa que você pode querer olhar é o material. Implemente um ou vários modelos de sombreamento com eficiência (pintura de carro, plástico). Aprenda sobre o BRDF: s enquanto faz isso. O esfola também costuma ser feito no programa de vértices, de modo que pode ser algo para se olhar.
void
Legal! Obrigado por todas as sugestões. Estou trabalhando no efeito da água agora. Vou mantê-lo aberto por enquanto, caso alguém queira adicionar algumas sugestões.
23711 brainydexter
3

E quanto aos metaballs ? Eles são uma demonstração bastante interessante e há muito que você pode fazer com sombreamento, como luzes pontuais, reflexão, refração e assim por diante. Há também a demonstração clássica de terreno + água, na qual você pode ter texturas, tons, mapeamento de deslocamento (para a água), reflexão ...

dotminic
fonte
Boa ideia. Olha grande em 3D, bem como: vimeo.com/groups/glsl/videos/10271624
bummzack
1

Eu trabalho para um projeto da escola em uma demonstração de renderização em tempo real. Aqui está um link para o vídeo: http://www.youtube.com/watch?v=Gj4vvlWuL8E Você encontrará um link para o código-fonte também se estiver interessado. Tem muito efeito shader, como água, sombra, parralax toon, motion blur, profundidade de campo, etc ...


fonte
parece incrível +1
brainydexter
0

Realizar esse trabalho está muito longe da minha profundidade (e é o DX11 e não o OpenGL), mas achei este artigo fascinante sobre os efeitos Bokeh e DOF, e os resultados parecem muito bons:

Como falsificar o bokeh (e torná-lo muito bom)

Há um acompanhamento aqui também, se você estiver interessado.

Outra sugestão seria um bom algoritmo de mapeamento de tons HDR, por exemplo, no blog de John Hable, da Uncharted 2 .

Bethor
fonte