2#include "../Headers/GLESGraphicsPipeline.h"
3#include "../Headers/GLESGraphicsDevice.h"
4#include <NDEVR/QTGraphicsWindow.h>
5#include <NDEVR/VirtualCameraView.h>
6#include <NDEVR/GraphicsPipeline.h>
7#include <NDEVR/GraphicsSession.h>
8#include <NDEVR/GraphicsUpdateArguments.h>
9#include <NDEVR/ViewportFactory.h>
10#include <NDEVR/Buffer.h>
11#include <QOpenGLShaderProgram>
12#include <QOpenGLTexture>
13#include <QOpenGLBuffer>
14#include <QOpenGLVertexArrayObject>
15#include <QOpenGLFunctions>
70 if (qt_model_manager ==
nullptr)
89 if (qt_model_manager ==
nullptr)
98 lib_assert(q_manager !=
nullptr,
"Bad manager for graphics engine");
99 if(q_manager ==
nullptr)
A core class where all Design Objects including models, materials, and geometries are stored.
Provides a modifiable pointer that has shared ownership of a dynamically allocated object.
Allows the software to generate OpenGL windows when requested that are rendered with OpenGL.
virtual bool canCreateView(const DynamicPointer< Camera > &camera, DesignObjectLookup *model_manager, bool ignore_active) override
Checks whether a view can be created for the given camera.
virtual void resetToDefaults() override
Resets the factory to default settings.
virtual VirtualCameraView * createView(const DynamicPointer< Camera > &camera, DesignObjectLookup *model_manager, QWidget *parent=nullptr) override
Creates a new OpenGL-rendered camera viewport.
static const DynamicPointer< GraphicsSession > & DefaultSession()
Returns the default singleton graphics session.
The core Window used to render a viewport with OpenGL.
void exposeEvent(QExposeEvent *) override
Handles window expose events to trigger repaints.
bool event(QEvent *event) override
Handles general window events.
void paintGL(GraphicsUpdateArguments &args)
Performs the OpenGL paint pass for the current frame.
void * getSurface() override
Returns the rendering surface for this window.
virtual void makeCurrent() override
Makes the OpenGL context current for this window.
void updateInstance() override
No-op instance update for the GLES window.
void initialize() override
Initializes the OpenGL context and device for this window.
GLESGraphicsWindow(QWindow *parent, Qt::WindowFlags flags)
Constructs a GLESGraphicsWindow.
void finishFrame(GraphicsUpdateArguments &args) final override
Completes the current frame by swapping buffers.
~GLESGraphicsWindow()
Destroys the window and releases OpenGL resources.
virtual void updateActive(const DynamicPointer< GraphicsSession > &session, bool add_cameras=true)=0
Updates the active state of a graphics session.
Options that are used for performing an update on a Graphics Engine call.
QTGraphicsWindow(const DynamicPointer< GraphicsDevice > &device, QWindow *parent, Qt::WindowFlags flags)
Constructs the graphics window.
A wrapper around DesignObjectLookup that provides signal and slot functionality and adds rendering ca...
GraphicsManagerBase * graphicsManager()
Retrieves the graphics manager used for rendering.
A service which can generate Viewports based on Camera data.
A Viewport for rendering 3D objects in the scene with the NDEVR Graphics Engine.
void setModelManager(QTModelManager *manager)
Sets the model manager.
void setCamera(const DynamicPointer< Camera > &camera)
Sets the camera for this view.
static Qt::WindowFlags windowFlags()
Returns the platform-specific window flags for the embedded window.
The primary namespace for the NDEVR SDK.
@ file
The source file path associated with this object.