rendering e placas graficas

37
Luiz Gustavo de Sousa Professor Donizetti Louro Jogos Digitais

Upload: jogos-digitais-puc-sp

Post on 07-Jul-2015

614 views

Category:

Technology


2 download

DESCRIPTION

Apresentação para o 1º International Symposium on Interactive Game and Simulation. Data: 29 de novembro de 2010Local: Campus Marquês de Paranaguá da PUC-SP. Tema: Rendering e Placas GraficasAlunos: Luiz Gustavo de Sousa

TRANSCRIPT

Page 1: Rendering e Placas Graficas

Luiz Gustavo de SousaProfessor Donizetti Louro

Jogos Digitais

Page 2: Rendering e Placas Graficas

Luiz Gustavo de SousaProfessor Donizetti Louro

Jogos Digitais

Page 3: Rendering e Placas Graficas

Luiz Gustavo de SousaProfessor Donizetti Louro

Jogos Digitais

Processo de gerar uma imagem a partir de um modelo

› Modelo é a descrição de um objeto 3D, informando geometria, ponto de visão, textura, luz e shader

Page 4: Rendering e Placas Graficas

Luiz Gustavo de SousaProfessor Donizetti Louro

Jogos Digitais

É usado em:

› Arquitetura

› Simuladores

› Filmes

› Efeitos Especiais

› Jogos

Page 5: Rendering e Placas Graficas

Luiz Gustavo de SousaProfessor Donizetti Louro

Jogos Digitais

Pode ser feito previamente

› Arquitetura

› Filmes

› Efeitos Especiais

Com isso se usa oprocessamento para gerar um resultado final

Page 6: Rendering e Placas Graficas

Luiz Gustavo de SousaProfessor Donizetti Louro

Jogos Digitais

Pode ser feito emtempo real

› Simuladores

› Jogos

Nestes casos, os cálculos são efetuados em tempo real, exigindo alto desempenho e resposta rápida

Page 7: Rendering e Placas Graficas

Luiz Gustavo de SousaProfessor Donizetti Louro

Jogos Digitais

Shading› Comportamento da Iluminação

Texture mapping› Aplicação da textura

Bump Mapping› Simulação de relevos simples

Fog› A interceptação da luz na atmosfera

Shadows› Criação de sombras

Page 8: Rendering e Placas Graficas

Luiz Gustavo de SousaProfessor Donizetti Louro

Jogos Digitais

Soft Shadows› A variação de sombra de acordo com a quantidade de luz

Reflexão› Simulação de superfície reflexiva

Transparência (óptica e gráfica) e Opacidade› Transmissão de luz através de objetos sólidos

Translucência› Alta disperção de luz através de objetos sólidos

Refração› Curvatura da luz associada a transparência

Page 9: Rendering e Placas Graficas

Luiz Gustavo de SousaProfessor Donizetti Louro

Jogos Digitais

Difração› Dobra, disperção e interferência da passagem de luz por um

objeto ou abertura

Iluminação Indireta› Iluminação gerada a partir da reflexão de outras superfícies

Caustics› Luminosidade a partir de objeto ou de luz através de objeto

Depth of Field› Simulação de Foco Fotográfico

Motion Blur› Desfoque por velocidade

Page 10: Rendering e Placas Graficas

Luiz Gustavo de SousaProfessor Donizetti Louro

Jogos Digitais

Non-photorealistic rendering

› Simulação de desenho ou pintura

Page 11: Rendering e Placas Graficas

Luiz Gustavo de SousaProfessor Donizetti Louro

Jogos Digitais

Rasterização

› Projeta a geometria para um ponto de visão

Ray Casting

› Além de projetar, trabalha a luminosidade de acordo com o ponto de visão

Page 12: Rendering e Placas Graficas

Luiz Gustavo de SousaProfessor Donizetti Louro

Jogos Digitais

Ray Tracing

› Semelhante a Ray casting, é mais aprimorado e contém mais recursos

Radiosidade

› Aplicada em conjunto a uma das outras técnicas, calcula a passagem de luz até a superfície

Page 13: Rendering e Placas Graficas

Luiz Gustavo de SousaProfessor Donizetti Louro

Jogos Digitais

Tarefa de tornar uma imagem descrita em uma imagem vetorial 3D em 2D

Também aplicada para converter uma imagem vetorizada em uma imagem bitmap.

Page 14: Rendering e Placas Graficas

Luiz Gustavo de SousaProfessor Donizetti Louro

Jogos Digitais

Transformation

› Manipulação da posição, rotação e translação dos vértices de acordo com o ponto de visão

Page 15: Rendering e Placas Graficas

Luiz Gustavo de SousaProfessor Donizetti Louro

Jogos Digitais

Pré-Vertex Lighting

› Calculo da iluminação nos vértices dos polígonos processados, sendo então interpolados durante a rasterização.

Viewing Transformation

› Transforma coordenadas de um mundo 3D para a posição e orientação de uma câmera virtual

Page 16: Rendering e Placas Graficas

Luiz Gustavo de SousaProfessor Donizetti Louro

Jogos Digitais

Primitive Generation

› Geração de novas primitivas a partir da transformação gerada pelo ponto de vista da câmera

Projection Transformation

› Mapeamento dos planos de volume de visão da câmera para os planos que formam o Clip Space

Page 17: Rendering e Placas Graficas

Luiz Gustavo de SousaProfessor Donizetti Louro

Jogos Digitais

Clipping

› Descarte das primitivas não vistas pela cena

Viewport Transformation

› Nova transformação para adequação a resolução da tela

Page 18: Rendering e Placas Graficas

