Texturas em Jogos IA 725 – Computação Gráfica Professa Dra. Wu, Shin-Ting Leandro de Pinho...

Preview:

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

Recommended