Baixe o app para aproveitar ainda mais
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
Compartilhar