Postagens populares

quinta-feira, 7 de janeiro de 2010

Quake rodando sob DirectX



Uma coisa sempre me incomdou com as engines derivadas do Quake: O fato de todas, tirando algumas notáveis exceções, serem baseadas na API OpenGL. Não consegui em todos este anos mexendo em meu tempo livre descobrir o por quê, da ID Software ignorar completamente a API DirectX. A Valve, quando produziu Halflife, não se fez de rogada. Embora, houvesse suporte, para os modos software e OpenGL, também disponibilizou renderização via DirectX. A título de lembrança, caso a referência não tenha sido clara, Halflife é baseado na engine do QuakeWorld.




Porém o resultado dessa "predileção" da ID Software eu conhecia bem: Se a placa de vídeo do PC não fosse compatível com o OpenGL, como uma velha Rage Pro 3D que me assombrou por anos, ou simplesmente tivesse um chipset gráfico vagabundo (coisa comum aqui no Brasil) e sem poder de processamento, o jeito pra ter velocidade era jogar no modo software mesmo. Imagine Quake, ainda hoje rei indisputado da velocidade rodando quadro a quadro, algo como 5 fps, e você tem uma vaga noção da tortura.




Atendendo a minhas preces não proferidas em voz alta, o programador MH já vem a algum tempo trabalhando em uma engine substituindo a API OpenGL pela API DirectX. Tirando as controvérsias acerca do potencial de cada API, o objetivo de MH não é simplesmente criar mais um wrapper em torno do código da ID Software. Isto já foi feito e sua forma atual é esta, mas sim atualizar todo o sistema de renderização da engine sob o DirectX.




E devo dizer que os resultados são bastante promissores. A engine de MH, batizada com o singelo nome de DirectQ, é bastante estável e roda de modo impecável. Aparentemente suporta mods, testei como o Openquartz e não houve problemas. Outro diferencial é o fato que MH é cuidadoso com sua cria. O DirectQ tem atualizações constantes e aprimoramentos - como o recente suporte para luzes coloridas, via arquivos .lit, entre outras mais técnicas - mostram o potencial do programador em trabalhar sua engine pro mundo.




Fica a dica para quem gosta de jogar Quake, netquake lembrem-se, e anda tendo problemas com OpenGL ou quer experimentar um engine nova e sólida como um rocha em termos de desempenho.

Nenhum comentário:

Postar um comentário