Anda di halaman 1dari 11

DEFINICIN DE

VIEWPORT
Volviendo a la analoga con la cmara
fotogrfica, la transformacin del viewport
se correspondera con el proceso en que se
decide el tamao final de la fotografa
revelada.
- Concept ual ment e, es el pl ano 2D sobre el que
se proyect a l a escena 3D que hemos def i ni do.
- En ot ras pal abras :
ES LA PORCI N DE LA VENTANA GRFI CA EN QUE
SE DI BUJAN LOS OBJETOS CONTENI DOS EN LA
VENTANA DE MUNDO.
DEFINICIN DE
VIEWPORT
Por def ect o, al crear una vent ana se
i ni ci al i za un Vi ewport que ocupa t oda el
rea grf i ca di sponi bl e. Es posi bl e
cambi ar est e val or medi ante l a ruti na
OpenGL:

gl Vi ewport (GLi nt x, GLi nt y, GLsi zei
wi dt h, GLsi zei hei ght );

DEFINICIN DE
VIEWPORT
glViewport(GLint x, GLint y, GLsizei width,
GLsizei height)

Donde:
(x, y) es la esquina superior izquierda del Viewport en
coordenadas pantalla y (width y height) corresponden
a la anchura y altura del Viewport deseado. Por
defecto, GLUT define el Viewport con los valores (0, 0,
Width, Height), donde Width y Height especifican el
tamao de la ventana.

Transformacin del Viewport a la Ventana
(x,y) = localizacion del punto inferior izquierdo del
viewport dentro de la ventana
width,height = dimension en pixels del viewport




Normalmente se redefine el tamao de la ventana
despus recibir un evento resize para asegurar un
correcto mapeo entre el viewport y la ventana:

Aspect Ratio
aspect ratio define la relacin entre el ancho y
alto de una imagen.
Usando el parmetro aspect de la funcin
gluPerspective, otra forma es usar el ancho y
alto del viewport.


void reshape(int width, int height)
{
glViewport(0, 0, width, height);
glMatrixMode(GL_PROJECTION);
glLoadIdentity();
gluPerspective(85.0, 1.0, 5, 50);
}

Transformaciones de visin
Ventana en coordenadas
mundiales
(x
min
,
y
min
)
(x
max
, y
max
)
Ventana trasladada al
origen
Ventana escalada al
tamao del rea de visin.
Traslacin hasta la posicin
final.
(u
min
,
v
min
)
(u
max
,
v
max
)
Transformaciones de visin (continuacin)
( ) ( )
min min
min max
min max
min max
min max
min min
, , , v u T
y y
v v
x x
u u
S y x T M
WV

|
|
.
|

\
|

=
(
(
(

(
(
(
(
(
(

(
(
(


=
1
0 1 0
0 0 1
1 0 0
0 0
0 0
1
0 1 0
0 0 1
min min
min max
min max
min max
min max
min min
v u
y y
v v
x x
u u
y x
Transformaciones de visin (continuacin)
(
(
(
(
(
(
(

=
1
0 0
0 0
min
min max
min max
min min
min max
min max
min
min max
min max
min max
min max
v
y y
v v
y u
x x
u u
x
y y
v v
x x
u u
M
WV