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