Menu
Tutoriais de pintura 2D, etc...
Tutoriais de 3DMAX.
Galeria
Gente talentosa.
Entrevistas
Artigos  sobre CG

Meus sites favoritos
Anuncie - Advertise

Home
Go Back

  ARTIGO : FRAMEBUFFER
  AUTOR : Marcelo Souza
Ps : Os trechos entre » «, foram escritos e/ou corrigidos por Mário Barreto.

Ps2 : Esse texto é baseado no que presenciei nos 2 anos que trabalhei na Tv Manchete. Foras as primeiras coisas que aprendi sobre vídeo, em meados de 1995. Mário Barreto, que está a muito mais tempo no mercado e entende muito mais dessa parte técnica do que eu, fez algumas correções técnicas, no texto, em prol da instrução correta aos leitores da 3Donline.


   Até uns anos atrás (Não muitos)... A galera era obrigada a ter uma placa de video que possuísse um FRAMEBUFFER, que nada mais era o que o nome diz...Um BUFFER de FRAMES em Alta resolução (leia-se 720x486, ou 512x486 na época...). Na época praticamente nenhum micro era capaz, por si só, com placas a custo acessível, mostrar 16 milhões de cores ou até 65000 cores numa tela. As placas chegavam a 256 cores, estourando. Dava pra rodar bem o DOS, e o windows.

   Nessa época, não podiamos renderizar uma cena e ver no mesmo monitor que estávamos trabalhando, por que as placas de video não suportavam o numero de cores/resolução. Então todo mundo usava esses FRAME BUFFERS, que eram placas que além de ter capacidade para pegar uma imagem em 16 milhoes de cores, do micro, tinham uma saída componente RGB, para ligarmos um MONITOR de video, e vermos a imagem do RENDER, como ele deveria ser...
Por isso hoje em dia, dentro da caixa de render do MAX, você encontra uma opção chamada "carinhosamente" de VIRTUAL FRAMEBUFFER, que nada mais é que um "simulador" dos saudosos FRAMEBUFFERS.
   Imagina que sem isso todo mundo, como nós, que usa o 3D também em casa, tinha que ver o render, se quisesse em 256 cores. Nojento.....heheeh
Alguns programas nem rodavam se você não tivesse o tal FRAME BUFFER, que eram placas caras, "só" produtoras e redes de TV tinham...

   O FB , mas famoso da parada era a TARGA... Muitas delas ainda rolam por ai, sucateadas. O tempo de glória das TARGAS acabou, depois da popularização das placas de video e monitores VGA / Super VGA, e as placas de video, finalmente conseguiam mostrar mais do que 256 cores, pois já chegavam a ter de 512 a 1Mb de RAM de video !!!
Todo mundo VIBRAVA, literalmente, diante de uma tela do windows, com uma foto digitalizada, que não apresentava dithering, ou aquelas "quebras de cor" nas paletas, cores, e degradees...

   Das Targas, existiam vários modelos...TARGA 16,, TARGA PLUS, TARGA 24, e isso representava o numero de bits de imagem que ela suportava. Com uma TARGA 16, você era capas de apresentar 65000 cores na tela, e como as targas tinham saída RGB, podiam ser ligadas a equipamentos "profissionais" de video.

» Porém, a saída RGB dos framebuffers não podia ser ligada aos VT's da época.
   O padrão era o vídeo composto e era necessário usar um encoder de boa qualidade para fazer a interface.

   O "tchan" eram as máquinas de 1 polegada, as BVH's Sony ou então as Ampex. U-Matic era utilizado com restrições.

   Os BVU's U-matic precisavam estar equipados com um board TimeCode, o BKU-XXX, para ter precisão de frame. Praticamente todas as BVU's tinham este board. Apenas a linha VO, de U-Matics mais baratos não tinham esta opção e não eram indicadas para este trabalho. «

   Ok...Então para trabalhar tinhamos que ter um micro, e pra ter qualquer conexão com um VIDEO, tinhamos que ter uma interface. Além disso tinhamos que ter algo que mostrasse a imagem do render para o a saída de VIDEO, em qualidade de TV, 16 milhoes de cores, etc... Entre outros equipamentos auxiliares.

   A TARGA, era um excelente FrameBUFFER. Você renderizava no 3DS, e trabalhava com 2 monitores. Em um, ficava a tela do programa, e no outro, de VIDEO, devidamente conectado a PLACA TARGA e configurado para receber imagens do 3DStudio, mostrava a imagem sendo renderizada.

   Assim podiamos ver o que estávamos renderizando, com qualidade final, ali mesmo...

   Ok...Mas mas você está vendo 1 frame, parado, armazenado no FB. Se der um REC no Video, ele gravará esse frame...Que emoção...Mas pra termos movimento, precisamos mostrar 30 desses "pesados" frames por segundo, e não 1 só frame parado na tela.
   Acontece que essas placas só recebiam informação dos programas que se comunicavam com elas...Não dava pra por exemplo, ver o que está na tela do micro, no monitor..Mesmo se desse...Era 256 cores...Num rolava...

