A comunidade brasileira de desenvolvimento e programação de jogos.
Bem-vindo: Ter Mar 26, 2019 10:19 am

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




Criar novo tópico Responder  [ 9 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  
 
 Título: Re: Shader Programming Tutorial - Primeira Parte
MensagemEnviado: Seg Mar 25, 2019 8:16 am 
Offline
Membro novo

Registrado em: Seg Mar 25, 2019 8:10 am
Mensagens: 5
A Geometry Shader is an optional program that takes the primitives (a point, line, triangle, … for example) as an input, and can modify, remove or add geometry to it. Pixel Shader Stage. The Pixel Shader (also known as fragment shaders in the OpenGL world) is executed once per-pixel, giving color to a pixel.
https://www.gangboard.com/rpa-online-training
https://www.gangboard.com/operating-system-training/devops-training


Voltar ao topo
 Perfil  
 
 Título: Re: Shader Programming Tutorial - Primeira Parte
MensagemEnviado: Seg Mar 25, 2019 8:17 am 
Offline
Membro novo

Registrado em: Seg Mar 25, 2019 8:10 am
Mensagens: 5
A Geometry Shader is an optional program that takes the primitives (a point, line, triangle, … for example) as an input, and can modify, remove or add geometry to it. Pixel Shader Stage. The Pixel Shader (also known as fragment shaders in the OpenGL world) is executed once per-pixel, giving color to a pixel.
https://www.gangboard.com/rpa-online-training
https://www.gangboard.com/operating-system-training/devops-training


Voltar ao topo
 Perfil  
 
 Título: Re: Shader Programming Tutorial - Primeira Parte
MensagemEnviado: Seg Mar 25, 2019 8:18 am 
Offline
Membro novo

Registrado em: Seg Mar 25, 2019 8:10 am
Mensagens: 5
A Geometry Shader is an optional program that takes the primitives (a point, line, triangle, … for example) as an input, and can modify, remove or add geometry to it. Pixel Shader Stage. The Pixel Shader (also known as fragment shaders in the OpenGL world) is executed once per-pixel, giving color to a pixel.
https://www.gangboard.com/rpa-online-training
https://www.gangboard.com/operating-system-training/devops-training


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

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


Quem está online

Usuários navegando neste fórum: Nenhum usuário registrado e 1 visitante


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