OpenCPN Partial API docs
Loading...
Searching...
No Matches
gl_chart_canvas.cpp File Reference

Implement gl_chart_canvas.h – OpenGL chart rendering canvas. More...

#include <wx/wxprec.h>
#include <wx/wx.h>
#include "dychart.h"
#include <algorithm>
#include <stdint.h>
#include <vector>
#include <wx/brush.h>
#include <wx/colour.h>
#include <wx/dcmemory.h>
#include <wx/dynarray.h>
#include <wx/event.h>
#include <wx/font.h>
#include <wx/gdicmn.h>
#include <wx/glcanvas.h>
#include <wx/image.h>
#include <wx/jsonval.h>
#include <wx/log.h>
#include <wx/pen.h>
#include <wx/progdlg.h>
#include <wx/stopwatch.h>
#include <wx/string.h>
#include <wx/tokenzr.h>
#include <wx/utils.h>
#include <wx/window.h>
#include "model/config_vars.h"
#include "model/gui_vars.h"
#include "model/own_ship.h"
#include "model/plugin_comm.h"
#include "model/route.h"
#include "model/routeman.h"
#include "model/track.h"
#include "ais.h"
#include "chartbase.h"
#include "chart_ctx_factory.h"
#include "chartdb.h"
#include "chartimg.h"
#include "chcanv.h"
#include "ch_info_win.h"
#include "cm93.h"
#include "color_handler.h"
#include "compass.h"
#include "emboss_data.h"
#include "font_mgr.h"
#include "gl_chart_canvas.h"
#include "gl_tex_cache.h"
#include "gshhs.h"
#include "ienc_toolbar.h"
#include "lz4.h"
#include "mbtiles.h"
#include "mipmap/mipmap.h"
#include "MUIBar.h"
#include "navutil.h"
#include "OCPNPlatform.h"
#include "piano.h"
#include "pluginmanager.h"
#include "Quilt.h"
#include "RolloverWin.h"
#include "route_gui.h"
#include "route_point_gui.h"
#include "s52plib.h"
#include "s57chart.h"
#include "s57_ocpn_utils.h"
#include "shapefile_basemap.h"
#include "tcmgr.h"
#include "toolbar.h"
#include "TexFont.h"
#include "thumbwin.h"
#include "track_gui.h"
#include "viewport.h"

Go to the source code of this file.

Macros

#define GL_ETC1_RGB8_OES   0x8D64
 
#define GL_DEPTH_STENCIL_ATTACHMENT   0x821A
 
#define APIENTRY
 
#define APIENTRYP   APIENTRY *
 
#define GLAPI   extern
 
#define GL_COMPRESSED_RGB_FXT1_3DFX   0x86B0
 
#define GL_MAX_RENDERBUFFER_SIZE   0x84E8
 
#define NORM_FACTOR   4096.0
 

Typedefs

typedef GLenum value
 
typedef GLenum GLint * data
 

Functions

bool GetMemoryStatus (int *mem_total, int *mem_used)
 
