image

Acesse bootcamps ilimitados e +650 cursos

50
%OFF
Article image
Fernando Araujo
Fernando Araujo16/04/2023 17:04
Compartilhe

Computação Gráfica 1: a história e o que eu vivenciei

  • #Inovação

Olá, dev!

    Eu costumo escrever artigos para a DIO, contando as minhas experiências como programador dinossauro ou explicando assuntos técnicos aos devs iniciantes, como algoritmos, resolução de desafios de código e outros.

   

Eu decidi escrever um artigo sobre um tema fascinante, a Computação Gráfica! Hoje, todos já tiveram acesso às imagens geradas por ela, como nas interfaces gráficas 2D dos sistemas operacionais, ou, em versão 3D, nos jogos, efeitos visuais do cinema, Realidade Virtual, Realidade Aumentada, etc.

   Só que, desta vez, eu vou inovar”! Além de escrever este artigo sobre Computação Gráfica, eu vou escrever outro em paralelo com este, descrevendo o meu processo de criação deste artigo aqui.

   Portanto, assim que publicar este artigo, também vou publicar o outro, pois um falará do outro.

O que você vai ler aqui:

1.   Introdução

2.   O surgimento da Computação Gráfica

3.   Como eu me interessei nesta área

4.   Conclusão

5.   Fontes de consulta

6.   Outros artigos sobre o mesmo assunto

1 – Introdução

Eu costumo escrever artigos para a DIO, contando as minhas experiências como programador dinossauro (pois aprendi a programar em 1980, com a linguagem FORTRAN e perfurando cartões), falo também da importância do inglês na minha vida (e na de todo dev) e já escrevi explicando assuntos aos devs iniciantes, como algoritmos (no nível Massinha 1), ou detalhando a resolução de desafios de código.

   Desta vez, pensei em escrever sobre um tema que eu sou fascinado e que achei interessante compartilhar com vocês: a Computação Gráfica! Desde o início da minha carreira, eu sempre gostei do tema e procurei estar sempre atento, acompanhando sua evolução. Até cursei disciplinas na universidade e acompanhei os avanços em simpósios nacionais sobre o assunto. Hoje, a Computação Gráfica está presente em muita coisa do nosso cotidiano, como nos efeitos visuais do cinema, na medicina, jogos, Robótica, Realidade Virtual, Realidade Aumentada, no Metaverso, nos veículos autônomos, engenharia civil etc.

2 – O surgimento da Computação Gráfica

Vou começar com uma polêmica! eu sei que aqui na DIO tem usuários com experiência no ensino de inglês, ou que têm experiência de morar em países da língua inglesa, portanto, vou tratar do termo Computação Gráfica. No meu limitado conhecimento de inglês, eu aprendi que, nesse idioma, o adjetivo vem antes do substantivo, portanto, o termo original “Computer Graphics” não deveria ter sido traduzido para Computação Gráfica, pois o adjetivo é “Computer” e o substantivo “Graphics”. Na minha opinião, este termo deveria ter sido traduzido como “Gráficos Computacionais, ou coisa parecida.

No Brasil, até criaram termos esquisitos como Compugrafia (na minha opinião, errado também!) e Gráficos por Computador, mais próximo do que eu acho o termo correto, mas não vingaram. Com a palavra, os especialistas em inglês!

Já a sigla CGI (“Computer Graphic Imagery”), ou imagens gráficas geradas por computador, mais conhecido por Computação Gráfica, surgiu na empresa Boeing, na década de 1960, em aplicações de projetos 3D de ergonomia das cabines de aviões [2].

Depois disso, a Computação Gráfica passou a ser usada no cinema, na tv e na publicidade, nunca mais parando de evoluir até se popularizar na década de 1970. Resumindo, CGI é todo efeito visual ou animação que se vê nas produções atuais.

Computação Gráfica é apresentação visual de modelos geométricos de objetos (cenas) reais em telas de computador, bidimensionais (2D) ou tridimensionais (3D). A figura abaixo mostra as diferentes áreas relacionadas ao processamento de dados e de imagens:

