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.setProfile(QSurfaceFormat::CompatibilityProfile);
|
||||
context->setFormat(format);
|
||||
return QGLContext::fromOpenGLContext(context);
|
||||
QGLContext *result = QGLContext::fromOpenGLContext(context);
|
||||
result->create();
|
||||
return result;
|
||||
}
|
||||
} // namespace Qt
|
||||
} // namespace CGAL
|
||||
|
|
|
|||
|
|
@ -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());
|
||||
|
||||
|
|
|
|||
|
|
@ -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
|
||||
|
|
|
|||
|
|
@ -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;
|
||||
|
|
|
|||
|
|
@ -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;
|
||||
|
|
|
|||
|
|
@ -9,7 +9,7 @@ varying highp vec3 fN;
|
|||
varying highp vec4 color;
|
||||
void main(void)
|
||||
{
|
||||
color = vec4(colors, 1.0);
|
||||
color = vec4(colors, 1.0);
|
||||
fP = mv_matrix * vertex;
|
||||
fN = mat3(mv_matrix)* normals;
|
||||
gl_Position = mvp_matrix * vertex;
|
||||
|
|
|
|||
Loading…
Reference in New Issue