GameDev Brasil • Exibir tópico - Shader Programming Tutorial - Primeira Parte
Bem-vindo: Qui Jun 27, 2019 6:25 am
Índice do fórum » Programação » Programação de jogos em geral
Shader Programming Tutorial - Primeira Parte
Título: Shader Programming Tutorial - Primeira Parte
Enviado: Seg Fev 22, 2010 7:57 pm
Programação de Shader's
Linguagens de programação de Shade's servem para se determinar o aspecto final de um objeto ou superfície. Levando em conciederação uma serie de fatores como:
Absorção - Difusão
Reflexão,Refração
Pertubações de superficie(bum mapping, normal mapping e etc)
Pós-processamento(motion blur, lens flares, glow, bloom, relief mapping)
Os programas escritos utilizando linguagens de tonalização(shader language) recebem o nome de Shaders.
Existem dois tipos de linguagens de tonalização:
Baixo Nive
-> Lite-Assembly
-> CG ( NVidia )
-> HLSL( Microsoft )
-> GLSL( OpenGL )
As linagens de alto nivel são geralmente bem semelhantes, e porta o código de uma para a outra não e muito difício. Todas essas linguagens de alto nivel tem a sintaxe parecida com C.
HLSL(High Level Shader Language)
Linguagem de shader utilizada em ambiente windows e aplicações baseadas em DirectX.
http://en.wikipedia.org/wiki/High_Level_Shader_Language
CG(C for Graphics)
Linguagem de shader desenvolvida pela NVidia multi-plataforma. Mas necessita da instalação e configuração do kit de desenvolvimento.
http://en.wikipedia.org/wiki/C_for_graphics
Linguage de shader utilizada na API OpenGL. Multi-Plataforma.
Pipeline Fixo e Pipeline Programavel
Para se entender o funcionamento dos Shaders, é necessario ter uma visão do funcionamento do pipeline de rendering.
Pipeline de rendering
Pipeline de rendering , são uma serie de processos por onde os dados de renderização passam antes de serem exibidos na tela.
Pipeline Fixo
Onde ocorre todo processo de transformação, Iluminação, Montagem de primitivas e conversões matriciais,texturização e colorização de frgmentos e oprações de rasterização. O pipeline fixo não tem intervenção do programador
http://www.lighthouse3d.com/opengl/glsl ... peline.gif
Pipeline Programavel
O pipeline programavel e parecido com o pipeline fixo. Tem as partes de montagem de primitivas e conversões matriciais subtituidas pelo VertexShader, e a parte de texturização e colorização de fragmentos substituida pelo Fragment Shader.
No pipeline programavel e o shader chamado pelo processador de vértices. E o shader responsavel por transformações de vertices.
Fragment Shader(Ou Pixel Shader)
No pipeline programavel ele e chamado pelo processador de fragmentos.
Este Shader e responsavel por todas operações sobre os pixels. E muito utilizado para gerar efeitos de pós-processamento.
Nesta primeira parte do tutorial teve como objetivo uma pequena introdução a programação de shader e estrutura de renderização.
Na proxima parte vou ensinar como programar shaders e suas aplicações utilizando a linguagem CG. Até a proxima e espero que tenham gostado.
Enviado: Ter Fev 23, 2010 10:43 am
Achei bem legal, Tydres.
Eu conheço pouco de Shader e programo muito pouco nisso, preciso me aprofundar e isso vai ser de grande ajuda.
Enviado: Ter Fev 23, 2010 12:20 pm
xandeck escreveu:
Valeu Xandeck. Nos proximos capitulos vou abordar tambem Shaders Com Unity Engine.
Enviado: Ter Fev 23, 2010 12:24 pm
Shaders com a Unity foi uma das poucas coisas que ainda não mexi muito, por enquanto só uso as built-in. E os efeitos das imagens com a PRO são outra coisa