NAVTOR SDK  v.3.0
Software Development Kit for fast and efficient development of ECDIS, ECS and generic marine applications
gl2d_caps_interface.h
Go to the documentation of this file.
1 #ifndef SDK_GL2D_CAPS_INTERFACE_H_
11 #define SDK_GL2D_CAPS_INTERFACE_H_
12 #pragma once
13 
14 #include <base/inc/platform.h>
15 #include <base/inc/base_types.h>
16 #include <base/inc/sdk_component_base.h>
18 #include <visualizationlayer/inc/vis_const.h>
19 
20 SDK_GL2D_BEGIN_NAMESPACE
21 
24 
28 {
29 };
30 
34 {
35  kGL2DGpuType_Unknown = 0, // Unknown GPU type
36  kGL2DGpuType_Integrated = 1, // Integrated GPU (Intel HD/etc)
37  kGL2DGpuType_Discrete = 2, // Discrete GPU (nVidia/etc)
38 };
39 
43 {
44  kGL2DGpuVendor_Unknown = 0, // Unknown GPU vendor
45  kGL2DGpuVendor_Intel = 1, // Intel (Vendor: "Intel")
46  kGL2DGpuVendor_nVidia = 2, // nVidia (Vendor: "NVIDIA Corporation")
47  kGL2DGpuVendor_ATI_AMD = 3, // ATI/AMD (Vendor: "ATI Technologies Inc.")
48  kGL2DGpuVendor_Vivante = 4, // Vivante (Vendor: "Vivante Corporation")
49  kGL2DGpuVendor_ARM = 5, // ARM (Vendor: "ARM")
50  kGL2DGpuVendor_Qualcomm = 6, // Qualcomm (Vendor: "Qualcomm")
51 
52  kGL2DGpuVendor_VMWare = 50, // Software runs on VMWare VM (Vendor: "VMware, Inc.")
53  kGL2DGpuVendor_Other = 100, // Other GPU vendor, not listed here
54 };
55 
59 {
60  // Clipping operation
61  // Supported by all of known devices so far
62  kGL2DCanvasOperationType_Clipping = 0,
63 
64  // Draw mesh (colored mesh) operation
65  // Supported by all of known devices so far
66  kGL2DCanvasOperationType_DrawMesh = 1,
67 
68  // Draw mesh (colored mesh) with perspective projection operation
69  // Supported by all of known devices so far
70  kGL2DCanvasOperationType_DrawMeshWithPerspectiveProj = 2,
71 
72  // Draw lighted 3D mesh operation
73  // Supported by all of known devices so far
74  kGL2DCanvasOperationType_DrawLightedMesh3D = 3,
75 
76  // Draw texture operation
77  // Supported by all of known devices so far
78  kGL2DCanvasOperationType_DrawTexture = 4,
79 
80  // Draw textures operation
81  // Supported by all of known devices so far
82  kGL2DCanvasOperationType_DrawTextures = 5,
83 
84  // Draw sprites operation
85  // Supported by all of known devices so far
86  kGL2DCanvasOperationType_DrawSprites = 6,
87 
88  // Draw sprites with perspective projection operation
89  // Supported by all of known devices so far
90  kGL2DCanvasOperationType_DrawSpritesWithPerspProj = 7,
91 
92  // Draw simple lines operation
93  // Supported by all of known devices so far
94  kGL2DCanvasOperationType_DrawSimpleLine = 8,
95 
96  // Draw fast solid lines/multilines operation
97  // Supported by all of known devices so far
98  kGL2DCanvasOperationType_DrawFastSolidLine = 9,
99 
100  // Draw fast solid lines/multilines with perspective projection operation
101  // Supported by all of known devices so far
102  kGL2DCanvasOperationType_DrawFastSolidLineWithPerspProj = 10,
103 
104  // Draw fast dash lines/multilines operation
105  // Supported by all of known devices so far
106  kGL2DCanvasOperationType_DrawFastDashLine = 11,
107 
108  // Draw Rougier solid lines operation
109  // Supported by all of known devices so far
110  kGL2DCanvasOperationType_DrawRougierSolidLine = 12,
111 
112  // Draw Rougier dash lines operation
113  // Supported by all of known devices, EXCEPT iMX6!
114  // (Shader program can't be linked due of size)
115  kGL2DCanvasOperationType_DrawRougierDashLine = 13,
116 
117  // Draw line marks operation
118  // Supported by all of known devices so far
119  kGL2DCanvasOperationType_DrawLineMarks = 14,
120 
121  // Draw textured line operation
122  // Supported by all of known devices so far
123  kGL2DCanvasOperationType_DrawTexturedLine = 15,
124 
125  // Draw simple text operation
126  // Supported by all of known devices so far
127  kGL2DCanvasOperationType_DrawSimpleText = 16,
128 
129  // Draw bordered text operation
130  // Supported by all of known devices so far
131  kGL2DCanvasOperationType_DrawBorderedText = 17,
132 
133  // Draw texts collection operation
134  // Supported by all of known devices so far
135  kGL2DCanvasOperationType_DrawTextsCollection = 18,
136 
137  // Draw Latin1 texts operation
138  // Supported by all of known devices so far
139  kGL2DCanvasOperationType_DrawLatin1Texts = 19,
140 
141  // Draw Latin1 bordered texts operation
142  // Supported by all of known devices so far
143  kGL2DCanvasOperationType_DrawLatin1BorderedTexts = 20,
144 
145  // Draw simple pattern operation
146  // Supported by all of known devices so far
147  kGL2DCanvasOperationType_DrawSimplePattern = 21,
148 
149  // Draw staggered pattern operation
150  // Supported by all of known devices so far
151  kGL2DCanvasOperationType_DrawStaggeredPattern = 22,
152 
153  // Draw filled circles operation
154  // Supported by all of known devices so far
155  kGL2DCanvasOperationType_DrawFilledCircles = 23,
156 
157  // Draw thin solid pivot point based line operation
158  // Supported by all of known devices so far
159  kGL2DCanvasOperationType_DrawThinSolidPivotPointLine = 24,
160 
161  // Draw indexed texture with 256 colors palette
162  // Supported by all of known devices so far
163  kGL2DCanvasOperationType_DrawIndexedTexture_256_Colors = 25,
164 
165  // Draw 8 bits radar image operation
166  // Supported by all of known devices so far
167  kGL2DCanvasOperationType_DrawRadarImage_8_bits = 26,
168 
169  // Draw 8 bits texture based radar image operation
170  // Supported by all of known devices so far
171  kGL2DCanvasOperationType_DrawRadarImage_Tex_8_bits = 27,
172 
173  // Draw scalebar operation
174  // Supported by all of known devices so far
175  kGL2DCanvasOperationType_DrawScalebar = 28,
176 
177  // Draw textures to texture
178  // Supported by all of known devices so far
179  kGL2DCanvasOperationType_DrawTexturesToTexture = 29,
180 
181  // Draw text boxes operation
182  // Supported by all of known devices so far
183  kGL2DCanvasOperationType_DrawTextBoxes = 30,
184 
185  // Get texture bits operation
186  // Depends of GL platform/GL or GLES2/device
187  kGL2DCanvasOperationType_GetTextureBits_RGBA = 31, // Get RGBA texture bits
188  kGL2DCanvasOperationType_GetTextureBits_BGRA = 32, // Get BGRA texture bits
189  kGL2DCanvasOperationType_GetTextureBits_RGB = 33, // Get RGB texture bits
190  kGL2DCanvasOperationType_GetTextureBits_RGB16 = 34, // Get RGB16 texture bits
191  kGL2DCanvasOperationType_GetTextureBits_Gray = 35, // Get GrayScale texture bits
192 
193  // Clone texture operation
194  // Depends of GL platform/GL or GLES2/device
195  kGL2DCanvasOperationType_CloneTexture_RGBA = 36, // Clone RGBA texture
196  kGL2DCanvasOperationType_CloneTexture_BGRA = 37, // Clone BGRA texture
197  kGL2DCanvasOperationType_CloneTexture_RGB = 38, // Clone RGB texture
198  kGL2DCanvasOperationType_CloneTexture_RGB16 = 39, // Clone RGB16 texture
199 
200  // Copy texture operation
201  kGL2DCanvasOperationType_CopyTexture_RGBA = // Copy RGBA texture
202  kGL2DCanvasOperationType_CloneTexture_RGBA,
203  kGL2DCanvasOperationType_CopyTexture_BGRA = // Copy BGRA texture
204  kGL2DCanvasOperationType_CloneTexture_BGRA,
205  kGL2DCanvasOperationType_CopyTexture_RGB = // Copy RGB texture
206  kGL2DCanvasOperationType_CloneTexture_RGB,
207  kGL2DCanvasOperationType_CopyTexture_RGB16 = // Copy RGB16 texture
208  kGL2DCanvasOperationType_CloneTexture_RGB16,
209  kGL2DCanvasOperationType_CopyTexture_Gray = 40, // Copy GrayScale texture
210 
211  // R8/A8 textures support
212  kGL2DCanvasOperationType_CanCreateR8Texture = 41, // Can create R8 (GL_RED) texture
213  kGL2DCanvasOperationType_CanCreateA8Texture = 42, // Can create A8 (GL_ALPHA) texture
214  kGL2DCanvasOperationType_CanBindR8TextureToFBO = 43, // Can bind R8 texture to FBO (can render to R8 texture)
215  kGL2DCanvasOperationType_CanBindA8TextureToFBO = 44, // Can bind A8 texture to FBO (can render to A8 texture)
216  kGL2DCanvasOperationType_CanCopyR8ToR8 = 45, // Can copy R8 texture to R8 texture
217  kGL2DCanvasOperationType_CanCopyA8ToA8 = 46, // Can copy A8 texture to A8 texture
218  kGL2DCanvasOperationType_CopyTexture_R8 = // Copy R8 texture
219  kGL2DCanvasOperationType_CanCopyR8ToR8,
220  kGL2DCanvasOperationType_CopyTexture_A8 = // Copy A8 texture
221  kGL2DCanvasOperationType_CanCopyA8ToA8,
222 
223  // Clipping texture support
224  kGL2DCanvasOperationType_CanCreateClippingTexture = 47, // Can create clipping texture
225  kGL2DCanvasOperationType_CanUseClippingTexture = 48, // Can use clipping texture
226 
227  // Directional shadows for 3D objects support
228  kGL2DCanvasOperationType_CanDrawDirectionalShadowsFor3D = 49, // Can draw directional shadows for 3D objects, like mesh 3D
229 
230  // First/last operation type
231  kGL2DCanvasOperationType_First = kGL2DCanvasOperationType_Clipping,
232  kGL2DCanvasOperationType_Last = kGL2DCanvasOperationType_CanDrawDirectionalShadowsFor3D,
233 };
234 
254 class IGL2DCaps : public ISDKProperties
255 {
256 public:
258  virtual void SDK_CALLTYPE Dump() const throw() = 0;
259 
261  virtual IGL2DCanvasSP SDK_CALLTYPE GetParent() const throw() = 0;
262 
264  virtual SDKResult SDK_CALLTYPE GetVendorName(
265  SDKString& vendor_name) const throw() = 0;
267  virtual SDKResult SDK_CALLTYPE GetRendererName(
268  SDKString& renderer_name) const throw() = 0;
270  virtual SDKResult SDK_CALLTYPE GetGlVersion(
271  SDKString& gl_version) const throw() = 0;
273  virtual SDKResult SDK_CALLTYPE GetGlNumericVersion(
274  SDKUInt32& major, SDKUInt32& minor) const throw() = 0;
276  virtual SDKResult SDK_CALLTYPE GetGlSlVersion(
277  SDKString& glsl_version) const throw() = 0;
279  virtual SDKResult SDK_CALLTYPE GetGlSlNumericVersion(
280  SDKUInt32& major, SDKUInt32& minor) const throw() = 0;
282  virtual GL2DGpuType SDK_CALLTYPE GetGpuType() const throw() = 0;
284  virtual GL2DGpuVendor SDK_CALLTYPE GetGpuVendor() const throw() = 0;
285 
288  virtual bool SDK_CALLTYPE IsGpuHasLowAccuracyForLongLineSegments() const throw() = 0;
289 
292  virtual SDKUInt32 SDK_CALLTYPE GetMaxTextureSize() const throw() = 0;
293 
296  virtual SDKUInt32 SDK_CALLTYPE GetMaxRenderBufferSize() const throw() = 0;
297 
299  virtual bool SDK_CALLTYPE GetTextureSizeIsPowerOfTwo() const throw() = 0;
300 
302  virtual bool SDK_CALLTYPE GetBGRASupport() const throw() = 0;
303 
305  inline bool SDK_CALLTYPE CanCreateR8Textures() const
306  {
308  kGL2DCanvasOperationType_CanCreateR8Texture);
309  }
311  inline bool SDK_CALLTYPE CanCreateA8Textures() const
312  {
314  kGL2DCanvasOperationType_CanCreateA8Texture);
315  }
317  inline bool SDK_CALLTYPE CanCreateGrayscaleTextures() const
318  { return CanCreateR8Textures() || CanCreateA8Textures(); }
319 
322  inline bool SDK_CALLTYPE CanBindR8TextureToFBO() const
323  {
325  kGL2DCanvasOperationType_CanBindR8TextureToFBO);
326  }
329  inline bool SDK_CALLTYPE CanBindA8TextureToFBO() const
330  {
332  kGL2DCanvasOperationType_CanBindA8TextureToFBO);
333  }
336  inline bool SDK_CALLTYPE CanBindGrayscaleTextureToFBO() const
338 
340  inline bool SDK_CALLTYPE CanCopyR8TextureToR8Texture() const
341  { return IsCanvasOperationSupported(kGL2DCanvasOperationType_CanCopyR8ToR8); }
343  inline bool SDK_CALLTYPE CanCopyA8TextureToA8Texture() const
344  { return IsCanvasOperationSupported(kGL2DCanvasOperationType_CanCopyA8ToA8); }
346  inline bool SDK_CALLTYPE CanCopyGrayscaleTextureToGrayscaleTexture() const
347  { return IsCanvasOperationSupported(kGL2DCanvasOperationType_CopyTexture_Gray); }
348 
350  virtual bool SDK_CALLTYPE GetStencil8Support() const throw() = 0;
353  virtual bool SDK_CALLTYPE GetDepth24Support() const throw() = 0;
355  virtual bool SDK_CALLTYPE GetPackedDepthStencilSupport() const throw() = 0;
357  virtual bool SDK_CALLTYPE GetDepthTextureSupport() const throw() = 0;
359  virtual SDKUInt32 SDK_CALLTYPE GetCurrentFBOStencilBits() const throw() = 0;
361  virtual SDKUInt32 SDK_CALLTYPE GetCurrentFBOAlphaBits() const throw() = 0;
362 
364  virtual SDKUInt64 SDK_CALLTYPE GetMaxVerticesCount() const throw() = 0;
366  virtual SDKUInt64 SDK_CALLTYPE GetMaxIndexesCount() const throw() = 0;
368  virtual SDKUInt32 SDK_CALLTYPE GetMaxIndexValue() const throw() = 0;
369 
371  virtual SDKUInt32 SDK_CALLTYPE GetMaxNumberOfClippingMeshes() const throw() = 0;
372 
374  virtual float SDK_CALLTYPE GetMinSimpleLineWidth() const throw() = 0;
376  virtual float SDK_CALLTYPE GetMaxSimpleLineWidth() const throw() = 0;
377 
380  virtual SDKUInt32 SDK_CALLTYPE GetMaxVertexShaderAttributesCount() const throw() = 0;
383  virtual SDKUInt32 SDK_CALLTYPE GetMaxVertexShaderUniformsCount() const throw() = 0;
386  virtual SDKUInt32 SDK_CALLTYPE GetMaxVertexShaderTexturesCount() const throw() = 0;
389  virtual SDKUInt32 SDK_CALLTYPE GetMaxShaderVaryingVectorsCount() const throw() = 0;
392  virtual SDKUInt32 SDK_CALLTYPE GetMaxFragmentShaderUniformsCount() const throw() = 0;
395  virtual SDKUInt32 SDK_CALLTYPE GetMaxFragmentShaderTexturesCount() const throw() = 0;
396 
403  virtual SDKUInt32 SDK_CALLTYPE GetGLSLFloatPrecisionInVertexShader() const throw() = 0;
404  virtual SDKUInt32 SDK_CALLTYPE GetGLSLFloatPrecisionInFragmentShader() const throw() = 0;
405  inline SDKUInt32 SDK_CALLTYPE GetGLSLFloatPrecision() const
406  {
407  const SDKUInt32 vertex = GetGLSLFloatPrecisionInVertexShader();
408  const SDKUInt32 fragment = GetGLSLFloatPrecisionInFragmentShader();
409  return vertex < fragment ? vertex : fragment;
410  }
411 
413  virtual bool SDK_CALLTYPE IsGlExtensionSupported(
414  const SDKString& extension_name) const throw() = 0;
415 
417  virtual bool SDK_CALLTYPE IsCanvasOperationSupported(
418  const GL2DCanvasOperationType& type) const throw() = 0;
419 
420  SDK_IMPLEMENT_IID(IGL2DCaps)
421  SDK_END_INTERFACE(IGL2DCaps)
422 };
423 SDK_DECLARE_IID(IGL2DCaps)
424 
425 SDK_GL2D_END_NAMESPACE
426 
427 #endif // SDK_GL2D_CAPS_INTERFACE_H_
IGL2DCaps::GetGpuVendor
virtual GL2DGpuVendor SDK_CALLTYPE GetGpuVendor() const =0
Returns GPU vendor.
IGL2DCaps::GetMaxIndexesCount
virtual SDKUInt64 SDK_CALLTYPE GetMaxIndexesCount() const =0
Returns max number of indexes for one GL2D object.
IGL2DCaps::GetMaxFragmentShaderTexturesCount
virtual SDKUInt32 SDK_CALLTYPE GetMaxFragmentShaderTexturesCount() const =0
Returns max allowed fragment shader textures count At least 8 for OpenGL ES2, at least 16 for OpenGL.
IGL2DCaps::CanCopyR8TextureToR8Texture
bool SDK_CALLTYPE CanCopyR8TextureToR8Texture() const
GL platform allows to copy R8 (GL_RED) texture to R8 texture flag.
Definition: gl2d_caps_interface.h:340
IGL2DCaps::GetDepth24Support
virtual bool SDK_CALLTYPE GetDepth24Support() const =0
Returns depth24 buffer support (separate depth24 RBO buffer) Note that Depth16 is always supported on...
IGL2DCaps::GetDepthTextureSupport
virtual bool SDK_CALLTYPE GetDepthTextureSupport() const =0
Returns depth texture support.
IGL2DCaps::IsCanvasOperationSupported
virtual bool SDK_CALLTYPE IsCanvasOperationSupported(const GL2DCanvasOperationType &type) const =0
Checks, if given operation is supported by Canvas.
IGL2DCaps::GetMaxNumberOfClippingMeshes
virtual SDKUInt32 SDK_CALLTYPE GetMaxNumberOfClippingMeshes() const =0
Returns max number of clipping meshes.
base_types.h
SDK base types.
IGL2DCaps::GetTextureSizeIsPowerOfTwo
virtual bool SDK_CALLTYPE GetTextureSizeIsPowerOfTwo() const =0
Returns texture size is power of two flag.
IGL2DCaps::CanCreateA8Textures
bool SDK_CALLTYPE CanCreateA8Textures() const
GL platform allows to create A8 (GL_ALPHA) textures flag.
Definition: gl2d_caps_interface.h:311
IGL2DCaps::GetMaxSimpleLineWidth
virtual float SDK_CALLTYPE GetMaxSimpleLineWidth() const =0
Returns maximal simple line width.
IGL2DCaps::GetMinSimpleLineWidth
virtual float SDK_CALLTYPE GetMinSimpleLineWidth() const =0
Returns minimal simple line width.
IGL2DCaps::CanCopyGrayscaleTextureToGrayscaleTexture
bool SDK_CALLTYPE CanCopyGrayscaleTextureToGrayscaleTexture() const
GL platform allows to copy Grayscale (R8/A8) texture to GrayScale texture flag.
Definition: gl2d_caps_interface.h:346
IGL2DCaps::GetBGRASupport
virtual bool SDK_CALLTYPE GetBGRASupport() const =0
Returns BGRA (GL_BGRA) FBO/texture support flag.
GL2DGpuVendor
GL2DGpuVendor
Available GPU vendors.
Definition: gl2d_caps_interface.h:42
IGL2DCaps::GetGlSlVersion
virtual SDKResult SDK_CALLTYPE GetGlSlVersion(SDKString &glsl_version) const =0
Returns GLSL version.
IGL2DCaps::CanCreateR8Textures
bool SDK_CALLTYPE CanCreateR8Textures() const
GL platform allows to create R8 (GL_RED) textures flag.
Definition: gl2d_caps_interface.h:305
IGL2DCaps::IsGlExtensionSupported
virtual bool SDK_CALLTYPE IsGlExtensionSupported(const SDKString &extension_name) const =0
Checks if given GL extension supported.
properties_interface.h
Object generic properties interface.
IGL2DCaps::CanBindR8TextureToFBO
bool SDK_CALLTYPE CanBindR8TextureToFBO() const
GL platform allows to bind R8 (GL_RED) texture to FBO flag (Allows to render to R8 texture)
Definition: gl2d_caps_interface.h:322
IGL2DCaps::GetMaxVertexShaderTexturesCount
virtual SDKUInt32 SDK_CALLTYPE GetMaxVertexShaderTexturesCount() const =0
Returns max allowed vertex shader textures count Can be 0 for OpenGL ES2, at least 16 for OpenGL.
IGL2DCaps::GetCurrentFBOAlphaBits
virtual SDKUInt32 SDK_CALLTYPE GetCurrentFBOAlphaBits() const =0
Currently attached FBO alpha bits.
IGL2DCaps::GetPackedDepthStencilSupport
virtual bool SDK_CALLTYPE GetPackedDepthStencilSupport() const =0
Returns packed depth24/stencil8 buffer support.
IGL2DCaps::GetMaxTextureSize
virtual SDKUInt32 SDK_CALLTYPE GetMaxTextureSize() const =0
Returns max texture size (width/height) At least 64x64 for OpenGL ES2, at least 1024x1024 for OpenGL.
IGL2DCaps::GetParent
virtual IGL2DCanvasSP SDK_CALLTYPE GetParent() const =0
Returns parent canvas object.
IGL2DCaps::CanCreateGrayscaleTextures
bool SDK_CALLTYPE CanCreateGrayscaleTextures() const
GL platform allows to create Grayscale (R8/A8) textures flag.
Definition: gl2d_caps_interface.h:317
IGL2DCaps::GetCurrentFBOStencilBits
virtual SDKUInt32 SDK_CALLTYPE GetCurrentFBOStencilBits() const =0
Currently attached FBO stencil bits.
SDKResult
SDKInt32 SDKResult
Type of all error or return codes which SDK functions can end with.
Definition: sdk_results.h:17
IGL2DCaps::GetGLSLFloatPrecisionInVertexShader
virtual SDKUInt32 SDK_CALLTYPE GetGLSLFloatPrecisionInVertexShader() const =0
Returns GLSL float precision for vertex/fragment shader For 1.0 + eps != 1.0 minimum epsilon equals t...
IGL2DCaps::GetGpuType
virtual GL2DGpuType SDK_CALLTYPE GetGpuType() const =0
Returns GPU type.
IGL2DCaps::GetGlVersion
virtual SDKResult SDK_CALLTYPE GetGlVersion(SDKString &gl_version) const =0
Returns OpenGL (ES) version.
IGL2DCaps::GetMaxVertexShaderAttributesCount
virtual SDKUInt32 SDK_CALLTYPE GetMaxVertexShaderAttributesCount() const =0
Returns max allowed vertex shader attributes count At least 8 for OpenGL ES2, at least 16 for OpenGL.
IGL2DCaps::Dump
virtual void SDK_CALLTYPE Dump() const =0
Dumps given object.
IGL2DCaps::GetGlSlNumericVersion
virtual SDKResult SDK_CALLTYPE GetGlSlNumericVersion(SDKUInt32 &major, SDKUInt32 &minor) const =0
Returns GLSL numeric version.
IGL2DCaps::GetVendorName
virtual SDKResult SDK_CALLTYPE GetVendorName(SDKString &vendor_name) const =0
Returns vendor name.
IGL2DCaps::GetStencil8Support
virtual bool SDK_CALLTYPE GetStencil8Support() const =0
Returns stencil8 buffer support (as separate stencil8 RBO buffer)
IGL2DCaps
GL2D Caps object, provides information about OpenGL capabilities THIS OBJECT DOES NOT KEEPS STRONG RE...
Definition: gl2d_caps_interface.h:254
IGL2DCaps::GetMaxIndexValue
virtual SDKUInt32 SDK_CALLTYPE GetMaxIndexValue() const =0
Returns max index value for one GL2D object.
platform.h
Describes the platform constants.
IGL2DCaps::GetRendererName
virtual SDKResult SDK_CALLTYPE GetRendererName(SDKString &renderer_name) const =0
Returns renderer name.
IGL2DCaps::CanCopyA8TextureToA8Texture
bool SDK_CALLTYPE CanCopyA8TextureToA8Texture() const
GL platform allows to copy A8 (GL_ALPHA) texture to R8 texture flag.
Definition: gl2d_caps_interface.h:343
IGL2DCanvas
GL2D Canvas to use to drawing NOTE! Create/Draw functionality was moved to appropriate GL2D Canvas Fu...
Definition: gl2d_canvas_interface.h:435
GL2DGpuType
GL2DGpuType
Available GPU types.
Definition: gl2d_caps_interface.h:33
IGL2DCaps::IsGpuHasLowAccuracyForLongLineSegments
virtual bool SDK_CALLTYPE IsGpuHasLowAccuracyForLongLineSegments() const =0
Returns true in case given videoadapter have low accuracy for long line segments.
IGL2DCaps::GetGlNumericVersion
virtual SDKResult SDK_CALLTYPE GetGlNumericVersion(SDKUInt32 &major, SDKUInt32 &minor) const =0
Returns OpenGL (ES) numeric version.
IGL2DCaps::CanBindA8TextureToFBO
bool SDK_CALLTYPE CanBindA8TextureToFBO() const
GL platform allows to bind A8 (GL_ALPHA) texture to FBO flag (Allows to render to A8 texture)
Definition: gl2d_caps_interface.h:329
GL2DCanvasOperationType
GL2DCanvasOperationType
Available canvas operations.
Definition: gl2d_caps_interface.h:58
IGL2DCaps::GetMaxShaderVaryingVectorsCount
virtual SDKUInt32 SDK_CALLTYPE GetMaxShaderVaryingVectorsCount() const =0
Returns max allowed shader varying vectors count At least 8 for OpenGL ES2, at least 15 for OpenGL.
IGL2DCaps::GetMaxVerticesCount
virtual SDKUInt64 SDK_CALLTYPE GetMaxVerticesCount() const =0
Returns max number of vertices for one GL2D object.
IGL2DCaps::CanBindGrayscaleTextureToFBO
bool SDK_CALLTYPE CanBindGrayscaleTextureToFBO() const
GL platform allows to bind Grayscale (R8/A8) texture to FBO flag (Allows to render to Grayscale textu...
Definition: gl2d_caps_interface.h:336
FWD_DECL_INTERFACE
FWD_DECL_INTERFACE(ILWEParserWrapper)
Provides a wrapper around the message parser to get, add or remove the.
GL2DCapsPropertyIDs
GL2DCapsPropertyIDs
Generic GL2D Caps properties.
Definition: gl2d_caps_interface.h:27
IGL2DCaps::GetMaxVertexShaderUniformsCount
virtual SDKUInt32 SDK_CALLTYPE GetMaxVertexShaderUniformsCount() const =0
Returns max allowed vertex shader uniforms count At least 128 for OpenGL ES2, at least 256 for OpenGL...
IGL2DCaps::GetMaxRenderBufferSize
virtual SDKUInt32 SDK_CALLTYPE GetMaxRenderBufferSize() const =0
Returns max render-buffer size (width/height) At least 1x1 for OpenGL ES2.
IGL2DCaps::GetMaxFragmentShaderUniformsCount
virtual SDKUInt32 SDK_CALLTYPE GetMaxFragmentShaderUniformsCount() const =0
Returns max allowed fragment shader uniforms count At least 16 for OpenGL ES2, at least 256 for OpenG...