WIP A fix for mac

- repared the demo
- Disabled the splatting.
This commit is contained in:
Maxime Gimeno 2016-01-18 16:13:27 +01:00 committed by Sébastien Loriot
parent db74cf0637
commit 0547f19d58
6 changed files with 22 additions and 8 deletions

View File

@ -30,7 +30,9 @@ inline QGLContext* createOpenGLContext()
format.setVersion(2,1);
format.setProfile(QSurfaceFormat::CompatibilityProfile);
context->setFormat(format);
return QGLContext::fromOpenGLContext(context);
QGLContext *result = QGLContext::fromOpenGLContext(context);
result->create();
return result;
}
} // namespace Qt
} // namespace CGAL

View File

@ -129,14 +129,12 @@ MainWindow::MainWindow(QWidget* parent)
// Save some pointers from ui, for latter use.
sceneView = ui->sceneView;
viewer = ui->viewer;
// do not save the state of the viewer (anoying)
viewer->setStateFileName(QString::null);
// setup scene
scene = new Scene(this);
viewer->setScene(scene);
{
QShortcut* shortcut = new QShortcut(QKeySequence(Qt::ALT+Qt::Key_Q), this);
connect(shortcut, SIGNAL(activated()),
@ -1390,7 +1388,7 @@ void MainWindow::on_actionLoad_triggered()
dialog.setFileMode(QFileDialog::ExistingFiles);
if(dialog.exec() != QDialog::Accepted) { return; }
viewer->context()->makeCurrent();
FilterPluginMap::iterator it =
filterPluginMap.find(dialog.selectedNameFilter());

View File

@ -44,7 +44,7 @@ Scene::Scene(QObject* parent)
ms_splatting = new GlSplat::SplatRenderer();
ms_splattingCounter++;
picked = false;
gl_init = false;
}
Scene::Item_id
@ -270,7 +270,7 @@ Scene::duplicate(Item_id index)
void Scene::initializeGL()
{
ms_splatting->init();
//ms_splatting->init();
//Setting the light options
@ -286,6 +286,7 @@ void Scene::initializeGL()
glLightfv(GL_LIGHT0, GL_SPECULAR, specularLight);
glLightfv(GL_LIGHT0, GL_POSITION, position);
gl_init = true;
}
bool
@ -308,6 +309,8 @@ Scene::draw()
void
Scene::draw(CGAL::Three::Viewer_interface* viewer)
{
if(!gl_init)
initializeGL();
draw_aux(false, viewer);
}
void

View File

@ -274,6 +274,7 @@ private:
//!Index of the item_B.
int item_B;
bool picked;
bool gl_init;
static GlSplat::SplatRenderer* ms_splatting;
static int ms_splattingCounter;
QMap<QModelIndex, int> index_map;

View File

@ -144,7 +144,8 @@ void Viewer::initializeGL()
vao[0].create();
for(int i=0; i<3; i++)
buffers[i].create();
d->scene->initializeGL();
// qDebug()<<"Viewer's context : "<<context()->contextHandle()->handle();
// d->scene->initializeGL();
//Vertex source code
const char vertex_source[] =
@ -919,6 +920,7 @@ QOpenGLShaderProgram* Viewer::getShaderProgram(int name) const
{
std::cerr<<"adding fragment shader FAILED"<<std::endl;
}
program->bindAttributeLocation("colors", 1);
program->link();
d->shader_programs[PROGRAM_C3T3] = program;
return program;
@ -942,6 +944,7 @@ QOpenGLShaderProgram* Viewer::getShaderProgram(int name) const
{
std::cerr<<"adding fragment shader FAILED"<<std::endl;
}
program->bindAttributeLocation("colors", 1);
program->link();
d->shader_programs[PROGRAM_C3T3_EDGES] = program;
return program;
@ -965,6 +968,7 @@ QOpenGLShaderProgram* Viewer::getShaderProgram(int name) const
{
std::cerr<<"adding fragment shader FAILED"<<std::endl;
}
program->bindAttributeLocation("colors", 1);
program->link();
d->shader_programs[PROGRAM_WITH_LIGHT] = program;
return program;
@ -986,6 +990,7 @@ QOpenGLShaderProgram* Viewer::getShaderProgram(int name) const
{
std::cerr<<"adding fragment shader FAILED"<<std::endl;
}
program->bindAttributeLocation("colors", 1);
program->link();
d->shader_programs[PROGRAM_WITHOUT_LIGHT] = program;
return program;
@ -1007,6 +1012,7 @@ QOpenGLShaderProgram* Viewer::getShaderProgram(int name) const
{
std::cerr<<"adding fragment shader FAILED"<<std::endl;
}
program->bindAttributeLocation("colors", 1);
program->link();
d->shader_programs[PROGRAM_NO_SELECTION] = program;
return program;
@ -1028,6 +1034,7 @@ QOpenGLShaderProgram* Viewer::getShaderProgram(int name) const
{
std::cerr<<"adding fragment shader FAILED"<<std::endl;
}
program->bindAttributeLocation("color_facets", 1);
program->link();
d->shader_programs[PROGRAM_WITH_TEXTURE] = program;
return program;
@ -1049,6 +1056,7 @@ QOpenGLShaderProgram* Viewer::getShaderProgram(int name) const
{
std::cerr<<"adding fragment shader FAILED"<<std::endl;
}
program->bindAttributeLocation("color_lines", 1);
program->link();
d->shader_programs[PROGRAM_WITH_TEXTURED_EDGES] = program;
return program;
@ -1071,6 +1079,7 @@ QOpenGLShaderProgram* Viewer::getShaderProgram(int name) const
{
std::cerr<<"adding fragment shader FAILED"<<std::endl;
}
program->bindAttributeLocation("colors", 1);
program->link();
d->shader_programs[PROGRAM_INSTANCED] = program;
return program;
@ -1093,6 +1102,7 @@ QOpenGLShaderProgram* Viewer::getShaderProgram(int name) const
{
std::cerr<<"adding fragment shader FAILED"<<std::endl;
}
program->bindAttributeLocation("colors", 1);
program->link();
d->shader_programs[PROGRAM_INSTANCED_WIRE] = program;
return program;