Professional Documents
Culture Documents
Indice
1. INTRODUCCION
2. CONCEPTO DE COHERENCIA
PRECISION A LA IMAGEN
6
5. ALGORITMO DE WARNOCK
13
6. ALGORITMO DE Z-BUFFER
16
20
21
9. CONCLUSIONES
24
10.
25
BIBLIOGRAFIA
Pgina3
PRECISION AL OBJETO
Ocultamiento de Superficies
Introduccin
Hasta el momento hemos aprendido como construir y proyectar objetos
tridimensionales, pero siempre se ven todas las partes del objeto. Esto da
a nuestros dibujos una cierta calidad de transparencia. Las figuras que se
obtienen de esta forma reciben el nombre de modelos almbricos ya que
slo presentan los contornos de objetos supuestamente slidos. Los
objetos complejos se pueden convertir rpidamente en un enredo de
segmentos y curvas sin sentido. Es difcil identificar que lneas pertenecen
a la parte frontal de objeto y cuales estn situadas detrs.
Otra consideracin a tomar en cuenta cuando queremos lograr una
simulacin de carcter real es que en el mundo real un objeto puede
obstaculizar la visualizacin de otro objeto, es decir, los objetos pueden
interponerse, ocultando la visin de otros.
El problema general consiste en hacer que los objetos se vuelvan opacos
en el mundo de los grficos tridimensionales y a esto se le denomina
eliminacin de superficies ocultas.
Este problema no es tan sencillo como cabra pensar en un principio. De
hecho, es el ms complejo en trminos de programacin. Lo que la
naturaleza hace con facilidad (y una gran cantidad de procesamiento
paralelo) debemos hacerlo nosotros con un nmero elevado de clculos.
Existen varias soluciones para el problema de las superficies y lneas
Pgina3
ocultas.
Ocultamiento de Superficies
Concepto de Coherencia
de la recta que se forma cuando dos planos se cruzan, solo son necesarios dos.
Pgina3
suavemente, lo que permite hacer los clculos de modo incremental sin tener
Ocultamiento de Superficies
la de rea y la de profundidad.
donde p representa el
nmero de pxeles.
PRECISION
AL
OBJETO
(object-precision):
comparar
Pgina3
Ocultamiento de Superficies
PRECISION A LA IMAGEN
Se realizan en el sistema de coordenadas de la imagen.
Se determina cual de los n objetos es visible en cada uno de los p pxeles
de la imagen.
Algoritmo
PARA (cada pxel de la imagen) {
Determinar el objeto ms cercano al observador que
es atravesado por el rayo proyector a travs del
pxel;
Dibujar el pxel con el color apropiado;
Pgina3
Ocultamiento de Superficies
Se observa que compara todos los objetos con cada pxel, su complejidad es
O(n*p)
Este algoritmo depende del dispositivo utilizado y el tamao de la ventana. Al
cambiar la cantidad de pxeles se deben rehacer los clculos.
Algoritmos: Z Buffer, Warnock, Scan-Line , Back-Face Culling
Los algoritmos de precisin de imagen se hicieron para sistemas grficos de
barrido.
PRECISION AL OBJETO
Realizan el proceso de clculo en el sistema de coordenadas del objeto.
Se compara directamente cada objeto con el resto de los elementos,
eliminando objetos enteros, tambin partes no visibles del objeto.
Algoritmo
PARA (cada objeto de la escena) {
Determinar aquellas partes del objeto
cuya vista no esta obstruida por:
el mismo objeto;
otro objeto;
Dibujar esas partes con el color apropiado;
Pgina3
Ocultamiento de Superficies
ALGORITMOS DE OCULTAMIENTO DE
SUPERFICIES
1. SUPERFICIES OCULTAS: BACK FACE RENOVAL (CULLING)
Pgina3
Ocultamiento de Superficies
Pgina3
Ocultamiento de Superficies
Clculo de la normal:
1. En 2D
a. Se ordenan vrtices en direccin antihorario.
b. Normal a una arista se calcula como producto vectorial de vector
de la arista con vector unitario de eje OZ
c. Ejemplo: Si tenemos un polgono de vrtices A B C D (sentido
antihorario), la normal a la arista AB es:
2. En 3D
a. Se ordenan vrtices de cada cara en sentido antihorario vistos
desde fuera del objeto
b. Normal a la cara es el producto vectorial de dos aristas
consecutivas
c. Ejemplo: Si una de las caras del objeto tiene los vrtices A B C (en
sentido antihorario vistos desde fuera del objeto), la normal a la
cara ABC es, por ejemplo:
Clculo del signo del coseno del ngulo entre la normal y la direccin
de proyeccin
1. Basta estudiar el signo del producto escalar :
a usar:
Pgina3
a. El vector
va del objeto hacia el centro de proyeccin
b. Si el centro de proyeccin CP = (C x,Cy,Cz,0) es un punto impropio,
coincide con CP
Ocultamiento de Superficies
10
Observaciones:
1. Se puede hacer back face antes del prewarping: ahorra proceso de
proyeccin
2. Si se hace prewarping, el signo del producto escalar es el signo de la
coordenada
Z
de
la
normal
a
la
cara
(tras prewarping, la proyeccin es ortogrfica con direccin/CP (0,0,1,0))
3. No es preciso normalizar las normales (hacerlas unitarias), aunque este
clculo viene bien para otros algoritmos (iluminacin)
4. En el clculo de la direccin de proyeccin para CP propios, da igual el
vrtice de la cara escogido (relacin con distancia de punto a plano del
producto
)
5. Otra forma alternativa de clculo del signo:
1. Si Ax+By+Cz+D=0 es la ecuacin del plano de la cara y
2. (A, B, C) es un vector normal a la cara apuntando hacia afuera
3. entonces el signo a estudiar es el de AC x+BCy+CCz+DCw (relacin
con distancia de punto a plano)
Pgina3
Ocultamiento de Superficies
11
Pgina3
Ocultamiento de Superficies
12
Pgina3
Las ltimas GPUs poseen soporte para Pxel Shaders programables los cuales
mejoran drsticamente las posibilidades de los programadores. La tendencia
est apuntada a la completa programabilidad de la pipeline (tubera,
conducto) grfica.
Ocultamiento de Superficies
13
Pgina3
Pasos de un RIP:
Ocultamiento de Superficies
14
Los RIP se usan en las impresoras lser para comunicar las imgenes
rasterizadas al lser de barrido de la impresora.
2.
ALGORITMO DE WARNOCK
Pgina3
Procedimiento interno
Ocultamiento de Superficies
15
Comprobaciones de solapamiento
Pgina3
Ocultamiento de Superficies
16
Comprobacin de proximidad
1. Se realiza cuando rectngulo est completamente dentro de
una cara
2. Se calcula distancia (Z) de las esquinas del rectngulo para los
planos de todas las caras cuya proyeccin se solapa con
rectngulo
1. Si una de las caras tiene distancias menores que todas las dems
(la mayor de sus distancias es menor que cualquiera de las del
resto de las caras), esta es la cara ms cercana
2. Si esto no sucede, o si la cara ms cercana no incluye al
rectngulo por completo, se subdivide
Pgina3
Observaciones
Ocultamiento de Superficies
17
3.
El Algoritmo Z-Buffer
Pgina3
Ocultamiento de Superficies
18
glEnable (GL_DEPTH_TEST)
Esta llamada le dice al OpenGL que active el este de profundidad. Adems,
cada vez que se redibuje la escena, aparte de borrar el buffer de color, hay
que borrar el buffer de profundidad, y eso se realiza con la llamada a:
Pgina3
modo visualizacin.
Ocultamiento de Superficies
Sin Z- Buffer
19
Con Z-Buffer
Pgina3
de cada posicin.
Ocultamiento de Superficies
20
Void z_Buffer(){
int x, y;
for(y=0;y<YMAX;y++){
for(x=0;x<XMAX;x++){
WritePixel(x,y,color);
WriteZ(x,y,0);
}
}
}
//Este metodo limpia el frame Buffer y el Z-Buffer
//en lo que respecta al eje Z
Pgina3
Ocultamiento de Superficies
21
Pgina3
Ocultamiento de Superficies
22
4.
Pgina3
Ocultamiento de Superficies
23
5.
Algoritmo BSP (Particion Binaria
del Espacio)
Binary space partitioning o Particin Binaria del Espacio (BSP) es un
mtodo para subdividir recursivamente un espacio en elementos convexos
empleando hiperplanos. Esta subdivisin da lugar a una representacin de la
escena por medio de una estructura de datos del rbol conocida como rbol
de BSP
Pgina3
En diseo por ordenador es deseable que el dibujo de una escena sea correcta
y rpida. Una manera sencilla de dibujar una escena correctamente es el
algoritmo del pintor: dibujar primero lo ms lejano y despus lo ms cercano.
Sin embargo, este sistema es muy limitado ya que se pierde tiempo pintando
objetos que ms tarde sern tapados por otros.
Ocultamiento de Superficies
24
adecuado. Tambin sirve como base para otros algoritmos, como las listas de
visibilidad, que buscan evitar dibujar sin necesidad.
El problema es que necesita un pre-procesamiento de la escena, lo que hace
difcil e ineficiente insertar los objetos mviles directamente en el rbol BSP.
Esto se suele solucionar empleando conjuntamente un Z-Buffer, usndolo para
unir correctamente los objetos mviles como puertas y enemigos con el resto
de la escena.
Los rboles BSP se emplean normalmente en los videojuegos, especialmente
en los de accin en primera persona y en los que tienen entornos de interior.
Probablemente el primer juego que emple esta tcnica fue Doom (ver motor
de Doom para ms informacin sobre la implementacin). Otros usos incluye
el Ray tracing y la deteccin de colisiones
Si card(S) = 1:
o T(S) es una hoja, v;
o En la hoja se almacena el objeto (si existe), S(v).
Si card(S) > 1:
o La raz v de T(S) almacena:
una recta (plano) hv,
conjunto S(v) de objetos contenidos en hv.
o Hijo izquierdo de v: raz de un rbol T(S-), con S = {hv- instp S :
s ? S}.
o Hijo derecho de v: raz de un rbol T(S+), con S + = {hv+ instp S :
s ? S}.
Pgina3
La particin binaria del espacio es un proceso genrico que divide una escena
recursivamente en dos hasta que satisface uno o ms requisitos. El mtodo
especfico empleado vara dependiendo del objetivo final. Por ejemplo, en un
rbol BSP empleado para la deteccin de colisiones el objeto original sera
dividido hasta que cada parte sea lo suficientemente sencilla como para ser
individualmente comprobada, y en el renderizaje interesa que cada parte sea
convexa, de forma que el algoritmo del pintor pueda ser usado.
Ocultamiento de Superficies
25
1.
2.
3.
4.
Inicialmente, esta idea se propuso para los grficos 3D por ordenador para
incrementar la eficiencia de renderizado. Otros usos son el procesamiento
geomtrico con formas, Constructive Solid Geometry en herramientas CAD,
deteccin de colisiones en robtica y videojuegos 3D, y otras aplicaciones
Pgina3
Ocultamiento de Superficies
26
Pgina3
Conclusiones
Ocultamiento de Superficies
27
http://es.wikipedia.org/wiki/Rasterizaci%C3%B3n
Pgina3
Bibliografa
Ocultamiento de Superficies
28
http://arantxa.ii.uam.es/~pedro/graficos/teoria/BackFace/Ba
ckFace.htm
http://www.scribd.com/doc/22112172/Ocultamiento
http://www.mieres.uniovi.es/egi/dao/apuntes/ocultamiento.
html
http://www.google.com.pe/url?
sa=t&source=web&cd=2&ved=0CBgQFjAB&url=http%3A
%2F%2Fseccperu.org%2Ffcatho%2Flib%2Fexe
%2Ffetch.php%3Fid
%3Dimage_processing_and_computer_graphics%26cache
%3Dcache%26media
%3Docultamiento_y_relleno.pdf&ei=Oq0zTK7vLYG88gbo0M
mjAw&usg=AFQjCNFNpRW6DpSNISZ-sF_Q7QCwnQukpA
Pdf de ocultamiento y relleno.
Diapositivas del Laboratorio de Computacin Grafica
Universidad Central de Venezuela
http://arantxa.ii.uam.es/~pedro/graficos/teoria/Warnock/Wa
rnock.htm
http://arantxa.ii.uam.es/~pedro/graficos/teoria/
http://es.wikipedia.org/wiki/Z-buffer
http://arantxa.ii.uam.es/~pedro/graficos/teoria/ScanZBuffer/
ScanZBuffer.htm
http://es.wikipedia.org/wiki/Algoritmo_del_pintor
Pgina3
http://es.wikipedia.org/wiki/%C3%81rbol_BSP