Seja muito bem vindo ao fórum les power info. Para ver os links bloqueados e imagens em alguns sub-fóruns será necessário que você faça a sua conta.

o que é directx?

Ver o tópico anterior Ver o tópico seguinte Ir em baixo

o que é directx?

Mensagem por Supremo em Ter Jun 19, 2012 2:06 pm

Seja você um gamer hardcore ou apenas um jogador casual, com certeza já deve ter ouvido falar no termo DirectX.
Você também já deve ter percebido que ele é essencial para que games e outros aplicativos gráficos funcionem, mas você sabe para que ele serve e como ele funciona?

[Você precisa estar registrado e conectado para ver esta imagem.]
(Fonte da imagem: [Você precisa estar registrado e conectado para ver este link.])

Continue ligado neste artigo do Tecmundo e tire todas as suas dúvidas sobre o tão falado DirectX.

O que é


Formas geométricas, cores, iluminação, filtros e texturas são as matérias-primas de todo e qualquer video game. São eles os componentes que, quando combinados com movimentos, efeitos e com um enredo, produzem os mais diversos jogos eletrônicos que tanto gostamos.

Para que a experiência de um jogo possa ser transmitida ao jogador, é necessário que um desenvolvedor primeiro programe o “aparecimento” de todos esses efeitos gráficos no monitor, bem como as sequências de
interações e reações do programa.

[Você precisa estar registrado e conectado para ver esta imagem.]
(Fonte da imagem: [Você precisa estar registrado e conectado para ver este link.])

Tal tarefa era considerada uma empreitada colossal nos primórdios da computação, mas foi ficando cada vez mais facilitada com o aparecimento das chamadas Interfaces de Programação de Aplicativos, ou APIs, sendo que o DirectX é uma das mais difundidas delas quando o assunto é jogos eletrônicos.

Desenhando formas na tela


Imagine que você seja um desenvolvedor e queira desenhar um simples triângulo amarelo na tela e fazê-lo se movimentar. Você sabe que todas as formas são mostradas no monitor graças à junção de vários pixels coloridos. Então, nada mais justo do que fazer isso pintando pixel a pixel. A abstração desse trabalho seria algo parecido com isso.

  • Pixel nas coordenadas X123, Y456. Recebe a cor amarelo.
  • Pixel nas coordenadas X124, Y456. Recebe a cor amarelo.
  • Pixel nas coordenadas X125, Y456. Recebe a cor amarelo.
  • E assim vai.

Continue fazendo isso 20.000 vezes até que você obtenha um triângulo-retângulo com 200 pixels de largura nos catetos. Para movimentá-lo horizontalmente, basta mover todos os pixels uma unidade acima na coordenada X.

[Você precisa estar registrado e conectado para ver esta imagem.]
O resultado (Fonte da imagem: [Você precisa estar registrado e conectado para ver este link.])

Achou trabalhoso? Pois saiba que esse ainda é apenas o conceito abstrato. Para conseguir aplicá-lo, você precisa adquirir as especificações da placa de vídeo para saber como o fabricante implementou a função “pintar pixels” dentro do sistema operacoinal sendo utilizado. Se o modelo da placa de vídeo mudar, é provável que você também tenha de fazer todas as modificações no seu programa para que ele continue reproduzindo o mesmo efeito.

APIs: a salvação


O processo descrito acima não só é astronomicamente trabalhoso mas também impraticável. Afinal, o programa final iria funcionar da maneira esperada apenas com o processador gráfico usado inicialmente. Pensando em maneiras de otimizar este processo, os fabricantes de hardware e software se uniram para conceber uma padronização que facilite o desenvolvimento, nascendo assim as chamadas APIs.

Esses componentes nada mais são do que um conjunto de interfaces de programação que implementa funções gráficas com um nível de abstração bem acima das funções de “pintar pixels” usadas anteriormente.

[Você precisa estar registrado e conectado para ver esta imagem.]
CryEngine rodando com recursos do DirectX 11 (Fonte da imagem: [Você precisa estar registrado e conectado para ver este link.])

