mirror of https://github.com/CGAL/cgal
WIP A fix for mac
- repared the demo - Disabled the splatting.
This commit is contained in:
parent
db74cf0637
commit
0547f19d58
|
|
@ -30,7 +30,9 @@ inline QGLContext* createOpenGLContext()
|
||||||
format.setVersion(2,1);
|
format.setVersion(2,1);
|
||||||
format.setProfile(QSurfaceFormat::CompatibilityProfile);
|
format.setProfile(QSurfaceFormat::CompatibilityProfile);
|
||||||
context->setFormat(format);
|
context->setFormat(format);
|
||||||
return QGLContext::fromOpenGLContext(context);
|
QGLContext *result = QGLContext::fromOpenGLContext(context);
|
||||||
|
result->create();
|
||||||
|
return result;
|
||||||
}
|
}
|
||||||
} // namespace Qt
|
} // namespace Qt
|
||||||
} // namespace CGAL
|
} // namespace CGAL
|
||||||
|
|
|
||||||
|
|
@ -129,14 +129,12 @@ MainWindow::MainWindow(QWidget* parent)
|
||||||
// Save some pointers from ui, for latter use.
|
// Save some pointers from ui, for latter use.
|
||||||
sceneView = ui->sceneView;
|
sceneView = ui->sceneView;
|
||||||
viewer = ui->viewer;
|
viewer = ui->viewer;
|
||||||
|
|
||||||
// do not save the state of the viewer (anoying)
|
// do not save the state of the viewer (anoying)
|
||||||
viewer->setStateFileName(QString::null);
|
viewer->setStateFileName(QString::null);
|
||||||
|
|
||||||
// setup scene
|
// setup scene
|
||||||
scene = new Scene(this);
|
scene = new Scene(this);
|
||||||
viewer->setScene(scene);
|
viewer->setScene(scene);
|
||||||
|
|
||||||
{
|
{
|
||||||
QShortcut* shortcut = new QShortcut(QKeySequence(Qt::ALT+Qt::Key_Q), this);
|
QShortcut* shortcut = new QShortcut(QKeySequence(Qt::ALT+Qt::Key_Q), this);
|
||||||
connect(shortcut, SIGNAL(activated()),
|
connect(shortcut, SIGNAL(activated()),
|
||||||
|
|
@ -1390,7 +1388,7 @@ void MainWindow::on_actionLoad_triggered()
|
||||||
dialog.setFileMode(QFileDialog::ExistingFiles);
|
dialog.setFileMode(QFileDialog::ExistingFiles);
|
||||||
|
|
||||||
if(dialog.exec() != QDialog::Accepted) { return; }
|
if(dialog.exec() != QDialog::Accepted) { return; }
|
||||||
|
viewer->context()->makeCurrent();
|
||||||
FilterPluginMap::iterator it =
|
FilterPluginMap::iterator it =
|
||||||
filterPluginMap.find(dialog.selectedNameFilter());
|
filterPluginMap.find(dialog.selectedNameFilter());
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -44,7 +44,7 @@ Scene::Scene(QObject* parent)
|
||||||
ms_splatting = new GlSplat::SplatRenderer();
|
ms_splatting = new GlSplat::SplatRenderer();
|
||||||
ms_splattingCounter++;
|
ms_splattingCounter++;
|
||||||
picked = false;
|
picked = false;
|
||||||
|
gl_init = false;
|
||||||
|
|
||||||
}
|
}
|
||||||
Scene::Item_id
|
Scene::Item_id
|
||||||
|
|
@ -270,7 +270,7 @@ Scene::duplicate(Item_id index)
|
||||||
|
|
||||||
void Scene::initializeGL()
|
void Scene::initializeGL()
|
||||||
{
|
{
|
||||||
ms_splatting->init();
|
//ms_splatting->init();
|
||||||
|
|
||||||
//Setting the light options
|
//Setting the light options
|
||||||
|
|
||||||
|
|
@ -286,6 +286,7 @@ void Scene::initializeGL()
|
||||||
glLightfv(GL_LIGHT0, GL_SPECULAR, specularLight);
|
glLightfv(GL_LIGHT0, GL_SPECULAR, specularLight);
|
||||||
glLightfv(GL_LIGHT0, GL_POSITION, position);
|
glLightfv(GL_LIGHT0, GL_POSITION, position);
|
||||||
|
|
||||||
|
gl_init = true;
|
||||||
}
|
}
|
||||||
|
|
||||||
bool
|
bool
|
||||||
|
|
@ -308,6 +309,8 @@ Scene::draw()
|
||||||
void
|
void
|
||||||
Scene::draw(CGAL::Three::Viewer_interface* viewer)
|
Scene::draw(CGAL::Three::Viewer_interface* viewer)
|
||||||
{
|
{
|
||||||
|
if(!gl_init)
|
||||||
|
initializeGL();
|
||||||
draw_aux(false, viewer);
|
draw_aux(false, viewer);
|
||||||
}
|
}
|
||||||
void
|
void
|
||||||
|
|
|
||||||
|
|
@ -274,6 +274,7 @@ private:
|
||||||
//!Index of the item_B.
|
//!Index of the item_B.
|
||||||
int item_B;
|
int item_B;
|
||||||
bool picked;
|
bool picked;
|
||||||
|
bool gl_init;
|
||||||
static GlSplat::SplatRenderer* ms_splatting;
|
static GlSplat::SplatRenderer* ms_splatting;
|
||||||
static int ms_splattingCounter;
|
static int ms_splattingCounter;
|
||||||
QMap<QModelIndex, int> index_map;
|
QMap<QModelIndex, int> index_map;
|
||||||
|
|
|
||||||
|
|
@ -144,7 +144,8 @@ void Viewer::initializeGL()
|
||||||
vao[0].create();
|
vao[0].create();
|
||||||
for(int i=0; i<3; i++)
|
for(int i=0; i<3; i++)
|
||||||
buffers[i].create();
|
buffers[i].create();
|
||||||
d->scene->initializeGL();
|
// qDebug()<<"Viewer's context : "<<context()->contextHandle()->handle();
|
||||||
|
// d->scene->initializeGL();
|
||||||
|
|
||||||
//Vertex source code
|
//Vertex source code
|
||||||
const char vertex_source[] =
|
const char vertex_source[] =
|
||||||
|
|
@ -919,6 +920,7 @@ QOpenGLShaderProgram* Viewer::getShaderProgram(int name) const
|
||||||
{
|
{
|
||||||
std::cerr<<"adding fragment shader FAILED"<<std::endl;
|
std::cerr<<"adding fragment shader FAILED"<<std::endl;
|
||||||
}
|
}
|
||||||
|
program->bindAttributeLocation("colors", 1);
|
||||||
program->link();
|
program->link();
|
||||||
d->shader_programs[PROGRAM_C3T3] = program;
|
d->shader_programs[PROGRAM_C3T3] = program;
|
||||||
return program;
|
return program;
|
||||||
|
|
@ -942,6 +944,7 @@ QOpenGLShaderProgram* Viewer::getShaderProgram(int name) const
|
||||||
{
|
{
|
||||||
std::cerr<<"adding fragment shader FAILED"<<std::endl;
|
std::cerr<<"adding fragment shader FAILED"<<std::endl;
|
||||||
}
|
}
|
||||||
|
program->bindAttributeLocation("colors", 1);
|
||||||
program->link();
|
program->link();
|
||||||
d->shader_programs[PROGRAM_C3T3_EDGES] = program;
|
d->shader_programs[PROGRAM_C3T3_EDGES] = program;
|
||||||
return program;
|
return program;
|
||||||
|
|
@ -965,6 +968,7 @@ QOpenGLShaderProgram* Viewer::getShaderProgram(int name) const
|
||||||
{
|
{
|
||||||
std::cerr<<"adding fragment shader FAILED"<<std::endl;
|
std::cerr<<"adding fragment shader FAILED"<<std::endl;
|
||||||
}
|
}
|
||||||
|
program->bindAttributeLocation("colors", 1);
|
||||||
program->link();
|
program->link();
|
||||||
d->shader_programs[PROGRAM_WITH_LIGHT] = program;
|
d->shader_programs[PROGRAM_WITH_LIGHT] = program;
|
||||||
return program;
|
return program;
|
||||||
|
|
@ -986,6 +990,7 @@ QOpenGLShaderProgram* Viewer::getShaderProgram(int name) const
|
||||||
{
|
{
|
||||||
std::cerr<<"adding fragment shader FAILED"<<std::endl;
|
std::cerr<<"adding fragment shader FAILED"<<std::endl;
|
||||||
}
|
}
|
||||||
|
program->bindAttributeLocation("colors", 1);
|
||||||
program->link();
|
program->link();
|
||||||
d->shader_programs[PROGRAM_WITHOUT_LIGHT] = program;
|
d->shader_programs[PROGRAM_WITHOUT_LIGHT] = program;
|
||||||
return program;
|
return program;
|
||||||
|
|
@ -1007,6 +1012,7 @@ QOpenGLShaderProgram* Viewer::getShaderProgram(int name) const
|
||||||
{
|
{
|
||||||
std::cerr<<"adding fragment shader FAILED"<<std::endl;
|
std::cerr<<"adding fragment shader FAILED"<<std::endl;
|
||||||
}
|
}
|
||||||
|
program->bindAttributeLocation("colors", 1);
|
||||||
program->link();
|
program->link();
|
||||||
d->shader_programs[PROGRAM_NO_SELECTION] = program;
|
d->shader_programs[PROGRAM_NO_SELECTION] = program;
|
||||||
return program;
|
return program;
|
||||||
|
|
@ -1028,6 +1034,7 @@ QOpenGLShaderProgram* Viewer::getShaderProgram(int name) const
|
||||||
{
|
{
|
||||||
std::cerr<<"adding fragment shader FAILED"<<std::endl;
|
std::cerr<<"adding fragment shader FAILED"<<std::endl;
|
||||||
}
|
}
|
||||||
|
program->bindAttributeLocation("color_facets", 1);
|
||||||
program->link();
|
program->link();
|
||||||
d->shader_programs[PROGRAM_WITH_TEXTURE] = program;
|
d->shader_programs[PROGRAM_WITH_TEXTURE] = program;
|
||||||
return program;
|
return program;
|
||||||
|
|
@ -1049,6 +1056,7 @@ QOpenGLShaderProgram* Viewer::getShaderProgram(int name) const
|
||||||
{
|
{
|
||||||
std::cerr<<"adding fragment shader FAILED"<<std::endl;
|
std::cerr<<"adding fragment shader FAILED"<<std::endl;
|
||||||
}
|
}
|
||||||
|
program->bindAttributeLocation("color_lines", 1);
|
||||||
program->link();
|
program->link();
|
||||||
d->shader_programs[PROGRAM_WITH_TEXTURED_EDGES] = program;
|
d->shader_programs[PROGRAM_WITH_TEXTURED_EDGES] = program;
|
||||||
return program;
|
return program;
|
||||||
|
|
@ -1071,6 +1079,7 @@ QOpenGLShaderProgram* Viewer::getShaderProgram(int name) const
|
||||||
{
|
{
|
||||||
std::cerr<<"adding fragment shader FAILED"<<std::endl;
|
std::cerr<<"adding fragment shader FAILED"<<std::endl;
|
||||||
}
|
}
|
||||||
|
program->bindAttributeLocation("colors", 1);
|
||||||
program->link();
|
program->link();
|
||||||
d->shader_programs[PROGRAM_INSTANCED] = program;
|
d->shader_programs[PROGRAM_INSTANCED] = program;
|
||||||
return program;
|
return program;
|
||||||
|
|
@ -1093,6 +1102,7 @@ QOpenGLShaderProgram* Viewer::getShaderProgram(int name) const
|
||||||
{
|
{
|
||||||
std::cerr<<"adding fragment shader FAILED"<<std::endl;
|
std::cerr<<"adding fragment shader FAILED"<<std::endl;
|
||||||
}
|
}
|
||||||
|
program->bindAttributeLocation("colors", 1);
|
||||||
program->link();
|
program->link();
|
||||||
d->shader_programs[PROGRAM_INSTANCED_WIRE] = program;
|
d->shader_programs[PROGRAM_INSTANCED_WIRE] = program;
|
||||||
return program;
|
return program;
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue