From 09c102a7a2b0bb759eb4d28c87f1591671231a96 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Luis=20Pe=C3=B1aranda?= Date: Fri, 6 Sep 2013 15:13:56 -0300 Subject: [PATCH] added perspective visualization --- openglcanvas.cpp | 6 +++--- panowindow1.ui | 11 ++++++++--- 2 files changed, 11 insertions(+), 6 deletions(-) diff --git a/openglcanvas.cpp b/openglcanvas.cpp index 805aa58..ddc8d1c 100644 --- a/openglcanvas.cpp +++ b/openglcanvas.cpp @@ -425,7 +425,7 @@ void OpenGLCanvas::vertex_transformation(float *positions, int m, int n, float c lambda=atan2f(x,-z)/CONST_PI_F; phi=asinf(y)/CONST_PI_2_F; - if (visualization=="Moebius"){ + if (visualization=="Moebius" || visualization=="Perspective"){ u = x/(-z); v = y/(-z); positions[3*(j+i*n)] = u/extent; @@ -535,7 +535,7 @@ float OpenGLCanvas::calculate_extent(float fov_rads){ x=(4.f*u)/(u*u+v*v+4.f); y=(4.f*v)/(u*u+v*v+4.f); z=(u*u+v*v-4.f)/(u*u+v*v+4.f); - if (visualization=="Moebius"){ + if (visualization=="Moebius" || visualization=="Perspective"){ u=x/(-z); v=y/(-z); } @@ -774,7 +774,7 @@ void OpenGLCanvas::paintGL(){ // defining transformation parameters (that will be passed to the vertex shader) float extent=calculate_extent(fov_rads); float vis_mode=.0f; - if (visualization=="Moebius") vis_mode=1.f; + if (visualization=="Moebius" || visualization=="Perspective") vis_mode=1.f; else if (visualization=="3D Sphere") vis_mode=2.f; else if (visualization=="Equi-Rectangular") vis_mode=3.f; else if (visualization=="Stereographic") vis_mode=4.f; diff --git a/panowindow1.ui b/panowindow1.ui index 0fd6e7d..3206d50 100644 --- a/panowindow1.ui +++ b/panowindow1.ui @@ -192,6 +192,11 @@ Equi-Rectangular + + + Perspective + + Stereographic @@ -199,17 +204,17 @@ - Mercator + Orthographic - Zorin-Barr + Mercator - Orthographic + Zorin-Barr -- GitLab