Buscar

Aula_11

Prévia do material em texto

COMPUTAÇÃO GRÁFICA
TIPOS DE SHADERS E SUAS CARACTERÍSTICAS
Entender o que são Shaders;
TIPOS DE SHADERS E SUAS CARACTERÍSTICAS
Entender o que são Shaders;
TIPOS DE SHADERS E SUAS CARACTERÍSTICAS
SHADERS – PIPELINE PROGRAMÁVEL
INTRODUÇÃO
Até pouco tempo atrás, pelos idos de 2003, predominava a renderização gráfica pelas GPUs através do pipeline fixo, pelo qual se passavam todos os dados de uma aplicação gráfica 3D que usava efetivamente uma placa de vídeo. 
TIPOS DE SHADERS E SUAS CARACTERÍSTICAS
SHADERS – PIPELINE PROGRAMÁVEL
INTRODUÇÃO
Apesar de rápido e com a velocidade crescendo a cada dia, tal processo apresentava limitações, uma vez que não era possível ter um controle fino sobre o dado que era passado pelo pipeline, sendo que estes se sujeitavam aos algoritmos internos realizados na renderização e presentes dentro da própria GPU. 
TIPOS DE SHADERS E SUAS CARACTERÍSTICAS
SHADERS – PIPELINE PROGRAMÁVEL
INTRODUÇÃO
Com a necessidade de realismo e desempenhos combinados crescendo sempre, motivada pela demanda dos consumidores quer sejam eles usuários comuns de aplicações gráficas, quer sejam pesquisadores científicos, muitos métodos haviam surgido para aumentar o realismo na imagem, vários deles através da renderização de multipasse. 
TIPOS DE SHADERS E SUAS CARACTERÍSTICAS
SHADERS – PIPELINE PROGRAMÁVEL
INTRODUÇÃO
Entretanto, isto não foi o suficiente e a disputa comercial aliada aos rápidos avanços na área de computação gráfica, tiveram como consequência o surgimento dos shaders, ou seja, o nascimento das primeiras placas de vídeo com pipeline programável.
TIPOS DE SHADERS E SUAS CARACTERÍSTICAS
SHADERS – PIPELINE PROGRAMÁVEL
INTRODUÇÃO
Destas placas a primeira placa de vídeo com alguma presença de shaders foi a Geforce 3 TI que possibilitava ao desenvolvedor programar um vertex shader. 
TIPOS DE SHADERS E SUAS CARACTERÍSTICAS
SHADERS – PIPELINE PROGRAMÁVEL
INTRODUÇÃO
Obviamente, que como era uma tecnologia nova, ela enfrentava uma série de limitações que com o tempo foram superadas ou, minimizadas.
Seguindo o modelo criado pela Geforce 3 TI, outras placas de vídeo começaram a incorporar shaders em sua arquitetura, dando maior flexibilidade e controle do programador sobre os programas gráficos produzidos.
TIPOS DE SHADERS E SUAS CARACTERÍSTICAS
SHADERS – PIPELINE PROGRAMÁVEL
INTRODUÇÃO
Não demorou muito para que o DirectX 8 introduzisse suporte a shaders e para que o OpenGL 1.4 o fizesse também na forma de uma extensão padronizada pela ARB (Architeture Review Board), organização que era responsável na época pela decisão quanto aos rumos do OpenGL. 
TIPOS DE SHADERS E SUAS CARACTERÍSTICAS
SHADERS – PIPELINE PROGRAMÁVEL
INTRODUÇÃO
Contudo, ainda que tal flexibilidade fosse possível, o código para que fosse possível manipulá-la era um tipo de Assembly, padronizado pela ARB. 
Porém, ainda que padronizado o assembly da placa de vídeo, como de qualquer outro hardware, é programação em baixo nível, sendo propensa a erros. 
 
TIPOS DE SHADERS E SUAS CARACTERÍSTICAS
SHADERS – PIPELINE PROGRAMÁVEL
INTRODUÇÃO
Dessa dificuldade surgiram pesquisas que culminaram nas invenções das linguagens de shading de alto nível CG, HLSL, GLSL, as quais baseavam suas estruturas no C e, consequentemente retiravam uma grande parte da complexidade da implementação, bem como, diminui o tempo de aprendizagem da linguagem, por se basear numa linguagem amplamente conhecida e difundida, o C.
TIPOS DE SHADERS E SUAS CARACTERÍSTICAS
SHADERS – PIPELINE PROGRAMÁVEL
INTRODUÇÃO
Assim desde 2003 até 2009, ano da presente publicação muitos avanços ocorreram como o aprimoramento dos pixeis e vertex shaders, a criação do shader de geometria, a unificação dos shaders nas placas de vídeo mais modernas e o amplo interesse acadêmico na GPU e o possível uso desta para uso não apenas de aplicações gráfica, mas de aplicações de propósito geral, GPGPU (General Purpose GPU).
TIPOS DE SHADERS E SUAS CARACTERÍSTICAS
SHADERS – PIPELINE PROGRAMÁVEL
LINGUAGENS DE SHADING 
Para dar mais poder de expressão e flexibilidade aos artistas e programadores as linguagens de shading foram inventadas. 
CG;
GLSL;
HLSL.
TIPOS DE SHADERS E SUAS CARACTERÍSTICAS
SHADERS – PIPELINE PROGRAMÁVEL
LINGUAGENS DE SHADING - CG
Esta linguagem nasceu do trabalho em conjunto da Microsoft com a Nvidia, dai a sua semelhança com a HLSL, linguagem de shading abordada mais adiante. 
Ela se destaca por ter estruturas semelhantes a do C para comandos condicionais, loops, tipos de dados e funções.
TIPOS DE SHADERS E SUAS CARACTERÍSTICAS
SHADERS – PIPELINE PROGRAMÁVEL
LINGUAGENS DE SHADING - CG
Apesar de sua criadora ser a Nvidia, a mesma liberou as especificações de seu compilador, sendo tal linguagem disponível em diversas placas de vídeo e, não somente da Nvidia. 
Além disso, os shaders criados por ela podem ser usados tanto em programas feitos por DirectX, quanto os feitos por OpenGL.
TIPOS DE SHADERS E SUAS CARACTERÍSTICAS
SHADERS – PIPELINE PROGRAMÁVEL
LINGUAGENS DE SHADING – GLSL
Linguagem de Shading do OpenGL que se encontra na sua versão 4.1 atualmente. 
Ela é equivalente a HLSL do DirectX, porém é livre de plataforma como a CG, sendo parte integrante do núcleo do OpenGL a partir do OpenGL 2.0.
TIPOS DE SHADERS E SUAS CARACTERÍSTICAS
SHADERS – PIPELINE PROGRAMÁVEL
LINGUAGENS DE SHADING – HLSL
Linguagem de Shading que surgiu com o DirectX 9.0. 
A HLSL é uma linguagem parecida com CG, resultado da parceira de desenvolvimento de uma linguagem de shading entre Microsoft e NVidia. A HLSL está atualmente na sua versão 5.0, a qual acompanha o DirectX 11.
COMPUTAÇÃO GRÁFICA
BIBLIOGRAFIA EXTRA
PARA CONTINUAR ESTUDANDO
https://desenvolvimentodejogosdigitais.wordpress.com/entendendo-o-game-loop/
http://imasters.com.br/front-end/javascript/criando-um-game-loop-em-html5/
http://pontov.com.br/site/java/48-java2d/121-o-loop-de-animacao
http://desenvolvimentodejogos.wikidot.com/shaders

Continue navegando