diff options
author | don bright <hugh.m.bright@gmail.com> | 2013-02-24 20:31:03 (GMT) |
---|---|---|
committer | don bright <hugh.m.bright@gmail.com> | 2013-02-24 20:31:03 (GMT) |
commit | eb2c0d38f22f781cf59ca7078bfec260148ca584 (patch) | |
tree | 7ad292ecdd1bbfdc260a4ef9663ef354e52c70c4 | |
parent | 76c5d5b55c66505af98ddbed70ca5e21719d3bb1 (diff) |
unify intializeGL(), remove duplicate code
-rw-r--r-- | src/GLView.cc | 30 | ||||
-rw-r--r-- | src/GLView.h | 4 | ||||
-rw-r--r-- | src/OffscreenView.cc | 30 | ||||
-rw-r--r-- | src/OffscreenView.h | 1 | ||||
-rw-r--r-- | src/QGLView.cc | 24 |
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 |