Luiz Gustavo de SousaProfessor Donizetti Louro

Jogos Digitais

Rasterização

› Projeção da imagem 3D no ambiente 2D através da coordenada dos pixels.

Texturing

› Aplicação de textura baseada nos valores de interpolação dos vértices durante a rasterização

Page 19: Rendering e Placas Graficas

Luiz Gustavo de SousaProfessor Donizetti Louro

Jogos Digitais

Display

› Exibição no monitor

Page 20: Rendering e Placas Graficas

Luiz Gustavo de SousaProfessor Donizetti Louro

Jogos Digitais

Graphics Processing Unit

› Unidade de Processamento Grafico

› Responsável por calcular e processar o que será exibido na tela

Criada para aliviar o processador do processamento gráfico

› Renderização

Page 21: Rendering e Placas Graficas

Luiz Gustavo de SousaProfessor Donizetti Louro

Jogos Digitais

Clock

› GPU’s tem clock, visto que são processadores

› O clock indica a quantidade de dados que ela é capaz de processar

› 300Hz = 300 pulsos de clock / segundo

› 600MHz = 600 milhões de pulsos de clock/s

Page 22: Rendering e Placas Graficas

Luiz Gustavo de SousaProfessor Donizetti Louro

Jogos Digitais

Resolução e Cores› MDA (Monochrome Display Adapter): 80 colunas com

25 linhas de caracteres, duas cores

› CGA (Color Graphics Adapter): 320x200 a 640x200 pixels com até 4 cores ao mesmo tempo entre 16 disponíveis;

› EGA (Enhanced Graphics Adapter): 640x350 com 16 cores ao mesmo tempo dentro de 64 possíveis;

› VGA (Video Graphics Adapter): 640x480 e 256 cores simultaneamente ou 800x600 com 16 cores ao mesmo tempo;

› SVGA (Super VGA): 800x600 em diante, com cor em até 32bits (4.294.967.296 Cores)

Page 23: Rendering e Placas Graficas

Luiz Gustavo de SousaProfessor Donizetti Louro

Jogos Digitais

Memoria

› Funciona assim comouma memória Ram,armazenando aquiloque a GPU tem deprocessar

Page 24: Rendering e Placas Graficas

Luiz Gustavo de SousaProfessor Donizetti Louro

Jogos Digitais

Pixel Shader

› Usado para luz, reflexo e sombras

› Consiste na manipulação dos pixels

Vertex Shader

› Semelhante ao Pixel Shader, mas manipula vértices em tempo real

› Usado para deformações em tempo de render

Page 25: Rendering e Placas Graficas

Luiz Gustavo de SousaProfessor Donizetti Louro

Jogos Digitais

Pixel Shader

Page 26: Rendering e Placas Graficas

Luiz Gustavo de SousaProfessor Donizetti Louro

Jogos Digitais

Vertex Shader

Page 27: Rendering e Placas Graficas

Luiz Gustavo de SousaProfessor Donizetti Louro

Jogos Digitais

Texture Mapping Unit

› Trata de rotacionar e manipular a imagem de acordo com a posição a ser empregada como textura

V-Sync

› Sincroniza a quantidade de frames a velocidade de atualização do monitor, evitando cortes de imagem

Page 28: Rendering e Placas Graficas

Luiz Gustavo de SousaProfessor Donizetti Louro

Jogos Digitais

Antialiasing

› Suavização de serrilhado em bordas

Anisotropic Filtering

› Aumento de nitidez em texturas

Page 29: Rendering e Placas Graficas

Luiz Gustavo de SousaProfessor Donizetti Louro

Jogos Digitais

Antialiasing

Page 30: Rendering e Placas Graficas

Luiz Gustavo de SousaProfessor Donizetti Louro

Jogos Digitais

Anisotropic Filtering

Page 31: Rendering e Placas Graficas

Luiz Gustavo de SousaProfessor Donizetti Louro

Jogos Digitais

Como integrar?

› API’s

DirectX

OpenGL

Page 32: Rendering e Placas Graficas

Luiz Gustavo de SousaProfessor Donizetti Louro

Jogos Digitais

Atualmente na versão 11

› Suporte a Ray Tracing

› Suporte a Pixel Shader 4.1

› Aprimoração em texturas e Antialiasing

Page 33: Rendering e Placas Graficas

Luiz Gustavo de SousaProfessor Donizetti Louro

Jogos Digitais

Atualmente na versão 4.0 (estável)

De código aberto

Page 34: Rendering e Placas Graficas

Luiz Gustavo de SousaProfessor Donizetti Louro

Jogos Digitais

Para que serve

› Programação de Shaders (Pixel e Vertex) principalmente, atuando diretamente na GPU

Foi criada para aumentar a abstração da programação, substituindo o Assembly por C

Page 35: Rendering e Placas Graficas

Luiz Gustavo de SousaProfessor Donizetti Louro

Jogos Digitais

Onde isto se encaixa no render?

› Cg é usada em conjunto com bibliotecas OpenGL e DirectX, visto que não gerencia o render sozinha

› Aproveitando dos recursos das bibliotecas da API, consegue obter melhor resultado em conjunto com a GPU

Page 36: Rendering e Placas Graficas

Luiz Gustavo de SousaProfessor Donizetti Louro

Jogos Digitais

É usada em:

› Crystal Space

› Far Cry

› OGRE

› Unity game engine

› Virtools Dev

› Enemy Territory: Quake Wars

Page 37: Rendering e Placas Graficas

Luiz Gustavo de SousaProfessor Donizetti Louro

Jogos Digitais