summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authordon bright <hugh.m.bright@gmail.com>2013-02-24 20:31:03 (GMT)
committerdon bright <hugh.m.bright@gmail.com>2013-02-24 20:31:03 (GMT)
commiteb2c0d38f22f781cf59ca7078bfec260148ca584 (patch)
tree7ad292ecdd1bbfdc260a4ef9663ef354e52c70c4
parent76c5d5b55c66505af98ddbed70ca5e21719d3bb1 (diff)
unify intializeGL(), remove duplicate code
-rw-r--r--src/GLView.cc30
-rw-r--r--src/GLView.h4
-rw-r--r--src/OffscreenView.cc30
-rw-r--r--src/OffscreenView.h1
-rw-r--r--src/QGLView.cc24
5 files changed, 32 insertions, 57 deletions
diff --git a/src/GLView.cc b/src/GLView.cc
index 0f918dc..e92c2dd 100644
--- a/src/GLView.cc
+++ b/src/GLView.cc
@@ -247,8 +247,36 @@ void GLView::enable_opencsg_shaders()
}
#endif
+void GLView::initializeGL()
+{
+ glEnable(GL_DEPTH_TEST);
+ glDepthRange(-FAR_FAR_AWAY, +FAR_FAR_AWAY);
+
+ glEnable(GL_BLEND);
+ glBlendFunc(GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA);
+
+ GLfloat light_diffuse[] = {1.0, 1.0, 1.0, 1.0};
+ GLfloat light_position0[] = {-1.0, -1.0, +1.0, 0.0};
+ GLfloat light_position1[] = {+1.0, +1.0, -1.0, 0.0};
+
+ glLightfv(GL_LIGHT0, GL_DIFFUSE, light_diffuse);
+ glLightfv(GL_LIGHT0, GL_POSITION, light_position0);
+ glEnable(GL_LIGHT0);
+ glLightfv(GL_LIGHT1, GL_DIFFUSE, light_diffuse);
+ glLightfv(GL_LIGHT1, GL_POSITION, light_position1);
+ glEnable(GL_LIGHT1);
+ glEnable(GL_LIGHTING);
+ glEnable(GL_NORMALIZE);
+
+ glColorMaterial(GL_FRONT_AND_BACK, GL_AMBIENT_AND_DIFFUSE);
+ glEnable(GL_COLOR_MATERIAL);
+#ifdef ENABLE_OPENCSG
+ enable_opencsg_shaders();
+#endif
+}
+
+
/*
- void initializeGL(); //
void paintGL(); //
diff --git a/src/GLView.h b/src/GLView.h
index aa5a677..00d2da3 100644
--- a/src/GLView.h
+++ b/src/GLView.h
@@ -30,10 +30,8 @@ public:
GLView();
void setRenderer(Renderer* r);
Renderer *renderer;
-/*
- void initializeGL(); //
-*/
+ void initializeGL();
void resizeGL(int w, int h);
void setGimbalCamera(const Eigen::Vector3d &pos, const Eigen::Vector3d &rot, double distance);
diff --git a/src/OffscreenView.cc b/src/OffscreenView.cc
index 0daf8a8..723d8d7 100644
--- a/src/OffscreenView.cc
+++ b/src/OffscreenView.cc
@@ -12,7 +12,7 @@ OffscreenView::OffscreenView(size_t width, size_t height)
object_rot << 35, 0, 25;
this->ctx = create_offscreen_context(width, height);
if ( this->ctx == NULL ) throw -1;
- initializeGL();
+ GLView::initializeGL();
GLView::resizeGL(width, height);
}
@@ -28,34 +28,6 @@ void OffscreenView::display_opencsg_warning()
}
#endif
-void OffscreenView::initializeGL()
-{
- glEnable(GL_DEPTH_TEST);
- glDepthRange(-FAR_FAR_AWAY, +FAR_FAR_AWAY);
-
- glEnable(GL_BLEND);
- glBlendFunc(GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA);
-
- GLfloat light_diffuse[] = {1.0, 1.0, 1.0, 1.0};
- GLfloat light_position0[] = {-1.0, -1.0, +1.0, 0.0};
- GLfloat light_position1[] = {+1.0, +1.0, -1.0, 0.0};
-
- glLightfv(GL_LIGHT0, GL_DIFFUSE, light_diffuse);
- glLightfv(GL_LIGHT0, GL_POSITION, light_position0);
- glEnable(GL_LIGHT0);
- glLightfv(GL_LIGHT1, GL_DIFFUSE, light_diffuse);
- glLightfv(GL_LIGHT1, GL_POSITION, light_position1);
- glEnable(GL_LIGHT1);
- glEnable(GL_LIGHTING);
- glEnable(GL_NORMALIZE);
-
- glColorMaterial(GL_FRONT_AND_BACK, GL_AMBIENT_AND_DIFFUSE);
- glEnable(GL_COLOR_MATERIAL);
-#ifdef ENABLE_OPENCSG
- enable_opencsg_shaders();
-#endif
-}
-
void OffscreenView::paintGL()
{
glEnable(GL_LIGHTING);
diff --git a/src/OffscreenView.h b/src/OffscreenView.h
index 0175dee..b073f89 100644
--- a/src/OffscreenView.h
+++ b/src/OffscreenView.h
@@ -17,7 +17,6 @@ class OffscreenView : public GLView
public:
OffscreenView(size_t width, size_t height); // not
~OffscreenView(); // not
- void initializeGL(); //
void paintGL(); //
bool save(std::ostream &output);
OffscreenContext *ctx; // not
diff --git a/src/QGLView.cc b/src/QGLView.cc
index 69c0580..4a17dd1 100644
--- a/src/QGLView.cc
+++ b/src/QGLView.cc
@@ -84,33 +84,11 @@ void QGLView::init()
void QGLView::initializeGL()
{
- glEnable(GL_DEPTH_TEST);
- glDepthRange(-FAR_FAR_AWAY, +FAR_FAR_AWAY);
-
- glEnable(GL_BLEND);
- glBlendFunc(GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA);
-
- GLfloat light_diffuse[] = {1.0, 1.0, 1.0, 1.0};
- GLfloat light_position0[] = {-1.0, -1.0, +1.0, 0.0};
- GLfloat light_position1[] = {+1.0, +1.0, -1.0, 0.0};
-
- glLightfv(GL_LIGHT0, GL_DIFFUSE, light_diffuse);
- glLightfv(GL_LIGHT0, GL_POSITION, light_position0);
- glEnable(GL_LIGHT0);
- glLightfv(GL_LIGHT1, GL_DIFFUSE, light_diffuse);
- glLightfv(GL_LIGHT1, GL_POSITION, light_position1);
- glEnable(GL_LIGHT1);
- glEnable(GL_LIGHTING);
- glEnable(GL_NORMALIZE);
-
- glColorMaterial(GL_FRONT_AND_BACK, GL_AMBIENT_AND_DIFFUSE);
- glEnable(GL_COLOR_MATERIAL);
-
GLenum err = glewInit();
if (GLEW_OK != err) {
fprintf(stderr, "GLEW Error: %s\n", glewGetErrorString(err));
}
- enable_opencsg_shaders();
+ GLView::initializeGL();
}
std::string QGLView::getRendererInfo() const
contact: Jan Huwald // Impressum