»   Qual a solução ? RS-422...Interface serial que conectada ao UMATIC, ou BETA, permite controle "total" do video, através do micro...

   As placas, vinham com utilitários, que instruídos por comandos e procedimentos previamente programados em linguagem Batch e/ou Basic, permitiam a execução de várias tarefas e controles entre o framebuffer e os controles dos VTs. Os Batchs, programados faziam o seguinte... Olha que loucura.... :«

Você clica no RENDER ...

Depois de alguns longos minutos, a imagem está pronta e completamente visualizada no FRAMEBUFFER, portanto pode ser gravada no VIDEO.

O 3DStudio, volta a fita U-MATIC ou BETA... Até 5 segundos (Pre-roll) antes do ponto (timecode), especificado para começar a gravar a vinheta.

Nesse momento o VIDEO está em posição REMOTE, e só pode ser controlado pelo micro.

O 3DStudio, solta o play...E deixa a fita rolar os 5 segundos que voltou...No momento 5 Segundos + 1 frame, o video recebe um comando de REC, e a luzinha vermelha pisca, e fica acesa durante 1 FRAME. Assim, gravando o que está no FRAMEBUFFER, na fita. Somente 1 frame foi gravado...

O video rola mais um pouco. E dá pausa... Fica em stand by, aguardando novos comandos...Segurando a fita em PAUSE...

