A comunidade brasileira de desenvolvimento e programação de jogos.
Bem-vindo: Qui Jun 27, 2019 6:25 am

Todos os horários são GMT - 3 horas




Criar novo tópico Responder  [ 6 mensagens ] 
Autor Mensagem
 Título: Shader Programming Tutorial - Primeira Parte
MensagemEnviado: Seg Fev 22, 2010 7:57 pm 
Offline
Membro veterano
Avatar do usuário

Registrado em: Dom Mai 20, 2007 8:42 am
Mensagens: 1114
Localização: Belo Horizonte
Imagem
Programação de Shader's
ImagemImagem
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
    Iluminação
    Sombras
    Mapeamento de texturas
    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
Alto Nivel
    -> CG ( NVidia )
    -> HLSL( Microsoft )
    -> GLSL( OpenGL )
    -> SH


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.
Citação:
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.
Citação:
http://en.wikipedia.org/wiki/C_for_graphics

GLSL(OpenGL Shading Language)

Linguage de shader utilizada na API OpenGL. Multi-Plataforma.
Citação:
http://en.wikipedia.org/wiki/GLSL


-------------------------------------------------------------------------------------
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.
Citação:
http://en.wikipedia.org/wiki/Graphics_pipeline


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.

Vertex Shader
Imagem
Citação:
No pipeline programavel e o shader chamado pelo processador de vértices. E o shader responsavel por transformações de vertices.

http://en.wikipedia.org/wiki/Vertex_shader

Fragment Shader(Ou Pixel Shader)
Imagem
Citação:
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.

http://en.wikipedia.org/wiki/Pixel_shader

-------------------------------------------------------------------------------------
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.
Abraços.

_________________
Imagem


Voltar ao topo
 Perfil  
 
 Título:
MensagemEnviado: Ter Fev 23, 2010 10:43 am 
Offline
Membro avançado
Avatar do usuário

Registrado em: Seg Jan 02, 2006 10:46 am
Mensagens: 283
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. :wink:

_________________
-----
Game Developer
Odin Game Studio
http://www.odingamestudio.com.br


Voltar ao topo
 Perfil  
 
 Título:
MensagemEnviado: Ter Fev 23, 2010 12:20 pm 
Offline
Membro veterano
Avatar do usuário

Registrado em: Dom Mai 20, 2007 8:42 am
Mensagens: 1114
Localização: Belo Horizonte
xandeck escreveu:
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. :wink:


Valeu Xandeck. Nos proximos capitulos vou abordar tambem Shaders Com Unity Engine.
Abraço

_________________
Imagem


Voltar ao topo
 Perfil  
 
 Título:
MensagemEnviado: Ter Fev 23, 2010 12:24 pm 
Offline
Membro avançado
Avatar do usuário

Registrado em: Seg Jan 02, 2006 10:46 am
Mensagens: 283
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 :lol:

Fico aguardando então :wink:

_________________
-----
Game Developer
Odin Game Studio
http://www.odingamestudio.com.br


Voltar ao topo
 Perfil  
 
 Título:
MensagemEnviado: Ter Fev 23, 2010 4:20 pm 
Offline
Membro veterano
Avatar do usuário

Registrado em: Dom Mai 20, 2007 8:42 am
Mensagens: 1114
Localização: Belo Horizonte
Shaders com a Unity e bem bacana de mexer. ainda mais por ter suporte a Shaders em CG.

_________________
Imagem


Voltar ao topo
 Perfil  
 
Exibir mensagens anteriores:  Ordenar por  
Criar novo tópico Responder  [ 6 mensagens ] 

Todos os horários são GMT - 3 horas


Quem está online

Usuários navegando neste fórum: Nenhum usuário registrado e 0 visitantes


Enviar mensagens: Proibido
Responder mensagens: Proibido
Editar mensagens: Proibido
Excluir mensagens: Proibido
Enviar anexos: Proibido

Ir para:  
cron
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
Traduzido por: Suporte phpBB