image

Um vídeo do Youtube com uma aula sobre a história da Computação Gráfica [1] foi usado como fonte de consulta para os próximos 5 parágrafos desse texto.

Nos anos 50, já havia iniciativas que podem ser consideradas como precursoras da Computação Gráfica, após a construção das primeiras telas que podiam apresentar linhas geométricas, os tubos de raios catódicos (“Cathode Ray Tubes” – CRT), ou tubos de imagem, que equipariam os primeiros aparelhos de televisão.

Os primeiros equipamentos que usaram os CRTs foram os osciloscópios (ver figura abaixo), aparelhos de instrumentação eletrônica que permitiam visualizar formas de onda de sinais analógicos, e as telas de radar, que visualizavam a localização de alvos inimigos nos tempos de guerra. Como sempre, os recursos para aplicações militares criavam ferramentas tecnológicas que depois seriam aproveitadas no cotidiano.

image

A primeira aplicação de destaque que pode ser considerada precursora da Computação Gráfica, em 1963, foi a tese de Doutorado de Ivan Sutherland, no MIT (“Massachusetts Institute of Tecnology”), quando ele criou o sistema Sketchpad [1]

Ele era uma espécie de editor de símbolos poligonais 2D, que poderiam ser copiados, escalados, movidos e apagados, em tempo real, usados em uma aplicação como editor de símbolos de circuitos eletrônicos, por exemplo. O Sketchpad (visto na figura abaixo) usava uma tela CRT com uma caneta ótica (“lightpen”) para apontar os elementos gráficos dos desenhos. Ivan Sutherland é considerado o pai da Computação Gráfica.

image

O passo relevante seguinte foi a contratação dele e de David Evans como professores da Universidade de Utah, onde foi criado um curso de Ciências da Computação. Alguns alunos deles se destacaram e criaram empresas, técnicas e aplicações de Computação Gráfica que são utilizadas até hoje, como:

•   James Clark, que fundou a Silicon Graphics e a Netscape;

•   Henri Gouraud, que criou o método Gouraud de sombreamento (“shading”);

•   Bui Tuong Phong, que criou o método Phong de sombreamento;

•   James Blinn, (ou Jim Blinn) que criou o método de “Bump Mapping”, método de mapeamento de textura que permite aplicar diferenças visuais de rugosidade aos objetos apresentados. Ele trabalhou na Nasa, no JPL (“Jet Propulsion Lab”) e criava os vídeos das viagens espaciais das naves lançadas pelo órgão;

•   John Warnock, que criou os formatos Postscript e PDF, além de ser fundador da empresa Adobe, que nos deu o Photoshop e o Premiere;

•   Edwin Catmul, aluno mais destacado de Ivan e Evans, ele criou a técnica de Mapeamento de textura (“Texture Mapping”) e o sistema “Renderman”, quando estava na Pixar, e é usado pela empresa até hoje para criar suas animações. Ele ainda foi Vice-presidente da "Industrial Light & Magic", da "Lucas Films" e Presidente da Disney e Pixar, até 2018.

Em 1972, Catmull fez um vídeo mostrando um modelo digital de uma mão se movendo na tela, considerada a primeira animação 3D por computador da história. A figura abaixo mostra uma imagem dessa mão em “wireframe” e após a aplicação de sombreamento.

image

Recentemente, eu li o livro Criatividade S.A. (ver figura) em que o próprio Catmull conta a sua história como Presidente da Pixar, bem como os processos de criação e produção das animações da empresa.

image

Fora do cinema e da pesquisa acadêmica, as primeiras aparições da Computação Gráfica para nós, usuários de computadores, foram as interfaces gráficas de janelas do Windows, bidimensionais, com ícones e elementos de interação, como botões (simulando efeito 3D), depois os programas de desenhos simples 2D (como o Paint).

