diff --git a/openglcanvas.cpp b/openglcanvas.cpp index 805aa586147c270ad4c37680d4a1b8915bbe0243..ddc8d1c21810b5c01976ed57bb83ce6e44744bd6 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 0fd6e7dbd7c00642c414f9544e861ec17443f420..3206d50c6c71e2a838760b45ac4404987cabe3c5 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