Pular para o conteúdo principal

Computação Gráfica: Fundamentos básicos




Introdução à Computação Gráfica

Para aqueles que estão começando agora em computação gráfica, faz-se necessário entender a importância dessa área e de sua abrangência no mercado de trabalho.
Vamos conhecer um pouco do histórico desse ramo de atividade e a importância da computação gráfica.

Definição


A computação gráfica é uma forma de reprodução de imagens por meio computacionais. Desmembrando a expressão:

Computação: forma de compreensão de dados de computadores que interpretam algoritmos.
Gráfico: forma visual de expressão.

Desde que os sistemas computacionais viraram realidade, a possibilidade de criar elementos visuais tem sido considerada, e os resultados têm sido satisfatórios, como vemos na evolução desse meio.

Breve histórico


Os primeiros estudos sobre computação gráfica datam ainda dos anos 1950, quando as primeiras incursões aconteceram com intuito de criar uma interface gráfica para os computadores da época.

Estudos mostram que provavelmente o primeiro computador com interface gráfica foi o Whirlwind I, desenvolvido pelo Massachusetts Institute Technology (MIT) em conjunto com as Forças Armadas dos Estados Unidos.

Para visualizar essa interface, era utilizado um monitor de raios catódicos (CTR), que, na época, era uma tecnologia ainda muito recente.

Cientistas de todo mundo perceberam a importância de trabalhar com esse tipo de interface e passaram a desenvolver programas para facilitar o processo de fabricação em várias indústrias. Foi assim principalmente com a arquitetura e o design automobilístico que, já na década de 1960, faziam uso de desenhos CAD para construção de seus projetos.

Ao longo dos anos, diversas outras indústrias passaram a trabalhar com recursos de computação gráfica. O cinema teve suas incursões mais evidentes na década de 1970 com a franquia e filmes de George Lucas, Star Wars.

Já na década de 1980, empresas de animação passaram a investir no desenvolvimento de ferramentas para criação de animações digitais em três dimensões. Uma das empresas a se destacar foi a Pixar, que tinha como um de seus sócios Steve Jobs, na época, recém-saído da Apple.

Naquele momento, as ferramentas para designers gráficos permitiram um avanço incrível, pois muitos trabalhos, antes feitos de forma analógica, puderam então, ser criados de forma digital. O Photoshop, por exemplo, software de tratamento de imagens, começou a ser desenvolvido por Thomas Knoll no final dos anos 1980. Sua primeira versão comercial foi lançada em 1990 e trouxe possibilidades que, até então, não tinham sido encontradas para trabalhos de tratamento de imagens.
John Knoll auxiliou o irmão Thomas na criação da primeira versão do Photoshop e foi um dos grandes responsáveis pelo desenvolvimento dos efeitos especiais de cinema trabalhando, por muitos anos, na ILM, empresa de efeitos visuais. Até hoje atua como supervisor de efeitos visuais em diversos filmes de sucesso como Avatar, Pacific Rim, além da última trilogia de Star Wars, dentre outros.

Também em 1990 foi lançado no mercado um dos primeiros softwares de modelagem e animação 3D, o 3D Studio, atualmente chamado de 3D Max.

Já o Illustrator, ferramenta de criação de imagens vetoriais foi criado em 1986 e distribuído em 1987 com o intuito de trabalhar com o formato exclusivo da Adobe, o PostScript. Veja, na Figura 1.2, como era a tela de abertura da primeira versão dessa ferramenta.

Ao longo da década de 1990, muitas empresas surgiram com softwares que apresentavam recursos cada vez mais aprimorados. Esse período foi decisivo para os profissionais já estabelecidos no mercado, pois muitos deles migraram para os meios digitais.

Ferramentas de pós-produção, animação 3D, design gráfico, desenho de produtos, entre outras, são hoje uma realidade. Até mesmo áreas como Medicina utilizam a computação gráfica para simular o desenho de algum órgão para estudos ou diagnósticos médicos.

Mercado


O mercado de trabalho que faz uso das capacidades da computação gráfica é muito abrangente. Profissionais que utilizam esse tipo de recurso se encontram nos nichos de design gráfico, design de produtos, animação, efeitos especiais e pós-produção, web design, arquitetura, desenvolvimento de interfaces de aplicativos e softwares, entre outros.

Dessa forma, é importante saber que computação gráfica não se limita a um nicho, mas constitui uma área maior que alcança diversos mercados mais específicos.

Para tanto, os programas para cada uma dessas áreas são desenvolvidos de forma a suprir as respectivas necessidades, trazendo ferramentas que serão mais importantes para que esse tipo de trabalho seja concluído.

Hoje é possível encontrar softwares em diversas áreas, como tratamento de imagens, ilustração vetorial, pintura digital, animação 3D e assim por diante.

O profissional de computação gráfica pode ter conhecimentos generalistas, o que lhe permite atuar em vários mercados, ou pode ser um especialista, alcançando nível de expertise em determinada função.

Um exemplo acontece na área de 3D, que apresenta diversas subdivisões. Em grandes produções, há profissionais divididos nas funções de modelagem, animação, texturização, iluminação e outras. O nível de especialização pode ser tão grande que, em determinados projetos, há equipe para cuidar apenas da criação e animação de pelos dos personagens.

No Brasil, as áreas que mais fazem uso da computação gráfica estão relacionadas à publicidade. Agências e produtoras que prestam serviços para agências ainda são os locais que mais requisitam esses profissionais. Além, é claro da área editorial, que tem uma demanda de trabalho bastante grande.

Nos Estados Unidos, Canadá e até mesmo em países da Europa, o ramo de entretenimento, cinema e vídeo é muito grande e emprega muitas pessoas. Estamos falando aqui de profissionais que atuam no desenvolvimento de games e cinema, áreas nas quais teremos profissionais de arte conceitual, produção e pós-produção envolvidos e fazendo uso da computação gráfica.

Essa atividade ainda caminha a passos curtos nos Brasil, mas tem melhorado significativamente à medida que alguns projetos têm aparecido e se destacado graças às suas qualidades.

Conceitos


O processamento de imagens digitais é parte fundamental do processo de criação. Existem essencialmente dois tipos de imagem digital: o bitmap e o vetor.

No bitmap, a imagem é formada por dados (bits) que dão origem aos pixels (elementos da imagem). Esse tipo de imagem é formado por pontos quadrados ou retangulares que, em conjunto, formam aquilo, que vemos na tela. Quanto mais pontos, mais definição e, consequentemente, melhor a qualidade da imagem.

É possível imaginar a distribuição desses pontos em uma grade, como a da imagem abaixo:





O preenchimento desses pontos resulta na formação da imagem mostrada abaixo:



 


A quantidade de pixels que formam a imagem lhe confere um aspecto mais ou menos grosseiro.

Para web, o padrão da quantidade de pixels é de 72 ppi (pixels por polegada). Para material impresso, é comum o uso de resoluções a partir de 300 dpi (pontos por polegada), mas isso pode variar de acordo com o tipo de impressão, substrato e diversos outros fatores de impressão.

O vetor, de forma resumida, é um cálculo matemático que determina uma trajetória. 
 
Ao trabalhar com vetores, utilizaremos a escrita de coordenadas para determinar posicionamento, tamanho e forma de nosso objeto. Não é preciso escrever literalmente essas coordenadas, pois os softwares de ilustração vetorial têm por objetivo mostrar uma interface gráfica. Eles mesmos fazem esse trabalho.

No vetor, o objeto não é criado com preenchimento de quadrados ou retângulos, como nos bitmaps. Assim, ele apresenta o aspecto mostrado na figura abaixo:



Repare que a definição do vetor é maior do que a do bitmap, pois ela não fica limitada à grade de pixels.

Além disso, é possível alterar o tamanho dos objetos vetoriais sem que estes percam sua definição. Isso acontece porque sempre que os objetos têm seu posicionamento ou tamanho alterado, o software se encarrega de refazer os cálculos desse vetor.

Imagens 3D também são imagens vetoriais, enquanto elementos que ainda estão sendo criados dentro do software 3D e que não foram exportados. A grande diferença de um software 3D, em relação a um software que trabalha em apenas duas dimensões, é a compreensão de uma terceira dimensão.

Exemplos de softwares vetoriais: Illustrator, Corel Draw e 3DS Max.

A área de computação gráfica tem relação direta com as ciências de processamentos de dados e reconhecimento de padrões, pois é a partir dessa relação que a computação gráfica se desenvolve. 

Veja o esquema apresentado abaixo:

Conhecer o trabalho de grandes artistas e equipes de efeitos visuais em computação gráfica é sempre importante para o desenvolvimento do iniciante.

Procure referências de empresas como Pixar, Dreamworks, ILM e outras que possuam lhe inspirar e mostrar um pouco do que um profissional de computação gráfica pode alcançar.

Veja a seguir, a sugestão de alguns links:

Primitivas Básicas


Vamos conhecer as formas básicas que consistem em elementos gráficos mais simples que podem ser criados dentro de uma aplicação. Por meio delas, podemos construir ambientes visuais com elementos de funções diversas, como menus, barras, marcadores, entre outros. Dentro de ambientes 3D, as primitivas básicas podem ser a base para a construção de cenários, personagens e demais objetos.

Formas geométricas 2D


Podemos citar, dentre as primitivas básicas, as seguintes opções:

Ponto: é, como se observa na figura abaixo, o elemento mais simples a ser criado em qualquer interface gráfica. O ponto pode ter sua cor e tamanho alterados, mas nada muito além disso.

Linha: segmento criado entre dois pontos. Compreendido como uma sequência de pontos, a linha poderá ter sua espessura, estilo, cor e comprimento alterados, como se observa na figura abaixo.

Polilinha: elemento composto por diversos segmentos de linhas abertas, conforme mostra a figura abaixo.

Polígono: elemento fechado, cujos diferentes lados são constituídos por diversas linhas. Veja alguns exemplos na figura abaixo.