Assim que o frame é gravado, o MAX, renderiza mais 1 frame...o próximo...E TODO o processo se repete... GRavando assim consecutivamente FRAME a FRAME....
Assim, o render era direto para o FB, e pra FITA, não ia pro HD.

   As vezes alguns frames não eram gravados no lugar certo, ou por qualquer outro problema era gravado um frame BLACK (vazio), no lugar do frame certo...O que era um "desastre total depois de uma noite renderizando para o VIDEO.
   Muitos vídeos também DESARMAVAM a cabeça, por segurança quando ficavam muito tempo em PAUSE (se o render demorasse muito), ai dava uma problema danado... Muitas vezes não dava tempo de re-iniciar o render todo de novo numa nova fita e tentávamos acertar com um tiro certeiro os frames nos lugares certos, tampando os blacks e erros que ficavam na fita. Qualquer erro de calculo, ou escorregada sua ou do video, podia detonar a fita e a vinheta e você tinha que fazer TUDO de novo !!!!

   Esse era um processo muito lennnnto e doloroso..normalmente feito durante a madrugada. A maioria das pessoas criava seus próprios programas BATCH de RENDER PRA FITA. A targa vinha com um set de arquivinhos .EXE, e .COM, que podiam fazer praticamente tudo relacionado ao controle do video, leitura de um frame do HD para o FRAME BUFFER, apagamento do FRAMEBUFFER, e muito mais...

   Assim...Com um pouco de conhecimento de programação BASIC e BATCH, era relativamente fácil criar programas que controlavam os UMATICs e BETAS e faziam todo esse processo.

   Dai usávamos mais esses programinhas "in house", do que renderizar direto...Assim a segurança era maior.

   Renderizávamos uma sequência de imagem , em TIF, ou TGA (dai vem o .TGA....de TRUEVISION TARGA, fabricante das TARGAS.), e usávamos um BATCH/BASIC software, feito por nós mesmos, que perguntava o nome do prefixo da sequência, o numero do frame inicial, o numero do frame final, e o timecode da fita que gostaríamos de "jogar" essa animação...

   Tudo preenchido, o software se encarregava do resto... Por meio de loops e IFs, Gotos, e variáveis incrementadas, o software utilizava os utilitários de controle da TARGA, e ia lendo os frames, um a um, e reproduzindo TODO o processo de gravação, pre-roll, e tudo mais...Dessa forma era muito mais seguro, pois podiamos alterar a programação para aumentar o tempo de PRE-ROLL, para desligar as cabeças da BETA/UMATIC, dando STOP automático ao final do processo e muito mais ...!


   Bom...Depois de tudo isso feito, a animação tava prontinha na fita, era só volta-la e dar um PLAY. Uma grande vantagem esse processo ainda tem até hoje... Não existe COMPRESSÃO em hora alguma, da imagem até chegar a fita.

   Hoje em dia, qualquer plaquinha TRIDENT comprada por menos de 10 reais, mostra 16 milhões de cores num monitor VGA CCE ... hehehe
   O processo todo avançou MUITO rapidamente, e as targas e FRAMEBUFFERS foram aposentados.
   Tenho certeza que muita gente nessa lista já trabalhou nessa época por esse processo e relembrou todas as dificuldades daqueles dias... hehehe

   Hoje em dia, as placas não só mostram a imagem no monitor, como ainda podem tocar vídeos (A maioria com algum tipo de compressão), em TEMPO REAL (Por isso existe essa expressão também... heheh... pra um video cassete, e gravar isso diretamente.

   Só pra terminar o papo da TARGA...Ela também capturava imagem do VIDEO, só que o processo era o mesmo para passar para o video...FRAME a FRAME e o software de captura basicamente era feito em cima dos tais utilitários que comentei, alido a programas Basic/Batch que deveriam ser criados para executar tais tarefas...Todo mundo escrevia o seu...Não haviam muitos software que controlavam captura, isso se havia algum...
    Então todo o processo era revertido, e o video tocava o trecho a ser digitalizado centenas de vezes e o micro ia captando 1 frame a cada vez que tocava de novo... Controlando o video automaticamente. Não preciso dizer que a vida útil desses vídeos e das fitas era MUITO menor do que hoje em dia...Onde tudo é em TEMPO REAL.
   Acharam o processo interessante... ?

   Bom...Mais uma curiosidade.
»A Diaquest, que fazia controladores de VTs, patenteou, na época, um processo chamado QuickPass que permitia usar a memória RAM do micro, para enviar mais de 1 frame por vez, utlizando o framebuffer, do micro para a Beta. Isso acelerava bastante o processo, e minimizava os erros e desgaste dos equipamentos e fitas. «

   As Perceptions da DPS , foram as "TARGAs" dos tempos modernos, que se sucederam... Faziam/Fazem a incrível função de frame buffer e ainda podiam tocar uma animação do seu HD (SCSI), em tempo REAL direto para um u-matic, ou uma BETACAM... Éra incrível !!! Lá no meu trabalho tem uma ainda. E era bastante usada até pouco tempo. É muito boa, mas ficou sub-utilizada com o surgimento das placas de edição que além de tocarem um animação em tempo real para video, com boa qualidade, ainda não tem RENDER nos programas de edição, então você pode fazer uma edição completa, com caracteres, fades, cortes, som e muito mais, e depois simplesmente clicar PLAY do micro direto para o VIDEO...Claro que tem limitações...Nem tudo é em tempo real.

   Essa placas tem normalmente uma sigla no nome...RT...De REAL TIME. No trabalho, usamos uma MATROX DIGISUITE LE , que é uma placa RT.
   Existe uma bem barata, para o mercado semi-profissional/ caseiro, e é chamada MATROX RT2500.

   Eita...Acho que já escrevi mais um capitulo de um livro...hehehe... Fui...
   Espero que tenham gostado do texto, e que guardem essa mensagem para mostrar para seus filhos... Quando os mesmos já tiverem dando PLAY direto do MAX (sem render), para a TV... :)

   Quase me esqueci...hehehe... Tente trabalhar sempre sem compressão e só nos finalmentes, renderizar para o formato apropriado à sua placa de saída Se for uma MATROX LE por exemplo, você precisará renderizar em AVI, usando um CODEC especial dela.
A maioria dos sistemas real-time, trabalham com arquivos integrados como resultado final, como MOV, AVI, etc...Mas normalmente não são os AVIS comuns...Mas sim, com um CODEC para essa placa especifica. Que será descomprimido tem tempo real pelo hardware dela.

   Então, procura saber onde, e que equipamento irá passar sua animação pra BETA, e ai saberá o formato a usar no arquivo final. O melhor na minha opinião, se você estiver na dúvida é sempre sequência de TIF. ou .TGA. São os formatos mais compatíveis com TODOS os micros e Sistemas operacionais.

   Ass.:Marcelo Souza