Tabela de conteúdos

Visão Geral

A computação gráfica é uma área da ciência da computação que, através de recursos computacionais e diversos algoritmos e aplicações matemáticas diferentes, realiza a representação de dados através de uma imagem, vídeo ou animação. É uma área que possibilita com que as pessoas se aproximem da tecnologia, facilitando o seu entendimento, estando hoje em dia presente em praticamente todas as áreas do conhecimento, desde às partes mais técnicas e exatas até o ramo das artes e produção criativa.

Histórico

O início dos estudos quanto à computação gráfica pode ser datado no início da década de 50, momento em que estava ocorrendo um grande avanço tecnológico, principalmente na área computacional, por conta da Guerra Fria.

Nos anos 60, então, que explodem os estudos quanto à computação gráfica, sendo constantemente desenvolvidas novas tecnologias para proporcionar modelagem de imagens digitais e amplamente usadas no mercado, principalmente em empresas automobilísticas, pelos órgãos governamentais (com destaque para o Exército, Marinha e Aeronáutica), e empresas aéreas.

Já nos anos 70 o seu uso já se torna mais popular, havendo grandes melhorias para deixar os gráficos mais realistas, havendo mais estudos quanto aos gráficos 3D.

Os anos 80 possibilitaram a expansão da computação para cada vez mais áreas, com a computação gráfica se tornando mais acessível, moderna e comercializável.

Assim, dos anos 90 até hoje em dia, só houveram mais avanços:

Tipos de Imagem

Bitmaps/ Gráficos Raster:

São imagens formadas por um conjunto de pixels, que com a união desses, tem-se a informação de cor. Um pixel consiste em um ponto desse bitmap 2D, um ponto de cor, em que, quanto mais pontos, mais exata a imagem. Em uma imagem bitmap, as bordas sofrem alterações, deixando seus pixels mais claros para suavizar o contorno e, ao e dar zoom, é possível observar se observar esses pixels, ou seja, a imagem fica mais distorcida e menos nítida. O computador se tornar capaz de registrar uma imagem, então, registrando qual cor está presente em cada pixel, representando essas cores com pixels, se há 8 cores, utiliza-se oito bits para armazenar a imagem, 16 cores, 16 bits etc. Esse tipo de imagem, porém, acaba ocupando muito espaço na memória e sua manipulação é difícil, já que qualquer grande alteração deixa a imagem granulada (pelos pixels) ou ilegível.

Gráficos Vetoriais:

Dessa forma, as informações da imagem como cor e dimensões são representadas por geometrias simples, como pontos, linhas, curvas e polígonos, que são baseadas em equações matemáticas. A imagem pode então, ser vista como um conjunto de pontos exatamente relacionados uns com os outros (é como posicionar a imagem em cima de um plano cartesiano), de modo que se torna possível redimensionar a imagem sem que ela se altere.

Principais Áreas no ramo da Computação Gráfica

Modelagem:

É a tradução de objetos do mundo real (seu tamanho, forma e propriedades) em equações matemáticas que podem ser entendidas e armazenadas pelo computador. É tornar capaz de não apenas visualizar imagens no computador, mas também conseguir mostrar sua estrutura e comportamento. Há três tipos principais de modelagem 3D:

Renderização:

É o processo de, através de um software, gerar uma imagem através de uma base 3D com dados quando à geometria da imagem, ponto de vista, textura, luz, reflexos, neblina, profundidade etc. O programa vai então pegar esses dados, interpretar e aplicar na base, gerando uma imagem resultante mais detalhada e com mais contraste. Há algumas técnicas principais de renderização:

Animação:

Através de modelagem e renderização, levando em consideração o tempo como um elemento chave, cria-se a ilusão de movimento através de uma sequência de imagens. É o famoso CGI (computer-generated imagery). Em animações 3D, os objetos vão ser compostos de sua modelagem (a superfície) e de um esqueleto interno, o qual é animado (frequentemente utilizado em objetos humanos, animais etc). Tal técnica deixa a animação mais intuitiva e faz com que os movimentos sejam condizentes com a realidade, e não algo deformando e misturado.

Interação com o Usuário:

A computação gráfica está fortemente relacionada com as entradas disponibilizadas pelo usuário, em que muitas vezes é necessário dar um grande controle a ele. Ela também está presente como intermediária entre o dispositivo e o ser humano, servindo de ponte para a melhor compreensão, como em Interfaces Gráficas do Usuário.

Realidade Virtual:

É um tipo especial de interface gráfica do usuário, em que se procura gerar um ambiente tridimensional imersivo, interativo e manipulável, devendo ser capaz de receber e interpretar todas as ações/entradas fornecidas pelo indivíduo.

Processamento de Imagem:

Muitas vezes considerada uma área à parte da computação gráfica, é o método utilizado para executar algumas operações em uma imagem já existente para melhorá-la ou extrair alguma informação útil. No processamento de imagens se realiza com as imagens: a descrição, armazenamento, transformação, filtragem, melhoramento, reconhecimento de padrões, detecção de borda e reconstrução de objetos, entre outros.

Na prática

A computação gráfica começa com o Paradigma dos 4 universos, os quais são:

Na implementação será usado uma linguagem de programação juntamente com uma API.

API