Os jogos eletrônicos já mostravam gráficos 2D interativos e até universos com representações 3D disfarçadas (2,5 D) com imagens não tão realistas assim.

Fora da área de jogos, de programas de uso profissional, chegamos aos programas de edição de imagem sofisticados como o Photoshop e Coreldraw, além do famoso Autocad, que permitia o desenho profissional de objetos 2D e 3D, como plantas-baixas de construções, peças mecânicas 3D, carros e outros objetos complexos.

Daí para os programas de criação de jogos (como Unity e Unreal) e de modelagem 3D realistas (como Unity, 3DS MAX, Maya e Blender) foi um passo. 

Mas nem sempre foi assim, pois no início não havia hardware, software, telas gráficas, periféricos gráficos que permitissem seu surgimento.

Eu aprendi a programar em 1980, com a linguagem FORTRAN e perfurando cartões em um mainframe IBM, que nem terminal de texto tinha. Mas já havia uma maneira de fazer arte com o computador, mesmo com saída não gráfica, apenas com texto impresso.

Isso era feito com a impressão de sequências de caracteres mais abertos (como o espaço em branco), para os tons mais claros, e mais fechados (como o asterisco), para as cores mais escuras, como mostra a figura abaixo.

image

3 – Como eu me interessei pela área

No meu tempo de colégio, no 2º Grau (atual Ensino Médio), de 1977 a 1979, eu e meus colegas de classe costumávamos sair da aula e ir jogar autorama (aquele jogo de carrinhos de corrida eletrônicos em uma pista que simulava um circuito) na loja ao lado.

Em 1979, abriu uma loja de fliperama com jogos eletrônicos perto do colégio. Nós trocamos o autorama pelos jogos dessa loja, e logo eu me viciei em jogar o Space Invaders”, jogo de tiro com naves espaciais que virou febre naquela época (ver figura).

image

Foi a minha primeira experiência com games e com a Computação Gráfica, mesmo sem saber que já era disso que se tratava, nem conhecia o termo.

Depois disso, um vizinho ganhou um console de jogo e a gente costumava jogar o jogo Pong, que era uma versão de ping-pong (tênis de mesa), com dois retângulos como raquetes e uma bola quadrada que se movia de um lado para outro, e que usava a tela da tv como display (ver figura), bem minimalista.

image

Aí, em 1980, eu entrei no curso de Engenharia Elétrica e aprendi a programar, logo no início do curso, com a linguagem FORTRAN e perfurando cartões. Não havia telas gráficas nem terminais disponíveis para os alunos, só a impressora textual, que listava os códigos dos programas. Mesmo assim, a gente criava arte no computador, fazendo programas que imprimiam figuras usando caracteres imprimíveis como letras, algarismos e símbolos. A impressão era só de caracteres imprimíveis em papel de formulário contínuo, que permitia a impressão de 132 caracteres por linha e suportava 33 linhas. Era o mais próximo da Computação Gráfica que a gente tinha acesso. Hoje este tipo de arte é chamado de “ASCII Art” (ASCII – “American Standard Code for Information Interchange”) (ver figura).

image

Quando eu estava concluindo a minha graduação, os professores da universidade receberam os seus primeiros PCs IBM 486, já com telas gráficas, mas pouquíssimas cores (4 cores ou 64 níveis de cinza), sem acesso aos alunos. Anos depois, eu comprei o meu primeiro PC, um IBM 486 DX2 e aí passei a programar em Turbo C.

Após me graduar em Engenharia Elétrica, eu fui selecionado para participar da primeira Escola Brasileiro-argentina de Informática (EBAI), em 1986, em Campinas-SP, realizada durante o Carnaval daquele ano. Era uma espécie de escola de verão, para 500 brasileiros e 500 argentinos, ocorrendo anualmente, no Brasil ou na Argentina, oferecendo cursos avançados de tecnologia. Naquele ano, eu cursei Computação Gráfica, com o conhecido professor Léo Pini, da Unicamp, e PAC (Projeto Auxiliado por Computador). O curso de Computação Gráfica que eu fiz foi básico e muito geral, mas foi muito motivador para mim. No ano seguinte, a II EBAI ocorreu em Tandil, na Argentina, e eu também participei e fiz cursos de Robótica.

