Você está na página 1de 4

O que é GPU?

é um tipo de microprocessador especializado em processar gráficos GPUs modernos


manipulam gráficos computadorizados com eficiência e sua estrutura de processamento
paralelo os tornam mais capazes neste tipo de trabalho que CPUs normais. Uma GPU
normalmente é utilizada em placas de vídeo (este é chamado de Vídeo Offboard ou
Placa de Vídeo Dedicada), mas versões simplificadas são integradas diretamente nas
placas-mãe, o que é chamado de Acelerador Gráfico Integrado ou Placa de Vídeo
Onboard.

Bibliotecas Gráficas

A biblioteca DirectX
A biblioteca DirectX é outra biblioteca gráfica baseada em uma API que nos permite acessar
uma série de recursos de hardware para construção de ambientes gráficos, principalmente jogos
para a plataforma Windows.

No passado a DirectX era distribuída como um conjunto de ferramentas mas hoje é integrada ao
sistema operacional Windows e reúne alguns componentes como Direct3d, DirectDraw,
DirectPlay, DirectMusic, dentre outros.

A versão mais atual é a DirectX 11.x que traz novidades em relação à renderização de
elementos de luzes e sombras de forma mais realística, ao auxílio da GPU a CPU do
computador, além da possibilidade de trabalhar com elementos gráficos tridimensionais mais
elaborados e de utilizar as capacidades dos processadores gráficos do mercado para melhorar o
desempenho de aplicações que fazem uso de suas APIs.

O uso da biblioteca DirectX nos Jogos eletrônicos

Amplamente utilizado como plataforma para criação de jogos, a biblioteca OpenGL vem sendo
aperfeiçoada a cada geração de novos consoles. A aplicação da API no desenvolvimento de
jogos cada vez mais complexos visualmente e cada vez mais realistas.

É importante lembrar que muitas aplicações, incluindo os jogos eletrônicos, fazem uso de mais
de uma API diferente, com o objetivo de utilizar o melhor de cada API no desenvolvimento pleno
do produto. Assim como é possível utilizar mais de um framework no desenvolvimento de uma
aplicação web, o mesmo se aplica no desenvolvimento de aplicações gráficas e jogos
eletrônicos.

Uso Nativo da DirectX pelos Consoles

A biblioteca DirectX é utilizada de forma nativa nos principais consoles do mercado, tanto o
Xbox One quanto o Playstation 4 rodam nativamente a DirectX 11. Consequentemente, os jogos
criados para estas plataformas possuem recursos de iluminação, sombreamento, texturização,
entre outros, à disposição para geração de efeitos mais realistas.

A biblioteca OpenGL
OpenGL é uma API ( Application Programming Interface ). É um conjunto de funções que
permite a criação de personagens e cenas através da programação com scripts.

No mercado temos uma série de conjuntos de bibliotecas parecidos que visam aplicar instruções
para o desenvolvimento de aplicações gráficas, permitindo a melhoria ( de acordo com seu
desenvolvimento ) de elementos visuais de software e de jogos eletrônicos.

A OpenGL tem uma grande vantagem em relação a outras bibliotecas encontradas no mercado:
a sua versatilidade, pois permite que diversos tipos de aplicação façam uso de sua capacidade
para criação de elementos visuais.

Uma das principais características da OpenGL é o fato de ela conceder acesso a toda
informação de hardware, o que permite a criação de vários tipos de ações dentro de um projeto.
Ela constitui uma completa infraestrutura que serve para o desenvolvimento de softwares e
jogos eletrônicos, mas com tantos recursos disponíveis é importante entende onde o profissional
de computação perceberá a aplicação da biblioteca.

Rendering Pipeline
O núcleo do OpenGL é conhecido como “rendering pipeline” ou dutos de renderização. É
importante notar que o OpenGL lida tanto com o desenhos na forma vetorial, definidos por
vértices, como com mapas de bits, definidos pixel-a-pixel. Os principais elementos desse duto
estão descritos abaixo:
● Listas de exibição (Display lists): Todos os dados, sejam de vértices pertencentes a
geometrias ou pixels, podem ser salvos lista de exibição para uso atual ou posterior;
● Avaliadores (evaluators): Todas as primitivas geométricas, no OpenGL são descritas
por vértices. Curvas e superfícies paramétricas podem ser descritas por fórmulas -
usadas na construção dos vértices. Quem faz essa avaliação são os avaliadores.
● Operações pré-vértices: Para os dados de vértices, as operações pré-vértice
convertem os vértices em primitivas de desenho. Nessa etapa, cada vértice é
convertido em matrizes 4×4, então cálculos são realizados para que sejam
convertidos do espaço 3D para as coordenadas de tela. Essa etapa ainda realiza
operações de cálculos de textura, iluminação, materiais, etc. de acordo com quais
estados tenham sido habilitados;
● Montagem de primitivas (primitive assembly): A fase de montagem de primitivas
preocupa-se com a eliminação das partes da geometria que caiam fora do plano.
Essa fase também aplica os cálculos de perspectiva, fazendo os objetos distantes
parecerem menores em relação a objetos próximos. Se cálculos de abate (culling)
estiverem ativos, partes dos objetos podem ser desprezadas durante essa fase. É
aqui também que se decide se um polígono deve ser desenhado através de pontos
ou linhas;
● Operações com pixels: Enquanto os dados geométricos seguem pelo duto de
renderização, os mapas de pixels passam por diferentes tipos de transformação.
Primeiramente, os pixels são descompactados de acordo com o seu número de
componentes, então eles têm sua escala ajustada, seu formato final é calculado,
parte de sua área é cortada e então são enviados para o passo chamado
rasterização ("rasterization").
● Montagem de texturas (texture assembly): Permite a aplicação de imagens como
texturas nas geometrias, para que elas pareçam mais realistas. Algumas
implementações do OpenGL podem ter recursos especiais para acelerar esse
processo;
● Rasterização (Rasterization): Transforma todos os dados em fragmentos. Cada
fragmento é um quadrado que corresponde a pixels no quadro de armazenamento
auxiliar (framebuffer). Padrões de linhas e polígonos, largura da linha, tamanho do
ponto, sombreamento ("shading"), cálculos de cobertura e anti-serrilhado
(antialiasing) são todos levados em conta durante essa fase. Cores e valores de
profundidade são considerados para cada fragmento;
● Operações sobre fragmentos (Fragment Operations): Finalmente, operações finais
são aplicadas aos fragmentos, tais como recortes, operações de máscaras de bits,
como mistura (blending), são aplicadas. Então, os pixels são finalmente calculados e
são encaminhados para desenho.

Você também pode gostar