Removed obsolete opengl module

This commit is contained in:
2018-04-04 09:40:53 +02:00
parent e02c294ff6
commit 467514ea6c
12 changed files with 41 additions and 33 deletions

View File

@@ -4,7 +4,7 @@
# #
#------------------------------------------------- #-------------------------------------------------
QT += core gui opengl QT += core gui
CONFIG += c++17 -g3 -O0 CONFIG += c++17 -g3 -O0
@@ -18,8 +18,6 @@ DEFINES += WITH_DEBUG_LOG
win32 { win32 {
DEFINES += _USE_MATH_DEFINES DEFINES += _USE_MATH_DEFINES
LIBS+= -llibGLESV2d
} }
INCLUDEPATH += \ INCLUDEPATH += \

View File

@@ -113,7 +113,7 @@ MainController::MainController() {
//mapModel->load("/mnt/vm/paper/diss/data/maps/test_in_out_overlap.xml"); //mapModel->load("/mnt/vm/paper/diss/data/maps/test_in_out_overlap.xml");
mapModel->load("/mnt/vm/paper/diss/data/maps/walkmodel_stairs3.xml"); // mapModel->load("/mnt/vm/paper/diss/data/maps/walkmodel_stairs3.xml");
//mapModel->load("/mnt/vm/paper/diss/data/maps/SHL42_nm.xml"); //mapModel->load("/mnt/vm/paper/diss/data/maps/SHL42_nm.xml");
//mapModel->load("/apps/paper/diss/data/maps/SHL41_nm.xml"); //mapModel->load("/apps/paper/diss/data/maps/SHL41_nm.xml");

View File

@@ -58,7 +58,7 @@ protected:
rs.shader->setColor(1.0, 0.55, 0.55); rs.shader->setColor(1.0, 0.55, 0.55);
rs.shader->setVertices(data.getVertices().data()); rs.shader->setVertices(data.getVertices().data());
rs.shader->setNormals(data.getNormals().data()); rs.shader->setNormals(data.getNormals().data());
glDrawArrays(GL_TRIANGLES, 0, data.getVertices().size()/3); rs.funcs->glDrawArrays(GL_TRIANGLES, 0, data.getVertices().size()/3);
rs.shader->unsetVertices(); rs.shader->unsetVertices();
rs.shader->unsetNormals(); rs.shader->unsetNormals();
rs.shader->release(); rs.shader->release();

View File

@@ -101,12 +101,16 @@ MapView3D::MapView3D(QWidget *parent) : QOpenGLWidget(parent) {
grabGesture(Qt::PanGesture); grabGesture(Qt::PanGesture);
grabGesture(Qt::PinchGesture); grabGesture(Qt::PinchGesture);
auto format = QSurfaceFormat(); auto format = QSurfaceFormat();
//format.setVersion(4,3); format.setVersion(3,3);
format.setSamples(2); //format.setSamples(2);
//format.setProfile(QSurfaceFormat::CoreProfile); auto ver = format.version();
setFormat(format); std::cout << ver.first << " " << ver.second << std::endl;
format.setProfile(QSurfaceFormat::CoreProfile);
format.setOption(QSurfaceFormat::DebugContext);
setFormat(format);
} }
@@ -116,6 +120,7 @@ void MapView3D::initializeGL() {
//setFormat(QGLFormat(QGL::SampleBuffers)); //setFormat(QGLFormat(QGL::SampleBuffers));
QOpenGLWidget::initializeGL(); QOpenGLWidget::initializeGL();
initializeOpenGLFunctions();
// this should be the default!! // this should be the default!!
glCullFace(GL_BACK); glCullFace(GL_BACK);
@@ -124,8 +129,7 @@ void MapView3D::initializeGL() {
// additional settings // additional settings
glEnable(GL_DEPTH_TEST); glEnable(GL_DEPTH_TEST);
glClearColor(0.9, 0.9, 1.0, 1.0); glClearColor(0.5, 0.5, 0.5, 1.0);
} }
void MapView3D::paintGL() { void MapView3D::paintGL() {
@@ -283,7 +287,7 @@ void MapView3D::layerChange() {
void MapView3D::draw() { void MapView3D::draw() {
static RenderSettings rs = RenderSettings(new Shader()); static RenderSettings rs = RenderSettings(new Shader(), this);
// view // view
QMatrix4x4 V; QMatrix4x4 V;

View File

@@ -4,7 +4,8 @@
#include "../../fixC11.h" #include "../../fixC11.h"
#include <QtWidgets> #include <QtWidgets>
#include <QtOpenGL> #include <QOpenGLWidget>
#include <QOpenGLFunctions>
#include <Indoor/geo/Point3.h> #include <Indoor/geo/Point3.h>
@@ -16,7 +17,7 @@ class NavMeshModel;
class FloorplanRenderer; class FloorplanRenderer;
class FloorplanRendererModel; class FloorplanRendererModel;
class MapView3D : public QOpenGLWidget { class MapView3D : public QOpenGLWidget, protected QOpenGLFunctions {
Q_OBJECT Q_OBJECT

View File

@@ -8,6 +8,7 @@
#include <QPainter> #include <QPainter>
#include <QOpenGLWidget> #include <QOpenGLWidget>
#include <QOpenGLFunctions>
#include "../misc/Renderable3D.h" #include "../misc/Renderable3D.h"
#include "../misc/Shader.h" #include "../misc/Shader.h"
@@ -35,7 +36,7 @@ public:
rs.shader->setVertices(rt.getVertices()); rs.shader->setVertices(rt.getVertices());
rs.shader->setNormals(rt.getNormals()); rs.shader->setNormals(rt.getNormals());
rs.shader->setVertexColor(rt.getRGBA()); rs.shader->setVertexColor(rt.getRGBA());
glDrawArrays(GL_TRIANGLES, 0, rt.count()); rs.funcs->glDrawArrays(GL_TRIANGLES, 0, rt.count());
rs.shader->unsetVertices(); rs.shader->unsetVertices();
rs.shader->unsetNormals(); rs.shader->unsetNormals();
rs.shader->unsetVertexColor(); rs.shader->unsetVertexColor();
@@ -45,7 +46,7 @@ public:
rs.shader->setColor(0,0,0,128); rs.shader->setColor(0,0,0,128);
rs.shader->setVertices(rt2.getVertices()); rs.shader->setVertices(rt2.getVertices());
//rs.shader->setVertexColor(rt2.getRGBA()); //rs.shader->setVertexColor(rt2.getRGBA());
glDrawArrays(GL_LINES, 0, rt2.count()); rs.funcs->glDrawArrays(GL_LINES, 0, rt2.count());
rs.shader->unsetVertices(); rs.shader->unsetVertices();
//rs.shader->unsetVertexColor(); //rs.shader->unsetVertexColor();
} }
@@ -56,8 +57,8 @@ public:
/** render the given grid using GL commands */ /** render the given grid using GL commands */
void renderTransp(const RenderSettings& rs, const RenderTriangle& rt, bool wireframe) { void renderTransp(const RenderSettings& rs, const RenderTriangle& rt, bool wireframe) {
glEnable(GL_BLEND); rs.funcs->glEnable(GL_BLEND);
glBlendFunc(GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA); rs.funcs->glBlendFunc(GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA);
rs.shader->bind(); rs.shader->bind();
rs.shader->setModelMatrix(QMatrix4x4()); rs.shader->setModelMatrix(QMatrix4x4());
@@ -65,7 +66,7 @@ public:
rs.shader->setVertices(rt.getVertices()); rs.shader->setVertices(rt.getVertices());
rs.shader->setNormals(rt.getNormals()); rs.shader->setNormals(rt.getNormals());
rs.shader->setVertexColor(rt.getRGBA()); rs.shader->setVertexColor(rt.getRGBA());
glDrawArrays(GL_TRIANGLES, 0, rt.count()); rs.funcs->glDrawArrays(GL_TRIANGLES, 0, rt.count());
rs.shader->unsetVertices(); rs.shader->unsetVertices();
rs.shader->unsetNormals(); rs.shader->unsetNormals();
rs.shader->unsetVertexColor(); rs.shader->unsetVertexColor();
@@ -75,14 +76,14 @@ public:
rs.shader->setColor(0,0,0,128); rs.shader->setColor(0,0,0,128);
rs.shader->setVertices(rt2.getVertices()); rs.shader->setVertices(rt2.getVertices());
//rs.shader->setVertexColor(rt2.getRGBA()); //rs.shader->setVertexColor(rt2.getRGBA());
glDrawArrays(GL_LINES, 0, rt2.count()); rs.funcs->glDrawArrays(GL_LINES, 0, rt2.count());
rs.shader->unsetVertices(); rs.shader->unsetVertices();
//rs.shader->unsetVertexColor(); //rs.shader->unsetVertexColor();
} }
rs.shader->release(); rs.shader->release();
glDisable(GL_BLEND); rs.funcs->glDisable(GL_BLEND);
} }

View File

@@ -1,6 +1,5 @@
#include "Cube.h" #include "Cube.h"
#include "Shader.h" #include "Shader.h"
#include <QtOpenGL>
static float cube_vertices[] = { static float cube_vertices[] = {
@@ -76,7 +75,7 @@ void Cube::render(const RenderSettings& rs) {
rs.shader->setVertices(cube_vertices); rs.shader->setVertices(cube_vertices);
rs.shader->setNormals(cube_normals); rs.shader->setNormals(cube_normals);
glDrawArrays(GL_TRIANGLES, 0, 12*3); rs.funcs->glDrawArrays(GL_TRIANGLES, 0, 12*3);
//glDrawElements(GL_TRIANGLES, +12, GL_INT, cube_vertex_indices); //glDrawElements(GL_TRIANGLES, +12, GL_INT, cube_vertex_indices);
rs.shader->unsetVertices(); rs.shader->unsetVertices();
rs.shader->unsetNormals(); rs.shader->unsetNormals();

View File

@@ -54,7 +54,7 @@ void Handrail::render(const RenderSettings& rs) {
} }
rs.shader->setVertices(vertices.data()); rs.shader->setVertices(vertices.data());
glDrawArrays(GL_LINES, 0, vertices.size() / 3); rs.funcs->glDrawArrays(GL_LINES, 0, vertices.size() / 3);
rs.shader->unsetVertices(); rs.shader->unsetVertices();
rs.shader->release(); rs.shader->release();

View File

@@ -26,7 +26,7 @@ void Outline::render(const RenderSettings& rs) {
rs.shader->setColor(color.x, color.y, color.z); rs.shader->setColor(color.x, color.y, color.z);
rs.shader->setVertices(triangles.getVertices().data()); rs.shader->setVertices(triangles.getVertices().data());
rs.shader->setNormals(triangles.getNormals().data()); rs.shader->setNormals(triangles.getNormals().data());
glDrawArrays(GL_TRIANGLES, 0, triangles.getVertices().size() / 3); rs.funcs->glDrawArrays(GL_TRIANGLES, 0, triangles.getVertices().size() / 3);
rs.shader->unsetVertices(); rs.shader->unsetVertices();
rs.shader->unsetNormals(); rs.shader->unsetNormals();

View File

@@ -1,11 +1,15 @@
#ifndef RENDERABLE3D_H #ifndef RENDERABLE3D_H
#define RENDERABLE3D_H #define RENDERABLE3D_H
#include <QOpenGLFunctions>
class Shader; class Shader;
struct RenderSettings { struct RenderSettings {
Shader* shader = nullptr; Shader* shader = nullptr;
RenderSettings(Shader* shader) : shader(shader) {;} QOpenGLFunctions* funcs = nullptr;
RenderSettings(Shader* shader, QOpenGLFunctions* f) : shader(shader), funcs(f) {;}
}; };

View File

@@ -69,20 +69,20 @@ void Window::render(const RenderSettings& rs) {
rs.shader->setColor(0.75, 0.85, 1.0, 0.35); rs.shader->setColor(0.75, 0.85, 1.0, 0.35);
glEnable(GL_BLEND); rs.funcs->glEnable(GL_BLEND);
glBlendFunc(GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA); rs.funcs->glBlendFunc(GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA);
//glDisable(GL_CULL_FACE); //glDisable(GL_CULL_FACE);
rs.shader->setModelMatrix(mat); rs.shader->setModelMatrix(mat);
rs.shader->setVertices(window_vertices); rs.shader->setVertices(window_vertices);
rs.shader->setNormals(window_normals); rs.shader->setNormals(window_normals);
glDrawArrays(GL_TRIANGLES, 0, 12); rs.funcs->glDrawArrays(GL_TRIANGLES, 0, 12);
rs.shader->unsetVertices(); rs.shader->unsetVertices();
rs.shader->unsetNormals(); rs.shader->unsetNormals();
//glEnable(GL_CULL_FACE); //glEnable(GL_CULL_FACE);
glDisable(GL_BLEND); rs.funcs->glDisable(GL_BLEND);
rs.shader->release(); rs.shader->release();

View File

@@ -10,12 +10,13 @@
#include <QPainter> #include <QPainter>
#include <QOpenGLWidget> #include <QOpenGLWidget>
#include <QOpenGLFunctions>
#include "../misc/Renderable3D.h" #include "../misc/Renderable3D.h"
#include "../misc/Shader.h" #include "../misc/Shader.h"
#include "../misc/TriangleData.h" #include "../misc/TriangleData.h"
class NavMeshRenderer { class NavMeshRenderer : protected QOpenGLFunctions {
private: private: