Loading extended_controls.ui +204 −148 Original line number Diff line number Diff line Loading @@ -18,88 +18,99 @@ <normaloff/> </iconset> </property> <layout class="QGridLayout" name="gridLayout"> <item row="23" column="1" colspan="2"> <widget class="QPushButton" name="pushButton"> <property name="text"> <string>Close</string> <widget class="OpenGLCanvas" name="GLCanvas" native="true"> <property name="geometry"> <rect> <x>9</x> <y>9</y> <width>1110</width> <height>673</height> </rect> </property> <property name="sizePolicy"> <sizepolicy hsizetype="Expanding" vsizetype="Preferred"> <horstretch>0</horstretch> <verstretch>0</verstretch> </sizepolicy> </property> <property name="baseSize"> <size> <width>0</width> <height>0</height> </size> </property> </widget> </item> <item row="16" column="1"> <widget class="QCheckBox" name="shrinkAll"> <widget class="QWidget" name="layoutWidget"> <property name="geometry"> <rect> <x>1120</x> <y>9</y> <width>150</width> <height>671</height> </rect> </property> <layout class="QVBoxLayout" name="verticalLayout_4"> <item> <layout class="QVBoxLayout" name="verticalLayout_2"> <item> <widget class="QLabel" name="label_3"> <property name="text"> <string>Shrink all</string> <string>Visualization</string> </property> </widget> </item> <item row="20" column="1" alignment="Qt::AlignHCenter"> <widget class="QSlider" name="changefovmax"> <property name="minimum"> <number>1</number> </property> <property name="maximum"> <number>359</number> </property> <property name="sliderPosition"> <number>60</number> </property> <property name="orientation"> <enum>Qt::Vertical</enum> </property> <property name="tickPosition"> <enum>QSlider::NoTicks</enum> </property> <property name="tickInterval"> <number>10</number> <item> <widget class="QComboBox" name="comboBox_2"> <item> <property name="text"> <string>Moebius</string> </property> </widget> </item> <item row="20" column="2" alignment="Qt::AlignHCenter"> <widget class="QSlider" name="changefov"> <property name="minimum"> <number>1</number> <item> <property name="text"> <string>3D Sphere</string> </property> <property name="maximum"> <number>359</number> </item> <item> <property name="text"> <string>Equi-Rectangular</string> </property> <property name="value"> <number>60</number> </item> <item> <property name="text"> <string>Perspective</string> </property> <property name="orientation"> <enum>Qt::Vertical</enum> </item> <item> <property name="text"> <string>Stereographic</string> </property> </widget> </item> <item row="3" column="1" colspan="2"> <widget class="QLabel" name="label"> <item> <property name="text"> <string>Shrink computation</string> <string>Orthographic</string> </property> </widget> </item> <item row="18" column="2" alignment="Qt::AlignHCenter"> <widget class="QLabel" name="label_6"> <item> <property name="text"> <string>FOV</string> <string>Mercator</string> </property> </widget> </item> <item row="0" column="1" colspan="2"> <widget class="QLabel" name="label_3"> <item> <property name="text"> <string>Visualization</string> <string>Zorin-Barr</string> </property> </item> </widget> </item> <item row="18" column="1"> <widget class="QLabel" name="label_5"> <item> <widget class="QLabel" name="label"> <property name="text"> <string>FOV max</string> <string>Shrink computation</string> </property> </widget> </item> <item row="6" column="1" colspan="2"> <item> <widget class="QComboBox" name="comboBox"> <property name="editable"> <bool>false</bool> Loading Loading @@ -139,40 +150,86 @@ </item> </widget> </item> <item row="19" column="2" alignment="Qt::AlignHCenter"> <widget class="QLCDNumber" name="fovled"> <property name="frameShape"> <enum>QFrame::NoFrame</enum> </layout> </item> <item> <layout class="QFormLayout" name="formLayout"> <item row="0" column="0"> <widget class="QSlider" name="changezblambda"> <property name="sizePolicy"> <sizepolicy hsizetype="Expanding" vsizetype="Fixed"> <horstretch>0</horstretch> <verstretch>0</verstretch> </sizepolicy> </property> <property name="numDigits"> <number>3</number> <property name="minimum"> <number>1</number> </property> <property name="segmentStyle"> <enum>QLCDNumber::Flat</enum> <property name="maximum"> <number>1000</number> </property> <property name="pageStep"> <number>100</number> </property> <property name="value"> <number>100</number> </property> <property name="orientation"> <enum>Qt::Horizontal</enum> </property> </widget> </item> <item row="19" column="1" alignment="Qt::AlignHCenter"> <widget class="QLCDNumber" name="fovmaxled"> <property name="frameShape"> <enum>QFrame::NoFrame</enum> <item row="0" column="1"> <widget class="QLabel" name="label_2"> <property name="text"> <string>lambda</string> </property> <property name="numDigits"> <number>3</number> </widget> </item> <item row="1" column="0"> <widget class="QSlider" name="changezbR"> <property name="sizePolicy"> <sizepolicy hsizetype="Expanding" vsizetype="Fixed"> <horstretch>0</horstretch> <verstretch>0</verstretch> </sizepolicy> </property> <property name="segmentStyle"> <enum>QLCDNumber::Flat</enum> <property name="minimum"> <number>1</number> </property> <property name="maximum"> <number>1000</number> </property> <property name="pageStep"> <number>100</number> </property> <property name="value"> <number>100</number> </property> <property name="orientation"> <enum>Qt::Horizontal</enum> </property> </widget> </item> <item row="22" column="1" colspan="2"> <widget class="QPushButton" name="chooseFile"> <item row="1" column="1"> <widget class="QLabel" name="label_4"> <property name="text"> <string>Input Image</string> <string>R</string> </property> </widget> </item> </layout> </item> <item> <layout class="QVBoxLayout" name="verticalLayout_3"> <item> <widget class="QCheckBox" name="shrinkAll"> <property name="text"> <string>Shrink all</string> </property> </widget> </item> <item row="17" column="1" colspan="2"> <item> <widget class="QCheckBox" name="automax"> <property name="enabled"> <bool>true</bool> Loading @@ -188,118 +245,117 @@ </property> </widget> </item> <item row="1" column="1" colspan="2"> <widget class="QComboBox" name="comboBox_2"> <item> <property name="text"> <string>Moebius</string> </property> </layout> </item> <item> <layout class="QGridLayout" name="gridLayout"> <item row="0" column="1"> <widget class="QLabel" name="label_6"> <property name="text"> <string>3D Sphere</string> <string>FOV</string> </property> </widget> </item> <item> <property name="text"> <string>Equi-Rectangular</string> <item row="1" column="0"> <widget class="QLCDNumber" name="fovmaxled"> <property name="frameShape"> <enum>QFrame::NoFrame</enum> </property> </item> <item> <property name="text"> <string>Perspective</string> <property name="numDigits"> <number>3</number> </property> </item> <item> <property name="text"> <string>Stereographic</string> <property name="segmentStyle"> <enum>QLCDNumber::Flat</enum> </property> </widget> </item> <item> <property name="text"> <string>Orthographic</string> <item row="2" column="1" alignment="Qt::AlignHCenter"> <widget class="QSlider" name="changefov"> <property name="minimum"> <number>1</number> </property> </item> <item> <property name="text"> <string>Mercator</string> <property name="maximum"> <number>359</number> </property> </item> <item> <property name="text"> <string>Zorin-Barr</string> <property name="value"> <number>60</number> </property> <property name="orientation"> <enum>Qt::Vertical</enum> </property> </item> </widget> </item> <item row="9" column="1" colspan="2"> <widget class="QSlider" name="changezblambda"> <property name="sizePolicy"> <sizepolicy hsizetype="Expanding" vsizetype="Fixed"> <horstretch>0</horstretch> <verstretch>0</verstretch> </sizepolicy> <item row="1" column="1"> <widget class="QLCDNumber" name="fovled"> <property name="frameShape"> <enum>QFrame::NoFrame</enum> </property> <property name="numDigits"> <number>3</number> </property> <property name="segmentStyle"> <enum>QLCDNumber::Flat</enum> </property> </widget> </item> <item row="2" column="0" alignment="Qt::AlignHCenter"> <widget class="QSlider" name="changefovmax"> <property name="minimum"> <number>1</number> </property> <property name="maximum"> <number>1000</number> <number>359</number> </property> <property name="pageStep"> <number>100</number> <property name="sliderPosition"> <number>60</number> </property> <property name="orientation"> <enum>Qt::Horizontal</enum> <enum>Qt::Vertical</enum> </property> <property name="tickPosition"> <enum>QSlider::NoTicks</enum> </property> <property name="tickInterval"> <number>10</number> </property> </widget> </item> <item row="0" column="0" rowspan="24"> <widget class="OpenGLCanvas" name="GLCanvas" native="true"> <property name="sizePolicy"> <sizepolicy hsizetype="Expanding" vsizetype="Preferred"> <horstretch>0</horstretch> <verstretch>0</verstretch> </sizepolicy> </property> <property name="baseSize"> <size> <width>0</width> <height>0</height> </size> <item row="0" column="0"> <widget class="QLabel" name="label_5"> <property name="text"> <string>FOV max</string> </property> </widget> </item> <item row="21" column="1" colspan="2"> </layout> </item> <item> <layout class="QVBoxLayout" name="verticalLayout"> <item> <widget class="QPushButton" name="reCenter"> <property name="text"> <string>Re-center</string> </property> </widget> </item> <item row="10" column="1" colspan="2"> <widget class="QSlider" name="changezbR"> <property name="sizePolicy"> <sizepolicy hsizetype="Expanding" vsizetype="Fixed"> <horstretch>0</horstretch> <verstretch>0</verstretch> </sizepolicy> </property> <property name="minimum"> <number>1</number> </property> <property name="maximum"> <number>1000</number> </property> <property name="pageStep"> <number>100</number> <item> <widget class="QPushButton" name="chooseFile"> <property name="text"> <string>Input Image</string> </property> <property name="orientation"> <enum>Qt::Horizontal</enum> </widget> </item> <item> <widget class="QPushButton" name="pushButton"> <property name="text"> <string>Close</string> </property> </widget> </item> </layout> </item> </layout> </widget> </widget> <layoutdefault spacing="6" margin="11"/> <customwidgets> Loading openglcanvas.cpp +13 −8 Original line number Diff line number Diff line Loading @@ -28,6 +28,15 @@ //#define CONST_PI_F (0x1.921fb6p+1f) //#define CONST_PI_2_F (0x1.921fb6p+0f) // These definitions specify which attributes should be used to store some // parameters passed to the vertex shader. Nvidia hardware // only leaves attributes 1 and 7 unreserved; attributes 8 to 15 are // reserved for textures. // TODO: we use attributes 14 and 15, which work for Nvidia; we need to // test with other hardware. #define ZBL_ATTR 14 #define ZBR_ATTR 15 OpenGLCanvas::OpenGLCanvas(QWidget *parent) : QGLWidget(parent) { Loading Loading @@ -99,12 +108,14 @@ void OpenGLCanvas::change_fov_max(int new_fov_max){ void OpenGLCanvas::change_zb_lambda(int new_zb_lambda){ zblambda=(float)new_zb_lambda/1000; fprintf(stderr,"zb_lambda=%f\n",zblambda); glVertexAttrib1f(ZBL_ATTR,zblambda); updateGL(); } void OpenGLCanvas::change_zb_R(int new_zb_R){ zbR=(float)new_zb_R/1000; zbR=(float)new_zb_R/100; fprintf(stderr,"zb_R=%f\n",zbR); glVertexAttrib1f(ZBR_ATTR,zbR); updateGL(); } Loading Loading @@ -728,13 +739,7 @@ void OpenGLCanvas::setShaders() { GLuint p = glCreateProgram(); // Bind attributes zblambda and zbR to the vertex shader. Nvidia hardware // only leaves attributes 1 and 7 unreserved; attributes 8 to 15 are // reserved for textures. // TODO: we use attributes 14 and 15, which work for Nvidia; we need to // test with other hardware. #define ZBL_ATTR 14 #define ZBR_ATTR 15 // Bind attributes zblambda and zbR to the vertex shader. glVertexAttrib1f(ZBL_ATTR,zblambda); glBindAttribLocation(p,ZBL_ATTR,"zblambda"); glVertexAttrib1f(ZBR_ATTR,zbR); Loading panowindow1.ui +198 −104 File changed.Preview size limit exceeded, changes collapsed. Show changes Loading
extended_controls.ui +204 −148 Original line number Diff line number Diff line Loading @@ -18,88 +18,99 @@ <normaloff/> </iconset> </property> <layout class="QGridLayout" name="gridLayout"> <item row="23" column="1" colspan="2"> <widget class="QPushButton" name="pushButton"> <property name="text"> <string>Close</string> <widget class="OpenGLCanvas" name="GLCanvas" native="true"> <property name="geometry"> <rect> <x>9</x> <y>9</y> <width>1110</width> <height>673</height> </rect> </property> <property name="sizePolicy"> <sizepolicy hsizetype="Expanding" vsizetype="Preferred"> <horstretch>0</horstretch> <verstretch>0</verstretch> </sizepolicy> </property> <property name="baseSize"> <size> <width>0</width> <height>0</height> </size> </property> </widget> </item> <item row="16" column="1"> <widget class="QCheckBox" name="shrinkAll"> <widget class="QWidget" name="layoutWidget"> <property name="geometry"> <rect> <x>1120</x> <y>9</y> <width>150</width> <height>671</height> </rect> </property> <layout class="QVBoxLayout" name="verticalLayout_4"> <item> <layout class="QVBoxLayout" name="verticalLayout_2"> <item> <widget class="QLabel" name="label_3"> <property name="text"> <string>Shrink all</string> <string>Visualization</string> </property> </widget> </item> <item row="20" column="1" alignment="Qt::AlignHCenter"> <widget class="QSlider" name="changefovmax"> <property name="minimum"> <number>1</number> </property> <property name="maximum"> <number>359</number> </property> <property name="sliderPosition"> <number>60</number> </property> <property name="orientation"> <enum>Qt::Vertical</enum> </property> <property name="tickPosition"> <enum>QSlider::NoTicks</enum> </property> <property name="tickInterval"> <number>10</number> <item> <widget class="QComboBox" name="comboBox_2"> <item> <property name="text"> <string>Moebius</string> </property> </widget> </item> <item row="20" column="2" alignment="Qt::AlignHCenter"> <widget class="QSlider" name="changefov"> <property name="minimum"> <number>1</number> <item> <property name="text"> <string>3D Sphere</string> </property> <property name="maximum"> <number>359</number> </item> <item> <property name="text"> <string>Equi-Rectangular</string> </property> <property name="value"> <number>60</number> </item> <item> <property name="text"> <string>Perspective</string> </property> <property name="orientation"> <enum>Qt::Vertical</enum> </item> <item> <property name="text"> <string>Stereographic</string> </property> </widget> </item> <item row="3" column="1" colspan="2"> <widget class="QLabel" name="label"> <item> <property name="text"> <string>Shrink computation</string> <string>Orthographic</string> </property> </widget> </item> <item row="18" column="2" alignment="Qt::AlignHCenter"> <widget class="QLabel" name="label_6"> <item> <property name="text"> <string>FOV</string> <string>Mercator</string> </property> </widget> </item> <item row="0" column="1" colspan="2"> <widget class="QLabel" name="label_3"> <item> <property name="text"> <string>Visualization</string> <string>Zorin-Barr</string> </property> </item> </widget> </item> <item row="18" column="1"> <widget class="QLabel" name="label_5"> <item> <widget class="QLabel" name="label"> <property name="text"> <string>FOV max</string> <string>Shrink computation</string> </property> </widget> </item> <item row="6" column="1" colspan="2"> <item> <widget class="QComboBox" name="comboBox"> <property name="editable"> <bool>false</bool> Loading Loading @@ -139,40 +150,86 @@ </item> </widget> </item> <item row="19" column="2" alignment="Qt::AlignHCenter"> <widget class="QLCDNumber" name="fovled"> <property name="frameShape"> <enum>QFrame::NoFrame</enum> </layout> </item> <item> <layout class="QFormLayout" name="formLayout"> <item row="0" column="0"> <widget class="QSlider" name="changezblambda"> <property name="sizePolicy"> <sizepolicy hsizetype="Expanding" vsizetype="Fixed"> <horstretch>0</horstretch> <verstretch>0</verstretch> </sizepolicy> </property> <property name="numDigits"> <number>3</number> <property name="minimum"> <number>1</number> </property> <property name="segmentStyle"> <enum>QLCDNumber::Flat</enum> <property name="maximum"> <number>1000</number> </property> <property name="pageStep"> <number>100</number> </property> <property name="value"> <number>100</number> </property> <property name="orientation"> <enum>Qt::Horizontal</enum> </property> </widget> </item> <item row="19" column="1" alignment="Qt::AlignHCenter"> <widget class="QLCDNumber" name="fovmaxled"> <property name="frameShape"> <enum>QFrame::NoFrame</enum> <item row="0" column="1"> <widget class="QLabel" name="label_2"> <property name="text"> <string>lambda</string> </property> <property name="numDigits"> <number>3</number> </widget> </item> <item row="1" column="0"> <widget class="QSlider" name="changezbR"> <property name="sizePolicy"> <sizepolicy hsizetype="Expanding" vsizetype="Fixed"> <horstretch>0</horstretch> <verstretch>0</verstretch> </sizepolicy> </property> <property name="segmentStyle"> <enum>QLCDNumber::Flat</enum> <property name="minimum"> <number>1</number> </property> <property name="maximum"> <number>1000</number> </property> <property name="pageStep"> <number>100</number> </property> <property name="value"> <number>100</number> </property> <property name="orientation"> <enum>Qt::Horizontal</enum> </property> </widget> </item> <item row="22" column="1" colspan="2"> <widget class="QPushButton" name="chooseFile"> <item row="1" column="1"> <widget class="QLabel" name="label_4"> <property name="text"> <string>Input Image</string> <string>R</string> </property> </widget> </item> </layout> </item> <item> <layout class="QVBoxLayout" name="verticalLayout_3"> <item> <widget class="QCheckBox" name="shrinkAll"> <property name="text"> <string>Shrink all</string> </property> </widget> </item> <item row="17" column="1" colspan="2"> <item> <widget class="QCheckBox" name="automax"> <property name="enabled"> <bool>true</bool> Loading @@ -188,118 +245,117 @@ </property> </widget> </item> <item row="1" column="1" colspan="2"> <widget class="QComboBox" name="comboBox_2"> <item> <property name="text"> <string>Moebius</string> </property> </layout> </item> <item> <layout class="QGridLayout" name="gridLayout"> <item row="0" column="1"> <widget class="QLabel" name="label_6"> <property name="text"> <string>3D Sphere</string> <string>FOV</string> </property> </widget> </item> <item> <property name="text"> <string>Equi-Rectangular</string> <item row="1" column="0"> <widget class="QLCDNumber" name="fovmaxled"> <property name="frameShape"> <enum>QFrame::NoFrame</enum> </property> </item> <item> <property name="text"> <string>Perspective</string> <property name="numDigits"> <number>3</number> </property> </item> <item> <property name="text"> <string>Stereographic</string> <property name="segmentStyle"> <enum>QLCDNumber::Flat</enum> </property> </widget> </item> <item> <property name="text"> <string>Orthographic</string> <item row="2" column="1" alignment="Qt::AlignHCenter"> <widget class="QSlider" name="changefov"> <property name="minimum"> <number>1</number> </property> </item> <item> <property name="text"> <string>Mercator</string> <property name="maximum"> <number>359</number> </property> </item> <item> <property name="text"> <string>Zorin-Barr</string> <property name="value"> <number>60</number> </property> <property name="orientation"> <enum>Qt::Vertical</enum> </property> </item> </widget> </item> <item row="9" column="1" colspan="2"> <widget class="QSlider" name="changezblambda"> <property name="sizePolicy"> <sizepolicy hsizetype="Expanding" vsizetype="Fixed"> <horstretch>0</horstretch> <verstretch>0</verstretch> </sizepolicy> <item row="1" column="1"> <widget class="QLCDNumber" name="fovled"> <property name="frameShape"> <enum>QFrame::NoFrame</enum> </property> <property name="numDigits"> <number>3</number> </property> <property name="segmentStyle"> <enum>QLCDNumber::Flat</enum> </property> </widget> </item> <item row="2" column="0" alignment="Qt::AlignHCenter"> <widget class="QSlider" name="changefovmax"> <property name="minimum"> <number>1</number> </property> <property name="maximum"> <number>1000</number> <number>359</number> </property> <property name="pageStep"> <number>100</number> <property name="sliderPosition"> <number>60</number> </property> <property name="orientation"> <enum>Qt::Horizontal</enum> <enum>Qt::Vertical</enum> </property> <property name="tickPosition"> <enum>QSlider::NoTicks</enum> </property> <property name="tickInterval"> <number>10</number> </property> </widget> </item> <item row="0" column="0" rowspan="24"> <widget class="OpenGLCanvas" name="GLCanvas" native="true"> <property name="sizePolicy"> <sizepolicy hsizetype="Expanding" vsizetype="Preferred"> <horstretch>0</horstretch> <verstretch>0</verstretch> </sizepolicy> </property> <property name="baseSize"> <size> <width>0</width> <height>0</height> </size> <item row="0" column="0"> <widget class="QLabel" name="label_5"> <property name="text"> <string>FOV max</string> </property> </widget> </item> <item row="21" column="1" colspan="2"> </layout> </item> <item> <layout class="QVBoxLayout" name="verticalLayout"> <item> <widget class="QPushButton" name="reCenter"> <property name="text"> <string>Re-center</string> </property> </widget> </item> <item row="10" column="1" colspan="2"> <widget class="QSlider" name="changezbR"> <property name="sizePolicy"> <sizepolicy hsizetype="Expanding" vsizetype="Fixed"> <horstretch>0</horstretch> <verstretch>0</verstretch> </sizepolicy> </property> <property name="minimum"> <number>1</number> </property> <property name="maximum"> <number>1000</number> </property> <property name="pageStep"> <number>100</number> <item> <widget class="QPushButton" name="chooseFile"> <property name="text"> <string>Input Image</string> </property> <property name="orientation"> <enum>Qt::Horizontal</enum> </widget> </item> <item> <widget class="QPushButton" name="pushButton"> <property name="text"> <string>Close</string> </property> </widget> </item> </layout> </item> </layout> </widget> </widget> <layoutdefault spacing="6" margin="11"/> <customwidgets> Loading
openglcanvas.cpp +13 −8 Original line number Diff line number Diff line Loading @@ -28,6 +28,15 @@ //#define CONST_PI_F (0x1.921fb6p+1f) //#define CONST_PI_2_F (0x1.921fb6p+0f) // These definitions specify which attributes should be used to store some // parameters passed to the vertex shader. Nvidia hardware // only leaves attributes 1 and 7 unreserved; attributes 8 to 15 are // reserved for textures. // TODO: we use attributes 14 and 15, which work for Nvidia; we need to // test with other hardware. #define ZBL_ATTR 14 #define ZBR_ATTR 15 OpenGLCanvas::OpenGLCanvas(QWidget *parent) : QGLWidget(parent) { Loading Loading @@ -99,12 +108,14 @@ void OpenGLCanvas::change_fov_max(int new_fov_max){ void OpenGLCanvas::change_zb_lambda(int new_zb_lambda){ zblambda=(float)new_zb_lambda/1000; fprintf(stderr,"zb_lambda=%f\n",zblambda); glVertexAttrib1f(ZBL_ATTR,zblambda); updateGL(); } void OpenGLCanvas::change_zb_R(int new_zb_R){ zbR=(float)new_zb_R/1000; zbR=(float)new_zb_R/100; fprintf(stderr,"zb_R=%f\n",zbR); glVertexAttrib1f(ZBR_ATTR,zbR); updateGL(); } Loading Loading @@ -728,13 +739,7 @@ void OpenGLCanvas::setShaders() { GLuint p = glCreateProgram(); // Bind attributes zblambda and zbR to the vertex shader. Nvidia hardware // only leaves attributes 1 and 7 unreserved; attributes 8 to 15 are // reserved for textures. // TODO: we use attributes 14 and 15, which work for Nvidia; we need to // test with other hardware. #define ZBL_ATTR 14 #define ZBR_ATTR 15 // Bind attributes zblambda and zbR to the vertex shader. glVertexAttrib1f(ZBL_ATTR,zblambda); glBindAttribLocation(p,ZBL_ATTR,"zblambda"); glVertexAttrib1f(ZBR_ATTR,zbR); Loading