• Non ci sono risultati.

+ = Texture mapping Texture Mapping

N/A
N/A
Protected

Academic year: 2021

Condividi "+ = Texture mapping Texture Mapping"

Copied!
7
0
0

Testo completo

(1)

Marco Tarini - 2014 1 Game Engines

Master Game Dev Verona, 2014-2015

Texture Mapping

Marco Tarini

Texture mapping

geometria 3D

(insieme di quadrilateri)

+

RGB texture 2D (color-map)

=

(2)

Altro esempio di color-map

+ =

Altri esempi di color-map

(3)

Marco Tarini - 2014 3

Texture maps!

Uno degli assets + comuni e importanti di un games

Uno dei maggiori consumatori di GPU RAM

Texture maps: strutture dati

Sostanzialmente, un’immagine rasterizzata?

Texture sheet

«Texel»

(4)

Texture maps: strutture dati

Ogni texel è…

Un colore RGB (color map, RGB map,diffuse map) Una normale (bump map, o normal map)

Il coefficiente speculare (specular map) Un fattore di trasparenza (alpha map, o

cutout texture) Una scavo dalla superfice

(displacemnt map, oheight texture) Un lighiting precalcolato (light map ,

baked light texture)

MIP map levels

Pre-filtering delle tessiture

“LOD levels per immagini”!

Hardware sceglie livello giusto per pixel Evita artefatti di sottocampionamento

1024x1024

512x512

256x256

1x1

(5)

Marco Tarini - 2014 5

Texture maps come assets

Caratteristiche:

Size:

risoluzione

canali (es: alpha?)

MIP-map (presenti o no?) Compressione?

Vincoli ricorrenti:

res come potenze di 2

(richiesto da sempre meno engines) sia in U che in V

(es: 256x256 o 1024x512)

res per lato < max

(es: max = 4096 o 2048)

Texture Sheet on GPU

LOAD

Life of a Texure in a Game Engine

DISK CENTRAL RAM GPU RAM

Image Object

IMPORT

Image File

(and, basically, any 3D assets)

(6)

formati files

x immagini generiche

(decomprimere tutta immagine prima di accedere ai pixel)

compressione: ottima loading: pesante:

decomprimere da RAM, (forse) ricomprimere in GPU-RAM

MIP-map lvls etc:

controllato dall’engine

x textures

(random accessibility ai texels senza decomprimere)

compressione: cattiva

loading: leggero

direct copy Disco => RAM =>

GPU RAM

MIP-map lvls etc:

controllato dall’artista

Texture maps come assets:

formati files

x immagini generiche:

.JPG /.JPEG lossy,

> compresisone,

immagini “fotografiche”: best solo 3 canali (no choice) 8 bit x canale (no choice) .PNG

lossless

< compressione

disegni: best

anche canale alpha possibile

anche 16 bits possibile .TIFF e.RAW (rari)

lossless

compressione: vabbe’

x textures:

.DDS

(direct draw surface) lossy

compresisone: poco (a rate fisso)

GPU ready

inlcude MIPmap levels (volendo)

con compressione a scelta (S3TC):

DXT1 DXT2 DXT3 DXT4 DXT5

(diversi compromessi fra qualità,

“no / 1-bit alpha”

“rough alpha”

“smooth alpha ”

(7)

Marco Tarini - 2014 7

Come si legano le tessiture alle mesh?

3D Models i.e. tri-meshes with:

per vertex attrib normals, color, AO, … LODs

“uv-mapping”

keyframes cyclic animations face-morphs, …

“skinning”

Materials

lighting model stats / flags textures

RGB maps normal maps alpha maps … shaders

vertex, fragments, …

Parte 3D dei game assets

Animations

blend shapes skeletal animations kinematic animations geometry caches

Skeletons (rigs)

Collision objects

hit-boxes bounding objects

Particle systems

Environments

3d scenes skydomes env. maps scene props

Riferimenti

Documenti correlati

A simple rendering method is presented to avoid vertex seams in cylindrical and toroidal uv-mappings used for texture mapping (a vertex seam is a vertex dupli- cation of a

Marco Tarini - Video Game Dev Univ... Marco Tarini - Video Game Dev

 Strategy 1: use local lighting, but feed it a position dependent light environment.  precomputed

un video game un game engine video game tools video game dev-teams. Skills e conoscenze che

1:N -- vari texture «sheets» associati ad una mesh N:1 -- più meshes sullo stesso sheet (bene). se parti diverse di mesh associate a tessiture

Particle Systems - Texture Assets 22/11/2014.. Master GameDEv - Marco Tarini -

3D models meshes textures materials shaders animations collision objects scenes.

– come sappiamo, cumulabile con qualunque altra trasf..