Quando retornei da EBAI, cursei a disciplina de Computação Gráfica, na UFPB, e fiz vários projetos na área, trabalhando principalmente com a modelagem e display de superfícies curvas. Como não havia nenhum computador na UFPB com boa capacidade gráfica (nem de resolução nem de quantidade de cores), eu implementei meus códigos na linguagem C, em um computador de um laboratório de outro departamento, só para aproveitar a resolução (512 x 512 pixels, 16 milhões de cores) da unidade de imagem, só que ele não tinha nenhum pacote gráfico. Assim, eu precisei criar TODAS as funções gráficas necessárias para a visualização realista de um modelo 3D, a partir de duas funções disponíveis naquele ambiente gráfico:

1.   ler o valor RGB da cor de um pixel na posição (x, y) da tela;

2.   pintar um pixel na posição (x, y) da tela com uma cor de valor RGB.

Após essa iniciação formal na área, eu passei a participar, presencialmente, de alguns eventos ligados à Computação Gráfica, como o SIBGRAPI (Simpósio Brasileiro de Computação Gráfica e Processamento de Imagens), tendo ido em 4 oportunidades.

Neste simpósio, eu assisti aos primeiros curtas de animação da Pixar, André & Wally B. e “Luxo Jr.”, que depois foi indicado ao Oscar de melhor curta de animação, em 1986, e ao curta “Tin Toy”, também da Pixar, que ganhou o Oscar de melhor curta de animação em 1989. Outros dois curtas de animação da Pixar também ganharam o Oscar: “Geri’s Game” e “For the Birds”. Outros 7 curtas também foram indicados, mas não ganharam. A história da Pixar é tão relevante que merece um artigo só dela, mas fica para o próximo artigo.

Nos simpósios, eu também via, em primeira mão, os avanços da Computação Gráfica também na publicidade, com logotipos de diversas empresas em formato 3D, com brilhos e transparências, se movendo e girando em caminhos impossíveis na vida real. Além disso, assisti a vídeos mostrando como eram criados os efeitos especiais impressionantes de Computação Gráfica de filmes que ainda seriam lançados na época, como O Exterminador do Futuro 2 (de 1991) e outros.

Da época da minha pós-graduação, eu ainda guardo alguns livros e revistas que usei para estudar e fazer projetos (ver figura abaixo). Eu não trabalho mais com isso, mas acho que é vontade (ou premonição?) de voltar a trabalhar com Computação Gráfica.

Quem sabe, não é? Como eu sou muito fã dessa área visual e de Robótica, um caminho pode ser trabalhar com visão computacional ou mesmo com veículos autônomos! Estudando Ciência de Dados, Machine Learning e IOT aqui na DIO eu estou em um bom caminho para chegar lá!

image

4 - Conclusão

Eu decidi escrever um artigo sobre Computação Gráfica, área que acho fascinante.

Ela está presente em quase toda aplicação interativa que dependa da visualização gráfica, como nas interfaces gráficas (2D) dos sistemas operacionais e, em 3D, nos jogos, efeitos visuais do cinema, Realidade Virtual, Realidade Aumentada, no Metaverso, Medicina, Engenharia Civil etc.

   Só que, desta vez, eu vou inovei”, pois além de escrever este artigo sobre Computação Gráfica, eu escrevi outro em paralelo com este, descrevendo o meu processo de criação deste artigo aqui.

   Portanto, estes dois artigos serão publicados em conjunto, pois aquele tratará deste.

Já existem muitos livros e referências sobre o assunto, portanto, o meu objetivo neste artigo é mostrar a história da Computação Gráfica e suas aplicações ao longo dos anos, pelo meu ponto de vista, ou seja, como eu vivenciei e acompanhei tudo isso na minha carreira.

