Games
Introdução ao DirectX com C++
José Antonio “jalf” Leal de Farias
@sharpgames
Quem é esse cara?
Games
• C++ MVP (9 anos)
• Antes, XNA/DirectX MVP e Windows Embedded MVP
• Desenvolvedor de jogos desde 1990
• Bacharel em computação pela UFCG
• Criador do curso de jogos digitais da Facisa
• Criador e administrador do portal Sharpgames (sharpgames.net)
• Conselheiro e um dos fundadores da ACIGAMES
• Produtor na Prosperity Games (prosperitygames.net)
• Faliu sua primeira empresa de games em 1999
• ...
• Objetivo: Compreender o funcionamento do DirectX e como usá-
lo para criar jogos sofisticados.
• (ou pelo menos entender os tutoriais da internet)
• Arquitetura
• Windows Internals
• APIs Básicas
• Shaders
Introdução
Games
Games
Estapalestratemaltaconcentração
decódigoemC/C++enãoéparaos
fracos!
Evolução do DirectX
• Originalmente desenhado para games e abstração
de hardware
• DX9 introduziu Shaders de ponto flutuante
• Programados em HLSL
• Windows Vista adotou para muitas características:
• UI: Aero e Media Center
• Processamento de Imagem: Windows Photo Gallery
• DX10 foi desenhado para mais do que games
• API “limpa” para reduzir a complexidade
• Implementação consistente entre vários HW – No Caps
• Nova API de infraestrutura: DXGI
• Atualmente estamos na versão 11 (12 prevista para o
fim de 2014)
Games
Elementos Gráficos
DirectX == Gráficos de Alto
Desempenho
Games
3D
2D
Video e Imagens
Segoe UI
Texto
• “CPU” para Gráficos
• Shaders
• Nvidia x AMD
• DirectX x Mantle
GPUS
Games
GPUS
Games
Ou, “como a coisa acontece diante de
seus olhos e você não sabia...”
Hello World!
Games
Ou, “como os jogos de verdade são
feitos...”
Hello DirectX!
Games
Shaders
Games
Shaders
Games
Shaders
Games
Ou, “como criar programas para a
GPU...”
Shaders
Games
Transformações 3D
Games
Ou, “O momento de se arrepender de
não ter prestado atenção nas aulas de
matemática...”
Rotação em 3D
Games
Texturas
Games
Ou, “Quando os artistas finalmente
entram no jogo...”
Texturas
Games
Obrigado!
Links úteis:
microsoftvirtualacademy.com.br
msdn.microsoft.com/en-
us/library/windows/desktop/ee663274(v=vs.85).aspx
mailto://jalf@outlook.com
@sharpgames

Introdução do DirectX com C++