TCC - ESTUDO AGU OPENGL
Por: Carlos Maximino • 13/11/2019 • Abstract • 1.021 Palavras (5 Páginas) • 207 Visualizações
1 INTRODUÇÃO
Atualmente, nota-se uma grande evolução no que diz respeito a computação gráfica. A demanda por melhores gráficos cria a necessidade de que novas tecnologias surjam rapidamente com o propósito de melhorar a qualidade de vídeo e processamento gráfico.
Para que essa evolução seja realizada com sucesso, foram criadas novas APIs (Application Programming Interface) que se traduzido para o português literal significa Interface de Programação de Aplicativosdentre elas é possível citar: OpenGL que pertencente ao Khronos Group juntamente com a Vulkan (API de Código livre baseada na estrutura do Mantle). Mantle que por sua vez foi desenvolvida pela empresa norte-americana fabricante de circuitos integrados AMD (Advanced Micro Devices).
Sendo assim, frequentemente surgem questões relacionadas a finalidade do OpenGL, assim também quanto sua importância no desenvolvimento de aplicativos voltados à Computação Gráfica.
O trabalho visa apresentar através de um estudo de caso detalhado, como o OpenGL melhora a performance do hardware (GPU) com foco no embasamento teórico do OpenGL, assim também como o uso de técnicas e exemplos das funcionalidades e peculiaridades que essa API possui, levando em consideração seu código aberto e o grande número de documentação relacionada.
Com isso surge, o seguinte questionamento: Como uma API de baixo nível auxilia na performance do hardware? Qual a contribuição do OpenGL para as áreas divergentes a ele?
Essas são algumas das dúvidas que este estudo pretende responder, transmitindo assim, de forma simples e de fácil entendimento para o leitor.
2 HISTÓRICO
Em década de 80, fabricantes de hardware possuíam suas próprias arquiteturas para desenho de gráficos 2D e 3D. O maior desafio da época, era uma aplicação capaz de suportar vários hardwares.
Chamado de PHIGS (Programmer’s Hierarchical Graphics System), esta Aplicação surgiu em meados dos anos 80 e começou a ser adotado por grandes empresas, inclusive esta foi reconhecida por entidades como a ANSI e a ISO, porém, rapidamente este padrão foi considerado complexo e defasado.
No final dos anos 80, um novo padrão começou a chamar a atenção, a chamada IRIS GL, criada pela Silicon Graphics Inc. (SGI). Foi considerada inclusive como arte de uma API gráfica, fácil de usar tornou-se um padrão da indústria.
Todavia, empresas de grande porte produtoras de hardware, como Sun, IBM e etc. ainda fabricavam hardware para padrão PHIGS. Isso fez com que a SGI pensasse em uma API de padrão público, ou seja, um padrão para que todos os fabricantes de placas gráficas pudessem assumi-lo.
Por se tratar de uma API de código ainda fechado(proprietário) e com dificuldades para lidar com desenhos 2D e 3D, como por exemplo, gerenciamento de janelas, teclado e mouse. A SGI passou a buscar por uma solução ainda mais compatível com intuito de não perder clientes.
O resultado disso levou a criação do padrão OpenGL e(que) desde 1992 é mantido pelo ARB (Architecture Review Board) e adotado por empresas como ATI, Dell, HP, INTEL, NVIDIA, Sun e obviamente a Silicon Graphics Inc. Por muito tempo a versão do OpenGL foi a 2.1, porém, durante esse estudo a versão mais recente é a do OpenGL 4.5.
Através de uma pesquisa de mercado, projetistas do OpenGL descobriram duas coisas. A primeira foi que os fabricantes de placas gráficas gostariam de fazer suas próprias alterações sem a necessidade de esperar por uma solução para resolver seus problemas, ou seja, recursos oficialmente aceitos no padrão.
Desta forma, o OpenGL foi projetado para ser estendido, dando oportunidades também para terceiros adotarem o padrão e realizarem suas próprias alterações. Quando a linguagem se torna suficientemente abrangente e importantes, esta é promovida para o padrão oficial pela ARB.
Outra visão dos projetistas foi em relação aos hardwares inferiores, incapazes de abraçar todo o padrão. Para atender esta demanda, foram desenvolvidas extensões de software que permitiu(permitiram) emular suas funcionalidades. Estas extensões resolveram problemas encontrados no IRIS GL onde a aplicação simplesmente não
...