MapLink Pro 11.1.1.0.
Envitia MapLink Pro: The Ultimate Mapping Application Toolkit
Loading...
Searching...
No Matches
MapLink OpenGL Drawing Surface API

Detailed Description

Drawing surface:

Classes

class  TSLOpenGLSingleThreadCache
 
class  TSLStaticMapDataLayer
 
class  TSLEGLContextCallbacks
 
class  TSLEGLSurface
 
class  TSLGLXSurface
 
class  TSLNativeEGLSurface
 
class  TSLOpenGLStateTracker
 
class  TSLOpenGLSurface
 
class  TSLOpenGLSurfaceCreationParameters
 
class  TSLWGLSurface
 

Enumerations

enum  TSLOpenGLAntialiasModeEnum { TSLOpenGLAntialiasModeDefault , TSLOpenGLAntialiasModeFXAAWeak , TSLOpenGLAntialiasModeFXAAStrong }
 
enum  TSLOpenGLStorageStrategyEnum { TSLOpenGLPerTileStrategy = 0 , TSLOpenGLPerEntitySetStrategy = 1 , TSLOpenGLPerEntityStrategy = 2 , TSLOpenGLPerProjectedTileStrategy = 3 }
 
enum  TSLOpenGLTransparencyHintEnum { TSLOpenGLTransparencyHintNever , TSLOpenGLTransparencyHintFlushOpaque , TSLOpenGLTransparencyHintAlways }
 

Enumeration Type Documentation

◆ TSLOpenGLAntialiasModeEnum

This enumeration defines the types of antialiasing that the TSLOpenGLSurface can use.

See the MapLink Developer's Guide for more information on the differences between the various antialiasing modes and how to optimise map rendering for the best appearance when using the post processing modes.

Enumerator
TSLOpenGLAntialiasModeDefault 

The drawing surface will not apply any additional antialiasing. If the OpenGL context used by the drawing surface was created with multisampling enabled then drawing will be antialiased, otherwise no antialiasing will be performed.

TSLOpenGLAntialiasModeFXAAWeak 

The drawing surface will apply weak antialiasing as a post process. This mode often leaves visible aliasing but does not cause visual artifacts on one pixel wide edges. This mode cannot be used in conjunction with multisample framebuffers, but can be used when multisampling is not supported by the hardware.

TSLOpenGLAntialiasModeFXAAStrong 

The drawing surface will apply strong antialiasing as a post process. This mode should substantially reduce visible aliasing but may result in visual artifacts on one pixel wide edges. This mode cannot be used in conjunction with multisample framebuffers, but can be used when multisampling is not supported by the hardware.

◆ TSLOpenGLStorageStrategyEnum

Enumeration that defines how vector data for a MapLink data layer will be stored on the GPU.

Note: Translation, rotation and scaling of entities performed through the methods on TSLEntity do not count as modifying the geometry of an entity for the purposes of this setting.

Enumerator
TSLOpenGLPerTileStrategy 

All entities will be packed together and stored as a single object. Changes to the geometry of any entity require the whole tile to be re-uploaded to the GPU. This option provides best performance for data layers whose contents change infrequently (e.g. TSLMapDataLayer, overlay TSLStandardDataLayers). This is the default for all types of data layer. This is the only setting that can be used for a TSLMapDataLayer.

TSLOpenGLPerEntitySetStrategy 

All non-TSLEntitySet entities within an entity set will be packed together and stored as a single object. Changes to the geometry of an entity require all entities at the same level within the same entity set to be re-uploaded to the GPU.

TSLOpenGLPerEntityStrategy 

Each entity is stored individually. Changes to the geometry of an entity require only that entity to be re-uploaded to the GPU. This option should only be used on data layers containing a small number of entities.

TSLOpenGLPerProjectedTileStrategy 

All entities a handled as per TSLOpenGLPerTileStrategy with the additional processing to a static data tile.

This option is only valid for layers which are marked as being realtime reprojected via TSLPropertyRealtimeReprojection.

The option is set automatically and can not be changed.

◆ TSLOpenGLTransparencyHintEnum

Enumeration that allows an application to hint to the OpenGL drawing surface how it should order drawing commands to provide correct visualisation of overlapping transparent objects.

Enumerator
TSLOpenGLTransparencyHintNever 

The drawing surface will attempt to draw opaque geometry before transparent geometry where doing so will not cause a significant performance impact. Opaque geometry may be drawn in any order. The rendering order of transparent geometry is not guaranteed.

TSLOpenGLTransparencyHintFlushOpaque 

Any pending opaque geometry not yet rendered will be drawn when a transparent item is encountered. Opaque geometry may be drawn in any order. Transparent items are drawn in order. The performance impact of this setting depends on the number of transparent items in the data layer.

TSLOpenGLTransparencyHintAlways 

No draw reordering occurs - all items are drawn in order from back to front. This setting has a substantial performance impact that increases with the number of items.