overte-HifiExperiments/libraries/render-utils/src/OffscreenGlCanvas.h
Brad Davis 359abd6474 Merge branch 'master' into plugins
Conflicts:
	interface/CMakeLists.txt
	interface/src/Application.cpp
	interface/src/Application.h
	interface/src/GLCanvas.cpp
	interface/src/GLCanvas.h
	interface/src/devices/OculusManager.cpp
	interface/src/devices/OculusManager.h
	interface/src/devices/TV3DManager.cpp
	interface/src/ui/overlays/LocalModelsOverlay.cpp
	libraries/render-utils/src/OffscreenGlCanvas.cpp
	libraries/render-utils/src/OffscreenGlCanvas.h
	libraries/render-utils/src/text/EffectType.h
2015-07-20 13:33:24 -07:00

43 lines
982 B
C++

//
// OffscreenGlCanvas.h
// interface/src/renderer
//
// Created by Bradley Austin Davis on 2014/04/09.
// Copyright 2015 High Fidelity, Inc.
//
// Distributed under the Apache License, Version 2.0.
// See the accompanying file LICENSE or http://www.apache.org/licenses/LICENSE-2.0.html
//
#pragma once
#ifndef hifi_OffscreenGlCanvas_h
#define hifi_OffscreenGlCanvas_h
#include <mutex>
#include <QObject>
class QOpenGLContext;
class QOffscreenSurface;
class QOpenGLDebugLogger;
class OffscreenGlCanvas : public QObject {
public:
OffscreenGlCanvas();
~OffscreenGlCanvas();
void create(QOpenGLContext* sharedContext = nullptr);
bool makeCurrent();
void doneCurrent();
QOpenGLContext* getContext() {
return _context;
}
protected:
std::once_flag _reportOnce;
QOpenGLContext* _context;
QOffscreenSurface* _offscreenSurface;
#ifdef DEBUG
QOpenGLDebugLogger* _logger{ nullptr };
#endif
};
#endif // hifi_OffscreenGlCanvas_h