16#ifndef QGSABSTRACT3DENGINE_H 
   17#define QGSABSTRACT3DENGINE_H 
   22#include <QElapsedTimer> 
   37  class QRenderSettings;
 
   39  class QFrameGraphNode;
 
   80    virtual Qt3DRender::QCamera *
camera() = 0;
 
   82    virtual QSize 
size() 
const = 0;
 
   91    void requestDepthBufferCapture();
 
   98    void requestCaptureImage();
 
  121    void setRenderCaptureEnabled( 
bool enabled );
 
  127    bool renderCaptureEnabled() 
const;
 
void sizeChanged()
Emitted after a call to setSize()
 
void imageCaptured(const QImage &image)
Emitted after a call to requestCaptureImage() to return the captured image.
 
virtual QSurface * surface() const =0
Returns the surface of the engine.
 
void depthBufferCaptured(const QImage &image)
Emitted after a call to requestDepthBufferCapture() to return the captured depth buffer.
 
QgsShadowRenderingFrameGraph * frameGraph()
Returns the shadow rendering frame graph object used to render the scene.
 
virtual Qt3DRender::QCamera * camera()=0
Returns pointer to the engine's camera entity.
 
virtual void setClearColor(const QColor &color)=0
Sets background color of the scene.
 
virtual void setSize(QSize s)=0
Sets the size of the rendering area (in pixels)
 
virtual void setFrustumCullingEnabled(bool enabled)=0
Sets whether frustum culling is enabled (this should make rendering faster by not rendering entities ...
 
virtual void setRootEntity(Qt3DCore::QEntity *root)=0
Sets root entity of the 3D scene.
 
virtual QSize size() const =0
Returns size of the engine's rendering area in pixels.
 
virtual Qt3DRender::QRenderSettings * renderSettings()=0
Returns access to the engine's render settings (the frame graph can be accessed from here)