Um exemplo simples é que, em vez de produzir um triângulo pixel a pixel, você poderia usar uma função parecida com “Desenhar triângulo nas coordenas tal”. A API se encarrega de interpretar o comando e fazer todo o trabalho duro. O desenvolvedor nem sequer fica sabendo “como” a API trabalha com a placa de vídeo para produzir o resultado na tela.

Além disso, as APIs também atuam como um denominador comum entre o sistema operacional e o hardware, eliminando grande parte dos problemas de compatibilidade. Agora, basta que a placa de vídeo seja compatível com as APIs do DirectX 9, por exemplo, e o seu jogo, que também foi feito usando o DirectX 9, vai funcionar perfeitamente com ela ou qualquer outra.

Microsoft e o DirectX


A primeira versão do DirectX nasceu juntamente com o Windows 95 em 1995, tendo a missão de ser o sucessor das APIs WinG — que vinham sendo usadas no DOS e Windows 3.1 até então. Apesar perder desempenho em relação ao seu antecessor, o DirectX tinha a vantagem de conseguir produzir efeitos que eram impossíveis antes, além de ser mais fácil de usar.

[Você precisa estar registrado e conectado para ver esta imagem.]
Doom, um dos principais usuários das APIs Microsoft (Fonte da imagem: [Você precisa estar registrado e conectado para ver este link.])

O DirectX também tinha como apelo o fato de ter sido concebido especialmente para os jogos, incluindo outras funções que iam além dos gráficos. Enquanto que o DirectDraw e o Direct3D cuidam dos objetos na tela, o DirectSound e DirectMusic ajudam muito no posicionamento, reprodução e até criação de sons nos games. Já o DirectPlay supria os desenvolvedores com todas as principais ferramentas para interação entre jogos dentro de uma rede.

De 1995 para cá, muitas versões do DirectX foram lançadas, todas buscando maneiras de extrair o máximo da capacidade do hardware na produção dos mais variados efeitos. As versões 10 e 11 (atual) do DirectX tomam proveito da nova arquitetura WDDM de driver gráfico implementada no Windows Vista, motivo que as torna incompatíveis com o Windows XP ou inferior.

[Você precisa estar registrado e conectado para ver esta imagem.]
Os consoles com que tem o DirectX " correndo nas veias" (Fonte da imagem: [Você precisa estar registrado e conectado para ver este link.])

O componente também foi decisivo na criação no primeiro console de video game da Microsoft, chamado inicialmente de DirectXbox. Felizmente, a versão final do console foi lançada em 2001 com o nome encurtado para apenas Xbox.

Concorrentes e evolução


Desde que foi lançado em 1995, o DirectX da Microsoft já tinha como concorrente o pacote de APIs OpenGL, da Silicon Graphics Inc.
Inicialmente, OpenGL era mais voltado para trabalhos profissionais do que para a produção de jogos. Mas, diferente da tecnologia da gigante de Redmond, todo o código-fonte do OpenGL é aberto.

[Você precisa estar registrado e conectado para ver esta imagem.]
(Fonte da imagem: [Você precisa estar registrado e conectado para ver este link.])

O caráter open source do OpenGL foi um dos principais motivos para que muitos desenvolvedores odefendessem, alegando ser que a API da SIG era mais acessível do que o DirectX. Essa briga entre as duas tecnologias se estende até hoje, sendo que, em matéria de jogos, o DirectX mantém uma boa vantagem graças à popularidade dos sistemas Windows.


Fonte: [Você precisa estar registrado e conectado para ver este link.]
avatar
Supremo
Veterano

Mensagens : 450
Data de inscrição : 24/02/2012
Localização : aqui, administrando

Voltar ao Topo Ir em baixo

Ver o tópico anterior Ver o tópico seguinte Voltar ao Topo


 
Permissão deste fórum:
Você não pode responder aos tópicos neste fórum