22 lines
657 B
C++
22 lines
657 B
C++
#include "Scene.h"
|
|
#include "viewerwindow.h"
|
|
#include <QApplication>
|
|
#include <QtConcurrent/QtConcurrent>
|
|
|
|
int main(int argc, char **argv) {
|
|
QApplication app(argc, argv);
|
|
|
|
raytry::ViewerWindow window;
|
|
window.show();
|
|
|
|
const auto updateImage = [&](){ QMetaObject::invokeMethod(&window, "updateImageLabel", Qt::QueuedConnection); };
|
|
raytry::Scene scene{};
|
|
QtConcurrent::run(&raytry::Scene::render, &scene, std::reference_wrapper<raytry::ViewerWindow>(window), updateImage)
|
|
.then(updateImage)
|
|
.onFailed([]() {
|
|
qFatal("Rendering scene failed!");
|
|
});
|
|
|
|
return QApplication::exec();
|
|
}
|