From 4b7d9eb22d923ecaf6cd1dbfa2d562dd508e6646 Mon Sep 17 00:00:00 2001 From: Jan Burle <jan@c53.be> Date: Mon, 29 May 2017 11:27:35 +0200 Subject: [PATCH] demo: better colours on OSX --- GUI/ba3d/ba3d/model/object.cpp | 4 ---- GUI/ba3d/ba3d/view/program.cpp | 4 ++++ GUI/ba3d/demo/demo_model.cpp | 11 +++++++++-- GUI/ba3d/demo/demo_model.h | 5 +++-- GUI/ba3d/demo/main.cpp | 1 - GUI/ba3d/demo/mainwin.cpp | 12 ++++++------ GUI/ba3d/demo/mainwin.h | 2 +- 7 files changed, 23 insertions(+), 16 deletions(-) diff --git a/GUI/ba3d/ba3d/model/object.cpp b/GUI/ba3d/ba3d/model/object.cpp index c4677e3ada8..a7a67eda0e5 100644 --- a/GUI/ba3d/ba3d/model/object.cpp +++ b/GUI/ba3d/ba3d/model/object.cpp @@ -9,13 +9,9 @@ namespace ba3d { //------------------------------------------------------------------------------ #ifdef Q_OS_LINUX - QColor const clrObject = Qt::lightGray; - #else - QColor const clrObject = Qt::black; - #endif Object::Object(geometry::key gky_) : color(clrObject) diff --git a/GUI/ba3d/ba3d/view/program.cpp b/GUI/ba3d/ba3d/view/program.cpp index 6c77a016a8d..d45cd1ea8b3 100644 --- a/GUI/ba3d/ba3d/view/program.cpp +++ b/GUI/ba3d/ba3d/view/program.cpp @@ -38,7 +38,11 @@ static char const *shaderFragment = " highp vec3 L = normalize(lightPos - vo);" " highp vec3 N = normalize(nm);" " highp float NL = dot(N,L);" +#ifdef Q_OS_OSX " highp vec4 C = color*(0.6 + NL*0.4);" // mix ambient with specular +#else + " highp vec4 C = color*(0.4 + NL*0.6);" +#endif " gl_FragColor = clamp(C, 0.0, 1.0);" "}"; } diff --git a/GUI/ba3d/demo/demo_model.cpp b/GUI/ba3d/demo/demo_model.cpp index 39f7489238c..3c58e5aeeb1 100644 --- a/GUI/ba3d/demo/demo_model.cpp +++ b/GUI/ba3d/demo/demo_model.cpp @@ -73,7 +73,10 @@ void DemoModel::square(float sigma) { ps.resize(mesh.count()); for (auto& p: ps) { add((p = new particle::TruncatedSphere(R, R))); + p->color = QColor(170, 0, 0); +#ifdef Q_OS_OSX p->color = QColor(70, 0, 0); +#endif } activeMesh.clear(); } @@ -162,7 +165,9 @@ void DemoModel::oneOut() { void DemoModel::oneIn(particle::kind kind) { add((p = newParticle(kind, R))); +#ifdef Q_OS_OSX p->color = QColor(70,0,0); +#endif p->transform(xyz::_0, xyz(0, 0, -hgtLayer)); uint const steps = 140; @@ -205,11 +210,13 @@ void DemoModel::cameraUpdated(DemoModel::Camera const& cam) { } void DemoModel::addSubstrate() { - addLayer(dr(-hgtLayer, -hgtLayer - hgtSubstrate), Qt::lightGray); + QColor clr = Qt::lightGray; + addLayer(dr(-hgtLayer, -hgtLayer - hgtSubstrate), clr); } void DemoModel::addLayer() { - addLayer(dr(0, -hgtLayer), QColor(0, 100, 0)); + QColor clr = QColor(0, 100, 0); + addLayer(dr(0, -hgtLayer), clr); } void DemoModel::addLayer(dr z, QColor clr) { diff --git a/GUI/ba3d/demo/demo_model.h b/GUI/ba3d/demo/demo_model.h index 9368b0e3e4a..742ff4c1556 100644 --- a/GUI/ba3d/demo/demo_model.h +++ b/GUI/ba3d/demo/demo_model.h @@ -1,7 +1,7 @@ // GPL3; https://github.com/jburle/ba3d -#ifndef BA3D_DEMOMODEL_LAYERS_H -#define BA3D_DEMOMODEL_LAYERS_H +#ifndef BA3D_DEMOMODEL_H +#define BA3D_DEMOMODEL_H #include <ba3d/model/model.h> #include <ba3d/model/particles.h> @@ -20,6 +20,7 @@ public: using Camera = ba3d::Camera; DemoModel(); + void switchBack(); void switchFront(); void switchOne(); diff --git a/GUI/ba3d/demo/main.cpp b/GUI/ba3d/demo/main.cpp index a670b5f60a5..a08dd857343 100644 --- a/GUI/ba3d/demo/main.cpp +++ b/GUI/ba3d/demo/main.cpp @@ -29,7 +29,6 @@ int App::exec() { win.show(); QScopedPointer<DemoModel> model(new DemoModel); - win.widg3t().setModel(model.data()); return base::exec(); diff --git a/GUI/ba3d/demo/mainwin.cpp b/GUI/ba3d/demo/mainwin.cpp index 04e1b8ed31d..11c40bb94ed 100644 --- a/GUI/ba3d/demo/mainwin.cpp +++ b/GUI/ba3d/demo/mainwin.cpp @@ -1,7 +1,6 @@ // GPL3; https://github.com/jburle/ba3d #include "mainwin.h" -#include "demo_model.h" #include <QApplication> #include <QBoxLayout> @@ -32,10 +31,6 @@ void MainWin::keyPressEvent(QKeyEvent* e) { close(); } -void MainWin::mouseDoubleClickEvent(QMouseEvent*) { - -} - void MainWin::createLayout() { setCentralWidget(new QWidget); @@ -44,7 +39,12 @@ void MainWin::createLayout() { vb->addWidget((w3d = new ba3d::Widget3D)); - w3d->setBackground(QColor(160,160,160)); +#ifdef Q_OS_OSX + QColor clrBg(160,160,160); +#else + QColor clrBg(palette().color(QPalette::Background)); +#endif + w3d->setBackground(clrBg); auto hb = new QHBoxLayout; vb->addLayout(hb); diff --git a/GUI/ba3d/demo/mainwin.h b/GUI/ba3d/demo/mainwin.h index db0843042bb..5a36e34ea18 100644 --- a/GUI/ba3d/demo/mainwin.h +++ b/GUI/ba3d/demo/mainwin.h @@ -3,6 +3,7 @@ #ifndef BA3D_MAINWIN_H #define BA3D_MAINWIN_H +#include "demo_model.h" #include <ba3d/widget.h> #include <ba3d/model/particles.h> #include <QMainWindow> @@ -23,7 +24,6 @@ public: private: void closeEvent(QCloseEvent*); void keyPressEvent(QKeyEvent*); - void mouseDoubleClickEvent(QMouseEvent*); void createLayout(); ba3d::Widget3D *w3d; -- GitLab