Quem é acostumado a jogar os jogos digitais atuais, sabe da importância dela para dar a impressão de realismo nesses jogos.

Eu acho a Computação Gráfica a forma de arte mais impressionante feita com o computador e eu tive o privilégio de conhecer tudo isso, bem como estudar a fundo, durante a minha carreira acadêmica. Além disso, eu acompanhei a sua evolução nos filmes de Hollywood e nas animações da Pixar e de outras empresas.

Atualmente, as imagens obtidas por Computação Gráfica ainda me fascinam e eu acho (ou gostaria) de trabalhar com essa área de alguma forma no futuro.

Este artigo estava ficando tão longo que eu decidi dividi-lo em 2 artigos individuais, mas tratando do tema Computação Gráfica. Depois, ainda dividi em mais um, resultando em 3 artigos. Um segundo artigo tratará apenas da evolução da Computação Gráfica em diversas áreas (jogos, cinema, medicina, metaverso e BIM), já o terceiro tratará apenas de técnicas básicas de Computação Gráfica para modelar cenas 3D e gerar as imagens realistas na tela do computador.

Obrigado por ler até aqui, até o próximo artigo!

5 – Fontes de consulta

Segue a lista de fontes de consulta realmente indicadas no texto deste artigo, ou seja, as referências.

[1] Judson Santiago, Aula 00 - Introdução | Origem, Influências, História e Aplicações | Computação Gráfica. Disponível em:

<https://www.youtube.com/watch?v=yKB_VQog0rU>.

Acesso em: 12/04/2023.

[2] EBAC, CGI: os efeitos visuais no universo cinematográfico. Disponível em: <https://ebaconline.com.br/blog/cgi-efeitos-visuais-no-cinema>. Acesso em: 12/04/2023.

6 – Outros artigos sobre o mesmo assunto

O primeiro artigo listado, o qual eu recomendo a leitura, foi escrito em paralelo com este e descreve todo o processo de criação deste artigo que você lê agora. Ele foi publicado juntamente com este artigo.

O texto deste artigo que você lê foi dividido em 3 artigos diferentes. O segundo artigo trata apenas de técnicas básicas de Computação Gráfica para modelar cenas 3D e gerar as imagens realistas na tela do computador, já o terceiro tratará da evolução da Computação Gráfica em diversas áreas (jogos, cinema, medicina, metaverso e BIM).

Computação Gráfica 4: como é o meu processo de escrita de um artigo (sobre Computação Gráfica)

https://web.dio.me/articles/como-e-o-meu-processo-de-escrita-de-um-artigo-sobre-computacao-grafica?back=%2Farticles&open-modal=true&page=1&order=oldest

Escrito por: Fernando Araujo

Computação Gráfica 2: evolução e áreas de aplicação

https://web.dio.me/articles/computacao-grafica-2-evolucao-e-areas-de-aplicacao?back=%2Farticles&open-modal=true&page=1&order=oldest

Escrito por: Fernando Araujo

Computação Gráfica 3: técnicas básicas para sua implementação

OBS: a ser publicado, ainda hoje.

Escrito por: Fernando Araujo

Compartilhe
Comentários (3)
Luiz Café
Luiz Café - 17/04/2023 17:06

Obrigado por compartilhar sua experiência Fernando! É incrível saber como evoluímos ao longo dos anos nesta área tão importante para toda a sociedade em geral.

Fernando Araujo
Fernando Araujo - 16/04/2023 17:59

Verdade!

Eu lembro bem essa época de "CGI legal!"

Luis Zancanela
Luis Zancanela - 16/04/2023 17:50

Quando vejo CGI eu sempre lembro dos jogos de PlayStation, quando tinha a animação no jogo o pessoal chamava de CGI, "olha que CGI legal", época boa e que mesmo com recursos ainda em desenvolvimento e até escassos, ainda produziam verdadeiras obras-primas. Conhecer um pouco da história e experiência é bem legal, obrigado por compartilar.