typedef void (APIENTRYP PFNGLGETBUFFERPARAMETERIV)(GLenum target
 
GLboolean QueryExtension (const char *extName)
 
void CalcGridSpacing (float WindowDegrees, float &MajorSpacing, float &MinorSpacing)
 
wxString CalcGridText (float latlon, float spacing, bool bPostfix)
 
void vertexCallbackD (GLvoid *vertex)
 
void beginCallbackD (GLenum mode)
 
void endCallbackD ()
 

Variables

bool g_running
 Android only.
 
GLuint g_raster_format = GL_RGB
 Global instance.
 
PFNGLGENFRAMEBUFFERSEXTPROC s_glGenFramebuffers
 
PFNGLGENRENDERBUFFERSEXTPROC s_glGenRenderbuffers
 
PFNGLFRAMEBUFFERTEXTURE2DEXTPROC s_glFramebufferTexture2D
 
PFNGLBINDFRAMEBUFFEREXTPROC s_glBindFramebuffer
 
PFNGLFRAMEBUFFERRENDERBUFFEREXTPROC s_glFramebufferRenderbuffer
 
PFNGLRENDERBUFFERSTORAGEEXTPROC s_glRenderbufferStorage
 
PFNGLBINDRENDERBUFFEREXTPROC s_glBindRenderbuffer
 
PFNGLCHECKFRAMEBUFFERSTATUSEXTPROC s_glCheckFramebufferStatus
 
PFNGLDELETEFRAMEBUFFERSEXTPROC s_glDeleteFramebuffers
 
PFNGLDELETERENDERBUFFERSEXTPROC s_glDeleteRenderbuffers
 
PFNGLCOMPRESSEDTEXIMAGE2DPROC s_glCompressedTexImage2D
 
PFNGLGETCOMPRESSEDTEXIMAGEPROC s_glGetCompressedTexImage
 
PFNGLGENBUFFERSPROC s_glGenBuffers
 
PFNGLBINDBUFFERPROC s_glBindBuffer
 
PFNGLBUFFERDATAPROC s_glBufferData
 
PFNGLDELETEBUFFERSPROC s_glDeleteBuffers
 
PFNGLGETBUFFERPARAMETERIV s_glGetBufferParameteriv
 
int test_attribs []
 
int attribs []
 
GLShaderProgrampStaticShader
 
unsigned long quiltHash
 
int refChartIndex
 
wxLongLong s_t0
 
int n_render
 

Detailed Description

Implement gl_chart_canvas.h – OpenGL chart rendering canvas.

Definition in file gl_chart_canvas.cpp.

Macro Definition Documentation

◆ APIENTRY

#define APIENTRY

Definition at line 191 of file gl_chart_canvas.cpp.

◆ APIENTRYP

#define APIENTRYP   APIENTRY *

Definition at line 194 of file gl_chart_canvas.cpp.

◆ GL_COMPRESSED_RGB_FXT1_3DFX

#define GL_COMPRESSED_RGB_FXT1_3DFX   0x86B0

Definition at line 201 of file gl_chart_canvas.cpp.

◆ GL_DEPTH_STENCIL_ATTACHMENT

#define GL_DEPTH_STENCIL_ATTACHMENT   0x821A

Definition at line 122 of file gl_chart_canvas.cpp.

◆ GL_ETC1_RGB8_OES

#define GL_ETC1_RGB8_OES   0x8D64

Definition at line 118 of file gl_chart_canvas.cpp.

◆ GL_MAX_RENDERBUFFER_SIZE

#define GL_MAX_RENDERBUFFER_SIZE   0x84E8

Definition at line 605 of file gl_chart_canvas.cpp.

◆ GLAPI

#define GLAPI   extern

Definition at line 197 of file gl_chart_canvas.cpp.

◆ NORM_FACTOR

#define NORM_FACTOR   4096.0

Definition at line 1412 of file gl_chart_canvas.cpp.

Typedef Documentation

◆ data

typedef GLenum GLint* data

Definition at line 233 of file gl_chart_canvas.cpp.

◆ value

typedef GLenum value

Definition at line 232 of file gl_chart_canvas.cpp.

Function Documentation

◆ beginCallbackD()

void beginCallbackD ( GLenum  mode)

Definition at line 2841 of file gl_chart_canvas.cpp.

◆ CalcGridSpacing()

void CalcGridSpacing ( float  WindowDegrees,
float &  MajorSpacing,
float &  MinorSpacing 
)
extern

Definition at line 6289 of file chcanv.cpp.

◆ CalcGridText()

wxString CalcGridText ( float  latlon,
float  spacing,
bool  bPostfix 
)
extern

Definition at line 6330 of file chcanv.cpp.

◆ endCallbackD()

void endCallbackD ( )

Definition at line 2843 of file gl_chart_canvas.cpp.

◆ GetMemoryStatus()

bool GetMemoryStatus ( int *  mem_total,
int *  mem_used 
)
extern

Definition at line 6306 of file ocpn_frame.cpp.

◆ QueryExtension()

GLboolean QueryExtension ( const char *  extName)

Definition at line 269 of file gl_chart_canvas.cpp.

◆ vertexCallbackD()

void vertexCallbackD ( GLvoid *  vertex)

Definition at line 2839 of file gl_chart_canvas.cpp.

Variable Documentation

◆ attribs

int attribs[]
Initial value:
= {WX_GL_RGBA, WX_GL_DOUBLEBUFFER, WX_GL_DEPTH_SIZE,
16, WX_GL_STENCIL_SIZE, 8,
0}

Definition at line 308 of file gl_chart_canvas.cpp.

◆ g_raster_format

GLuint g_raster_format = GL_RGB

Global instance.

Definition at line 204 of file gl_chart_canvas.cpp.

◆ n_render

int n_render

Definition at line 3802 of file gl_chart_canvas.cpp.

◆ pStaticShader

GLShaderProgram* pStaticShader

Definition at line 2771 of file gl_chart_canvas.cpp.

◆ quiltHash

unsigned long quiltHash

Definition at line 3798 of file gl_chart_canvas.cpp.

◆ refChartIndex

int refChartIndex

Definition at line 3799 of file gl_chart_canvas.cpp.

◆ s_glBindBuffer

PFNGLBINDBUFFERPROC s_glBindBuffer

Definition at line 223 of file gl_chart_canvas.cpp.

◆ s_glBindFramebuffer

PFNGLBINDFRAMEBUFFEREXTPROC s_glBindFramebuffer

Definition at line 210 of file gl_chart_canvas.cpp.

◆ s_glBindRenderbuffer

PFNGLBINDRENDERBUFFEREXTPROC s_glBindRenderbuffer

Definition at line 213 of file gl_chart_canvas.cpp.

◆ s_glBufferData

PFNGLBUFFERDATAPROC s_glBufferData

Definition at line 224 of file gl_chart_canvas.cpp.

◆ s_glCheckFramebufferStatus

PFNGLCHECKFRAMEBUFFERSTATUSEXTPROC s_glCheckFramebufferStatus

Definition at line 214 of file gl_chart_canvas.cpp.

◆ s_glCompressedTexImage2D

PFNGLCOMPRESSEDTEXIMAGE2DPROC s_glCompressedTexImage2D

Definition at line 218 of file gl_chart_canvas.cpp.

◆ s_glDeleteBuffers

PFNGLDELETEBUFFERSPROC s_glDeleteBuffers

Definition at line 225 of file gl_chart_canvas.cpp.

◆ s_glDeleteFramebuffers

PFNGLDELETEFRAMEBUFFERSEXTPROC s_glDeleteFramebuffers

Definition at line 215 of file gl_chart_canvas.cpp.

◆ s_glDeleteRenderbuffers

PFNGLDELETERENDERBUFFERSEXTPROC s_glDeleteRenderbuffers

Definition at line 216 of file gl_chart_canvas.cpp.

◆ s_glFramebufferRenderbuffer

PFNGLFRAMEBUFFERRENDERBUFFEREXTPROC s_glFramebufferRenderbuffer

Definition at line 211 of file gl_chart_canvas.cpp.

◆ s_glFramebufferTexture2D

PFNGLFRAMEBUFFERTEXTURE2DEXTPROC s_glFramebufferTexture2D

Definition at line 209 of file gl_chart_canvas.cpp.

◆ s_glGenBuffers

PFNGLGENBUFFERSPROC s_glGenBuffers

Definition at line 222 of file gl_chart_canvas.cpp.

◆ s_glGenFramebuffers

PFNGLGENFRAMEBUFFERSEXTPROC s_glGenFramebuffers

Definition at line 207 of file gl_chart_canvas.cpp.

◆ s_glGenRenderbuffers

PFNGLGENRENDERBUFFERSEXTPROC s_glGenRenderbuffers

Definition at line 208 of file gl_chart_canvas.cpp.

◆ s_glGetBufferParameteriv

PFNGLGETBUFFERPARAMETERIV s_glGetBufferParameteriv

Definition at line 234 of file gl_chart_canvas.cpp.

◆ s_glGetCompressedTexImage

PFNGLGETCOMPRESSEDTEXIMAGEPROC s_glGetCompressedTexImage

Definition at line 219 of file gl_chart_canvas.cpp.

◆ s_glRenderbufferStorage

PFNGLRENDERBUFFERSTORAGEEXTPROC s_glRenderbufferStorage

Definition at line 212 of file gl_chart_canvas.cpp.

◆ test_attribs

int test_attribs[]
Initial value:
= {WX_GL_RGBA, WX_GL_DOUBLEBUFFER, WX_GL_DEPTH_SIZE,
16, WX_GL_STENCIL_SIZE, 8,
0}

Definition at line 299 of file gl_chart_canvas.cpp.