Upload
igor-godoi-prada
View
217
Download
2
Embed Size (px)
Citation preview
Texturas em JogosTexturas em Jogos
IA 725 – Computação GráficaIA 725 – Computação GráficaProfessa Dra. Wu, Shin-TingProfessa Dra. Wu, Shin-Ting
Leandro de Pinho MonteiroLeandro de Pinho Monteiro
RoteiroRoteiro IntroduçãoIntrodução Definições da áreaDefinições da área Tipos de TexturaTipos de Textura Texturas em JogosTexturas em Jogos Texturas nas Bibliotecas GráficasTexturas nas Bibliotecas Gráficas ConclusãoConclusão
IntroduçãoIntrodução Adicionar realismo a uma cenaAdicionar realismo a uma cena Evitar processamentos desnecessáriosEvitar processamentos desnecessários Garantir certos aspectos visuaisGarantir certos aspectos visuais Mármore, madeira, roupa, vegetação etc.Mármore, madeira, roupa, vegetação etc. Cenário / Mapas dos Jogos Cenário / Mapas dos Jogos Gerador de terrenosGerador de terrenos Roupas dos PersonagensRoupas dos Personagens
Definições BásicasDefinições Básicas TexturaTextura
• Diversidade de ConceitosDiversidade de Conceitos Espaço de TexturaEspaço de Textura
• TexelTexel TexturizaçãoTexturização
• Função de MapeamentoFunção de Mapeamento• Mapeamento de TexturasMapeamento de Texturas
Outros TermosOutros Termos Texture mappingTexture mapping
Bump mappingBump mapping
Mip mappingMip mapping
Environment mapping Environment mapping
Algumas ImagensAlgumas Imagens
Mais ImagensMais Imagens
Tipos de TexturaTipos de Textura Dificuldade na ClassificaçãoDificuldade na Classificação
• Dimensão (1D, 2D, 3D)Dimensão (1D, 2D, 3D)• Padrão (Rugosidade, Regulares, Ruído)Padrão (Rugosidade, Regulares, Ruído)• Luminosidade (Refração, Reflexão, Luminosidade (Refração, Reflexão,
Sombra)Sombra)• Origem (Procedural, Imagem Digital)Origem (Procedural, Imagem Digital)• Distribuição (Espectrais, Estatísticas, Distribuição (Espectrais, Estatísticas,
Estruturais)Estruturais)
Tipos de TexturaTipos de Textura Texturas de SuperfícieTexturas de Superfície
Texturas SólidasTexturas Sólidas
Texturas ProcedimentaisTexturas Procedimentais
ImagensImagens
ImagensImagens
Texturas em JogosTexturas em Jogos Engines (Cenários)Engines (Cenários)
• Efeitos Especiais (Photoshop)Efeitos Especiais (Photoshop)• Gerador de Terrenos (3D Game Studio)Gerador de Terrenos (3D Game Studio)
Softwares de Modelagem Softwares de Modelagem (Personagens)(Personagens)• Roupas (Maya, 3DS)Roupas (Maya, 3DS)• Armas, Veículos, Telas de Interação etc.Armas, Veículos, Telas de Interação etc.
Jogos SimplesJogos Simples
PersonagensPersonagens
ArmasArmas
ArtilhariaArtilharia
AviõesAviões
Mais AviõesMais Aviões
HelicópterosHelicópteros
Mais HelicópterosMais Helicópteros
VeículosVeículos
CenáriosCenários
RealismoRealismo
Mais RealismoMais Realismo
Gerador de TerrenosGerador de Terrenos
TelasTelas
Camadas de TexturaCamadas de Textura
Mapeamento de AmbienteMapeamento de Ambiente
EspelhamentoEspelhamento
UVW mapUVW map
Anti-AliasingAnti-Aliasing
Mip mappingMip mapping
Bibliotecas GráficasBibliotecas Gráficas DirectX SDK (Battlefield Vietnã)DirectX SDK (Battlefield Vietnã)
• Direct3D (d3ddefs.h)Direct3D (d3ddefs.h)• DirectInputDirectInput• DirectSoundDirectSound• DirectMusicDirectMusic• DirectPlayDirectPlay
OpenGL (Quake 3 – Arena)OpenGL (Quake 3 – Arena)• GL, GLU, GLUT, GLAUXGL, GLU, GLUT, GLAUX
OpenGLOpenGL Criar um objeto de textura e especificar uma textura para Criar um objeto de textura e especificar uma textura para
este objetoeste objeto• glGenTextures(), glBindTextures()glGenTextures(), glBindTextures()
Indicar como a textura deve ser aplicada a cada pixelIndicar como a textura deve ser aplicada a cada pixel• glTexParameter()glTexParameter()
Habilitar mapeamento de texturasHabilitar mapeamento de texturas• glEnable()glEnable()
Desenhar a cena, fornecendo as coordenadas de textura e Desenhar a cena, fornecendo as coordenadas de textura e de objetode objeto
• glTexCoord2f(), glVertex3f()glTexCoord2f(), glVertex3f()
DirectXDirectX pRenderTexture = NULL pRenderTexture = NULL pRenderSurface = NULLpRenderSurface = NULL pRenderTexture->D3DXCreateTextureFromFile()pRenderTexture->D3DXCreateTextureFromFile() pRenderSurface->SetSurface()pRenderSurface->SetSurface() pRenderTexture->GetSurfaceLevel() pRenderTexture->GetSurfaceLevel() pRenderTexture->SetRenderState() pRenderTexture->SetRenderState() pRenderTexture->SetTextureStageState()pRenderTexture->SetTextureStageState() pRenderTexture->SetTexture()pRenderTexture->SetTexture()
DirectX vs OpenGLDirectX vs OpenGL DirectX é mais rápidoDirectX é mais rápido DirectX é mais completo e complexoDirectX é mais completo e complexo DirectX é mais direcionado a jogosDirectX é mais direcionado a jogos OpenGL é melhor estruturadoOpenGL é melhor estruturado OpenGL é multi-plataformaOpenGL é multi-plataforma OpenGL é mais flexívelOpenGL é mais flexível
ConclusãoConclusão Aumento de realismo e Aumento de realismo e
interatividadeinteratividade Redução de processamentoRedução de processamento Possibilidades de combinaçãoPossibilidades de combinação Grande suporte de bibliotecas Grande suporte de bibliotecas
gráficasgráficas Área em pleno desenvolvimentoÁrea em pleno desenvolvimento