9
Tema 6

Detección Superficies Visibles

Embed Size (px)

DESCRIPTION

Explicacion breve de los metodos.

Citation preview

Page 1: Detección Superficies Visibles

Tem

a 6

Page 2: Detección Superficies Visibles

Tem

a 6: D

ete

cción S

up. V

isibles

1

0. Clasificación

Tenemos algoritmos que operan

directamente con la definición de los

objetos o con sus imágenes proyectadas:

• Espacio-Objeto: se trabaja directamente

con la información geométrica de los

objetos

• Espacio-Imagen: se trabaja con las

proyecciones de los objetos reales

Page 3: Detección Superficies Visibles

Tem

a 6: D

ete

cción S

up. V

isibles

2

1. Culling

Eliminación de caras traseras (BACK) y pintar las

caras frontales (FRONT).

• glEnable(GL_CULL_FACE);

• glDisable(GL_CULL_FACE);

• Ax+By+Cz+D=0

x

v0

C≤0

C>0

El sentido dextrógiro define

la cara frontal, no la normal

z

v1

v2

v3

N

N

N

Page 4: Detección Superficies Visibles

Tem

a 6: D

ete

cción S

up. V

isibles

3

1. Buffer de Profundidad

Se emplea un buffer auxiliar donde se almacena la

z de cada píxel que se pinta en el FrameBuffer,

este buffer se llama Depth-Buffer o Z-Buffer.

• glEnable(GL_DEPTH_TEST);

• glDisable(GL_DEPTH_TEST);

x

zS

1

S2

S3

y

Page 5: Detección Superficies Visibles

Tem

a 6: D

ete

cción S

up. V

isibles

1. Buffer de Profundidad

El cálculo de la z se realiza de la siguiente forma:

Restando obtenemos:• Haciendo lo mismo para la y (de una línea a la de abajo), obtenemos:

4

C

DByAxz

C

DByxAz

)1(

C

Azz

C

Bzz

x x’

C

BmAzz

/

m

yy-1

Page 6: Detección Superficies Visibles

Tem

a 6: D

ete

cción S

up. V

isibles

2. Scan-Line Z-Buffer

Se cambia el orden del algoritmo (de los bucles)

para emplear sólo un Z-Buffer de una línea,

reducción espacial:

En el Z-Buffer:

Para cada Triángulo

Para cada Scan-Line

Rasterizar

En el Scan-Line

Para cada Scan-Line

Para cada Triángulo

Rasterizar

5

Page 7: Detección Superficies Visibles

Tem

a 6: D

ete

cción S

up. V

isibles

3. Span-Line Z-Buffer

Se analizan los segmentos en

cada scan-line y , se consigue una

reducción espacial y temporal:

• Si no hay ninguno, color de fondo

• Si hay uno se pinta de ese color

• Si hay varios se calcula la z en el

centro y se pinta el de menor z

6

x

yy

z

A B

A B A B

Page 8: Detección Superficies Visibles

Tem

a 6: D

ete

cción S

up. V

isibles

4. El Método del Pintor

Se pinta de lejos a cerca:

• Se ordenan los triángulos por z decreciente

mediante quick-sort y se pintan en ese orden

• Si hay intersecciones entre triángulos se determina

cual esta delante y cuál detrás, sino se parten,

reglas de solapamiento en z, si se cruzan se miran

las proyecciones en x, en y, sino en en el plano xy

7

Page 9: Detección Superficies Visibles

Tem

a 6: D

ete

cción S

up. V

isibles

5. Raycasting

Se lanzan rayos contra la escena, el primer

objeto con el que choca el rayo está

delante, si es transparente, el rayo avanza

y busca más objetos, hasta encontrar uno

opaco

Se emplean bounding-box para acelerar los

cálculos, usualmente esferas y cilindros

8