Application Programming Interface (Interface de programação de aplicações) tem a função de se comunicar com o hardware para criar elementos visuais, desde uma janela que explora arquivos até jogos 3D. Através da linguagem de programação a API vai receber os comandos, fazer o processamento e renderizar na tela. Alguns exemplos de API são OpenGL, DirectX e Windows API. Entre as 3 citadas, o OpenGL roda em outros sistemas operacionais além do Windows, então será brevemente comentado seu funcionamento.

OpenGL

Open Graphics Library, é uma API versátil e rápida, muito utilizada para criação de Game Engines (mesmo com o DirectX sendo o principal atualmente, o qual é limitado ao Windows), através do OpenGL o programador vai decidir o funcionamento das luzes e sombras, forma de renderização, cores, perspectiva e diversos outros fatores envolvendo o que e como vai aparecer na tela. O OpenGL é específico para cada GPU, por isso há diversas bibliotecas que ajudam em tarefas básicas porém trabalhosas se criadas do zero, como freeGLUT, GLFW e Ecere SDK que usam o OpenGL para implementação de janelas e o GLEW que permite usar o OpenGL de forma mais ampla, tornando o programa multi-plataforma.


Triângulo feito em OpenGL, simples mas com muitos conceitos por trás. É o Hello World da Computação Gráfica :)

Aplicações

Educação

A computação gráfica está sendo capaz de revolucionar o modo em que se aprende e que se treina novos profissionais, sendo capaz de fornecer simulações realistas, testando as habilidades dos futuros profissionais com um custo reduzido e em um ambiente controlado. Um exemplo disso são os simuladores de voo para futuros pilotos, dando-os uma oportunidade de testar os controles sem ter que gastar combustível e arriscar um possível acidente; e simuladores da anatomia humana, diminuindo a necessidade de se dissecar animais ou de se observar cadáveres.
Na educação em geral, o uso de gráficos ajuda a contextualizar o que está sendo aprendido, deixando conceitos como átomos, microrganismos ou leis da física menos abstratos, sendo possível de modelá-los ou animá-los para serem observáveis.

Suporte a outras Indústrias

A disponibilidade de se criar modelos 3D auxilia as mais diversas indústrias, sendo mais fácil de se criar protótipos e de observar suas propriedades e comportamentos através de diferentes softwares. Muitos designs que antigamente tinham que ser feitos no papel, seja em ramos automobilísticos, no design de produtos, na arquitetura etc., o que dificultava a visualização e era difícil de se corrigir erros. Com a tecnologia, o desenvolvimento e possíveis correções são mais fáceis de serem realizados, agilizando diversos processor.

Entretenimento

É inegável dizer que nos últimos anos a computação gráfica se tornou uma grande protagonista da Indústria do entretenimento, seja para filmes ou vídeo games. O uso da computação permite a criação de novos universos, elevando a capacidade criativa de diretores e roteiristas, expandindo infinitamente o que se é possível ver num filme, além de tornar algumas cenas muito mais seguras de serem realizadas, uma vez que podem ser reproduzidas por computador, sem colocar em risco a vida de ninguém.
Todos os últimos blockbuster de Hollywood utilizam de algum tipo de CGI ou efeito visual e a qualidade desses, muitas vezes, vai indicar a própria qualidade do filme. Quanto melhor a computação gráfica, especialmente nos jogos, mais imersiva, realista e prazerosa se torna a experiência

Medicina

O uso de computação gráfica na área médica não é algo recente, havendo visualizações tridimensionais de tomografias desde o fim dos anos 70. A tecnologia, no entanto, só vem evoluindo, permitindo a expansão de seu uso para outras áreas da medicina, com destaque para diagnósticos, já que o seu uso permite uma visualização detalhada, manipulável e menos invasiva ao paciente, dando mais recursos para o médico identificar o problema (em alguns casos já existe até softwares que identificam padrões e diagnosticam doenças a partir de imagens) e pensar em uma solução.
Outra área altamente beneficiada é a das cirurgias, já que, principalmente nas cirurgias plásticas, a mudança ou reconstrução pode ser simulada, dando tanto ao médico quanto ao paciente uma noção do resultado; em outras cirurgias, o processo pode ser simulado, de modo a achar alguma melhoria de execução ou outra alternativa.

Referências

- https://www.youtube.com/watch?v=6STSHbdXQWI
- https://pt.wikipedia.org/wiki/OpenGL
- https://nicolbolas.github.io/oldtut/Building%20the%20Tutorials.html
- https://www.cpet.com.br/conheca-a-historia-da-computacao-grafica
- https://blog.ecdd.com.br/guia-o-que-e-computacao-grafica/#:~:text=A%20HIST%C3%93RIA%20DA%20COMPUTA%C3%87%C3%83O%20GR%C3%81FICA&text=Tudo%20come%C3%A7ou%20em%201951%2C%20quando,em%20monitores%20ou%20televisores%20comuns.
- https://www.geeksforgeeks.org/applications-of-computer-graphics/#:~:text=Entertainment%3A,television%20shows%2C%20cartoon%20animation%20films.
- https://all3dp.com/2/types-of-3d-modeling/#:~:text=Within%20CAD%2C%20there%20are%20three,specialized%20for%20their%20specific%20purposes.
- http://www.d54x.ru/books62/2005Shirley.pdf