Elipse: elemento circular, que pode ser um círculo perfeito ou um circulo achatado, conforme observamos abaixo.

Arco: segmento de uma elipse que, por sua vez, estará aberta, como se vê na figura abaixo.

É possível encontrar essas formas em softwares de computação gráfica, como as formas geométricas encontradas no Adobe Illustrator e outros softwares.

Primitivas 3D


Quando trabalhamos com imagens digitais, em certas ocasiões será necessário simular o efeito plano ou ambiente 3D.

A simulação desse tipo de efeito não deverá, necessariamente, ser criada em softwares 3D; porém, estes irão facilitar o trabalho, pois possuem ferramentas específicas para simulação de objetos que trabalham nos eixos X, Y e Z.

Vejamos os objetos 3D mais comuns:
Cubo: elemento construído com seis faces quadradas, pode ser considerado o elemento 3D mais básico. Está representado na figura abaixo:


Cubo Cinza-Claro
 









Esfera: elemento com raios circulares repetidos em todos os ângulos a partir de seu ponto central.

Cilindro: objeto composto por uma série de círculos sobrepostos ou “empilhados”. Esse elemento também pode servir como base para diversos outros objetos.

Cone: elemento com base similar ao cilindro, mas que, apresenta uma das extremidades com o diâmetro igual a zero, formando uma ponta.

Tubo: em linhas gerais, é um cilindro que apresenta uma área aberta em sua parte central, o que é evidente.
Vale ressaltar que, na maioria dos casos, esse tipo de elemento se constitui por conta do volume aplicado em sua superfície, o que faz com que tenhamos uma percepção de três dimensões do objeto. 
Porém, é importante entender que isso é apenas uma simulação de 3D, e não um efeito real de três dimensões.

Os painéis de softwares de animação 3D contêm essas diversas formas geométricas, além de outras que não foram citadas aqui. O 3DS Max é um exemplo disso, pois é formado por um painel de criação de primitivas 3D.

Quando criamos esses objetos, consideramos os três planos do ambiente para compô-los.
Um objeto que não tem projeção no eixo Z pode também ser criado em um ambiente 3D.
É importante entender que, além dos objetos, teremos esse ambiente em três dimensões, pois em ocasiões nas quais criamos elementos baseados em algumas linguagens de programação, ou a partir da escrita de alguma biblioteca gráfica, os elementos gráficos serão criados a partir de coordenadas, assim acontece com o OpenGL.

glBegin(GL_LINES_STRIP)
glVertex2f (-100,100,100);
glVertex3s (-50,50,0);
glVertex3s (0,50,50);
glEnd();

Nesse caso, temos uma polilinha criada com as coordenadas indicadas no código acima (o código não considera o pontilhado da polilinha) em um ambiente que tem 100x100x100 (largura, altura e profundidade).

Comentários

Postagens mais visitadas deste blog

As 7 principais linguagens de programação usadas em desenvolvimento mobile

A multiplicidade de linguagens para a criação de softwares e aplicativos é gigantesca. Inserido nesse universo recheado de idiomas, digno de séries e filmes cultuados como “Star Trek” e “Star Wars”, o programador deve escolher precisamente a opção mais adequada ao objetivo final.
Não somos tão sábios quanto Mestre Yoda e Spock, mas vamos te dar uma força e explicar quais as linguagens de programação mais usadas em desenvolvimento mobile. Siga-nos nessa jornada!
Java Adquirida pela Oracle, é a linguagem mais utilizada por programadores ao redor do mundo. Orientado a objetos, o Java é compilado e flexível, podendo ser executada tanto numa janela de navegador quanto em aparelhos sem browser.
Outra grande vantagem da linguagem Java é a capacidade multiplataforma, cujo código é executado com especial sucesso em sistemas Android e Windows. Ainda assim, quando fala-se em desenvolvimento mobile no Brasil, com a salada mista de SO nos smartphones e tablets, dependendo dos seus …

Fazendo jogos e aplicativos com Unity 3D

Uma das principais dúvidas de quem está iniciando no mundo do desenvolvimento de jogos digitais é a de quais softwares utilizar. Em especial, muitas pessoas têm dificuldade em decidir qual game engine(ou, em português, motor de jogo) aprender para dar inicio ao desenvolvimento dos próprios jogos.

Mas o que é uma game engine?

A game engine é o programa de computador utilizado na confecção dos jogos digitais. É na game engine que a programação do jogo é feita, unindo arquivos de áudio, imagens e modelos 3D para criar os diversos cenários e ambientes do jogo.

Uma game engine possui diversas bibliotecas de scripts já embutidas, que facilitam o desenvolvimento de um jogo. Por exemplo, a maioria das game engines já vem com scripts para cuidar da renderização dos gráficos (motor gráfico) e da física básica envolvida no jogo (motor de Física). Isso quer dizer que é possível criar, por exemplo, uma esfera no editor da game engine e, com apenas alguns cliques, configurar aquele objeto 3D…