API Documentation
Loading...
Searching...
No Matches
GLESGraphicsDevice.h
Go to the documentation of this file.
1#pragma once
2#include "DLLInfo.h"
4#include <QOpenGLContext>
5#include <QOpenGLExtraFunctions>
6#include <QOpenGLFunctions>
7class QSurface;
8class QOpenGLDebugLogger;
9namespace NDEVR
10{
11 /**--------------------------------------------------------------------------------------------------
12 \brief Capabilities provided by a GLESGraphicsDevice
13 **/
19 /**--------------------------------------------------------------------------------------------------
20 \brief Buffer for storing data in the OpenGL engine, usually for rendering
21 **/
22 class GLESGraphicsDevice : public GraphicsDevice, public QOpenGLExtraFunctions
23 {
24 public:
27 virtual UUID id() const override { return m_id; };
28 virtual bool isValid() const override
29 {
30 return true;
31 }
32 QOpenGLContext* context()
33 {
34 return m_context;
35 }
36 virtual uint04 maxSupportedSamples() const override
37 {
38 return 1U;
39 }
40 virtual void init() override
41 {
42
43 }
44
45 virtual bool isReady() const override
46 {
47 return m_is_init;
48
49 };
50 virtual bool isInitialized() const override
51 {
52 return true;
53 }
54 virtual bool updateFromLookup() const override
55 {
56 return false;
57 }
58 virtual const void* initLockPtr() const override
59 {
60 return this;
61 }
63 bool makeCurrent(QSurface* surface);
65 protected:
66 void initialize();
68 QSurface* m_surface = nullptr;
69 QOpenGLContext* m_context = nullptr;
70 QOpenGLDebugLogger* m_logger = nullptr;
72 bool m_is_init = false;
73 protected:
75
76 };
77}
Provides a modifiable pointer that has shared ownership of a dynamically allocated object.
Definition Pointer.hpp:320
Buffer for storing data in the OpenGL engine, usually for rendering.
Definition GLESGraphicsDevice.h:23
virtual ~GLESGraphicsDevice()
Definition GLESGraphicsDevice.h:26
QOpenGLContext * context()
Definition GLESGraphicsDevice.h:32
virtual UUID id() const override
Definition GLESGraphicsDevice.h:27
virtual void init() override
Definition GLESGraphicsDevice.h:40
QSurface * m_surface
Definition GLESGraphicsDevice.h:68
virtual const void * initLockPtr() const override
Definition GLESGraphicsDevice.h:58
QOpenGLDebugLogger * m_logger
Definition GLESGraphicsDevice.h:70
UUID m_id
Definition GLESGraphicsDevice.h:71
bool makeCurrent(QSurface *surface)
virtual bool isReady() const override
Definition GLESGraphicsDevice.h:45
bool m_is_init
Definition GLESGraphicsDevice.h:72
GLCapabilities m_capabilities
Definition GLESGraphicsDevice.h:67
virtual bool isValid() const override
Definition GLESGraphicsDevice.h:28
static const DynamicPointer< GLESGraphicsDevice > & DefaultGLESDevice()
virtual uint04 maxSupportedSamples() const override
Definition GLESGraphicsDevice.h:36
static DynamicPointer< GraphicsDevice > s_default_graphics_device
Definition GLESGraphicsDevice.h:74
QOpenGLContext * m_context
Definition GLESGraphicsDevice.h:69
virtual bool updateFromLookup() const override
Definition GLESGraphicsDevice.h:54
virtual bool isInitialized() const override
Definition GLESGraphicsDevice.h:50
A physical or virtual device used with the NDEVR Rendering Engine. A device contains System specific ...
Definition GraphicsDevice.h:12
A universally unique identifier (UUID) is a 128-bit number used to identify information in computer s...
Definition UUID.h:60
Definition ACIColor.h:37
uint32_t uint04
-Defines an alias representing a 4 byte, unsigned integer -Can represent exact integer values 0 throu...
Definition BaseValues.hpp:96
Capabilities provided by a GLESGraphicsDevice.
Definition GLESGraphicsDevice.h:15
GLint uniform_buffer_align_size
Definition GLESGraphicsDevice.h:16
GLint uniform_buffer_min_size
Definition GLESGraphicsDevice.h:17