Introdução
Chegou a primeira GPU compatível com o DirectX 10. E o que significa isso? Muito se fala da nova API (Application Program Interfaces) que a Microsoft irá implantar em 2007 com o Windows Vista. Desde o início de seu desenvolvimento, a API mudou de nomes inúmeras vezes passando por WGF, WGF 2.0, DirectX Next e no fim, acabou por prevalecer a lógica. A sua principal evolução é o Direct3D 10 no que se refere a potencial gráfico. A Microsoft sempre indicou que não há controle sobre aaplicação por “hardware” de sua API e permanece à disposição das fabricantes de GPUs. Com a introdução da nova geração de placas gráficas NVIDIA, é pertinente expôr as mudanças e inovações que o DirectX 10 promete implantar nos jogos, tanto para programadores quanto jogadores.
Inicialmente, a API Direct3D baseou-se em sua grande irmã OpenGL, que podia se beneficiar das ferramentas da SGI (Silicon Graphics), e tentou implantar o pipeline OpenGL em sua totalidade. Enquanto as primeiras GPUs se satisfaziam da simples renderização, estas evoluíram seguidamente para integrar a maior parte dos pipelines 3D principalmente a setup enginee o famoso Transform & Lighting. Conseqüentemente, com as seguidas versões, o Direct3D evoluiu com modificações e implantações de novos recursos.
Uma vez com o pipeline de renderização completamente integrado, um ponto de inflexão foi atingido e assim foi necessário empreender uma reflexão sobre a exibição do 3D. O resultado final deu nascimento aos “shaders”, pequenos programas que permitem se adaptar ao funcionamento da GPU de acordo com as necessidades. Os “shaders” programáveis tiverem seu início no DirectX 8. Antes deles, todas as funções eram “fixas” e o desenvolvedor só podia utilizar efeitos 3D previamente especificados para determinadas GPUs. Por exemplo, se um determinado chipset gráfico não suportava um efeito ou recurso, não tinha como o desenvolvedor utilizá-lo em seu jogo. Com os “shaders” programáveis, essa barreira foi rompida. Entretanto, ainda havia limitações como o número de constantes, registros e cálculos a efetuar. Os DirectX 8 e 8.1 introduziu às GPUs as instruções Shader Model (SM) 1.1 a 1.3 (o DirectX 8 tinha o SM 1.4). O Shader Model refere-se aos recursos e flexibilidade da programação da API. A seguir, o DirectX 9 trouxe o SM 2.0, muito além do 1.4 e com a versão 9.0c, o SM 3.0 teve sua aparição.
-
Otimizar o desempenho:
o Direct3D 9 ocasionava um trabalho adicional enorme à CPU e a nova API deve reduzir este impacto na CPU para que os jogos não sejam limitados artificialmente pela mesma.
-
Racionalizar as funcionalidades
: desde a sua criação há 10 anos, o Direct3D evoluiu muito, assim como as GPUs. Entretanto, para assegurar a retrocompatibilidade, todos os recursos que tornaram-se obsoletos continuavam presentes. Desta vez, a nova API será
ortogonal
com o objetivo de oferecer um melhor resultado.
-
Impor regras estreitas sobre as funcionalidades:
há muito tempo, um dos maiores problemas encontrados para um desenvolvedor eram as diferenças de comportamento entre as diferentes GPUs sob certos recursos, até mesmo pequenas. Precisava aprender a brincar com os “caps bits” do DirectX e as extensões OpenGL para chegar a algum resultado. A nova API deverá garantir um conjunto fixo de funcionalidades que todas as GPUs terão que integrar em sua totalidade.
Em contrapartida dessas opções radicais, é impossível oferecer drivers Direct3D 10 compatíveis com uma GPU DirectX 9. A nova API quebra a retrocompatibilidade devido aos recursos mais avançados e um jogo Direct3D 10 só poderá rodar com uma placa gráfica Direct3D 10
|
|
Redes sociais
Comentários (59) Visitas (106758)
SÒÒ
Nossa esse Directx10 vai ser show mesmo !
Qual será os proximo jogos á utilizar essa Api grafica,no momento só sei do Cryses?
SÒÒ - 06/12/2006 - 01:53 - Responder no fórum
FabricioGS
Nossa, muito esclarecedor esse artigo. Sinto que vou ter que imprimí-lo e "digerí-lo" aos poucos
O único problema é que realmente esles tiveram que romper com todo o passado para poder lançar este novo modelo. Espero que saiam bastante jogos que tirem proveito dessas tecnologias assim como (se possível) a reedição de alguns jogos antigos.
FabricioGS - São Paulo - 06/12/2006 - 02:32 - Responder no fórum
-FoxHound-
Então quer dizer que se eu quizer jogar algum jogo em Direct3D 10 terei que comprar uma placa de video que aceite Direct3D 10.
Tenha a santa paciência, respeito pelo consumidor é de 0%.
Terei que jogar minha Radeon X1900XTX no mato pra poder comprar outra placa de video pra jogar em Direct3D 10.
-FoxHound- - Americana-SP - 06/12/2006 - 03:05 - Responder no fórum
MorphewS
Então quer dizer que se eu quizer jogar algum jogo em Direct3D 10 terei que comprar uma placa de video que aceite Direct3D 10.
Tenha a santa paciência, respeito pelo consumidor é de 0%.
Terei que jogar minha Radeon X1900XTX no mato pra poder comprar outra placa de video pra jogar em Direct3D 10.
Tambem não gostei, tinha que haver compatibilidade Sim! com as DX 9 pelo menos...
MorphewS - Florianópolis - SC - 06/12/2006 - 03:55 - Responder no fórum
ThunderFX
A única coisa que me incomodou no DX10 foi o fato da nova arquitetura de driver ser incompatível com o XP. Espero que a Microsoft ou a ATI/Nvidia estejam trabalhando em um driver p/ o XP que utilize essa nova filosofia, pois quero montar um PC novo com uma VGA DX10 e não tenho interesse nenhum em migrar p/ o vista...
Parabéns pelo artigo tomodachi, está muito completo e bem escrito. Um excelente trabalho.
ThunderFX - 06/12/2006 - 04:04 - Responder no fórum
Pai Mei
Não necessariamente, no final da primeira página diz que é possível fazer os jogos rodarem em DX9 e DX10. O que a Microsoft fez foi passar todo o trabalho pros fabricantes de jogo, e pode ter certeza que é do interesse deles manter essa compatibilidade pelo menos até o Windows Vista virar padrão no Hemisfério Norte:
Com a nova API, considerando os jogos exclusivos ao DirectX 10, que ainda não estão prontos, os desenvolvedores terão que oferecer dois executáveis diferentes: um utilizando as bibliotecas DirectX 9 e outro com o DirectX 10.
Concordo que isso é chato mas convenhamos que faz parte da evolução tecnológica. Programas de 64 bits também não rodam em máquinas de 32 por exemplo... se eles se preocupassem muito com a compatibilidade do DX10 poderiam acabar "sujando" ele e não ficaria tão bom.
Pai Mei - Vila Velha - ES - 06/12/2006 - 04:06 - Responder no fórum
Vitor Ferreira Nobrega
Então quer dizer que se eu quizer jogar algum jogo em Direct3D 10 terei que comprar uma placa de video que aceite Direct3D 10.
Sim, se o software for escrito somente para Directx 10 a resposta é sim.
Mas eu não acredito que isso tenha sido um desrespeito ao consumidor, vejamos os motivos:
-Quando você comprou a sua placa de vídeo estava escrito na caixa Directx 9.0c compatible, bem, nada garantia que seria compatível com o directx 10, de fato não será.
-Evolução envolve sacrifícios, lembro-me que existem jogos como o need for speed: carbon que não suportam as famosas 4 MX (questão de hardware), muitas pessoas ficaram revoltadas, eu também fiquei, mas a questão é que ela simplesmente não possue os recursos necessários para rodar o jogo.
Fazer o jogo compatível também com as MX 4? bem, isso PODE implicar numa menor qualidade do jogo, ou em um jogo menos otimizado, enfim, alguma coisa de ruim teria, senão todos os jogos seriam retroativos com todas as placas.
Agora chegamos no caso mais atual, o Directx 10 necessita de recursos de hardware que as atuais directx 9.0c não fornecem, e onde está o total desrespeito ao consumidor? como já bem disse na(...)
Vitor Ferreira Nobrega - Sao Jose dos Campos-SP - 06/12/2006 - 08:47 - Responder no fórum
CK
Concordo plenamente. Para quebrar barreiras sacrificios tem que ser feitos.
OBS: caso queriar me aventurar a desenvolver jogos em DX10, por onde começar? Aplicativos, IA dos jogos, etc?
CK - Aracruz-ES - 06/12/2006 - 09:03 - Responder no fórum


