12 {
13 auto gl = std::shared_ptr<ProcTable>(
new ProcTable());
14
15 gl->gen_textures_ =
16 reinterpret_cast<GenTexturesProc>(::eglGetProcAddress("glGenTextures"));
17 gl->delete_textures_ = reinterpret_cast<DeleteTexturesProc>(
18 ::eglGetProcAddress("glDeleteTextures"));
19 gl->bind_texture_ =
20 reinterpret_cast<BindTextureProc>(::eglGetProcAddress("glBindTexture"));
21 gl->tex_parameteri_ = reinterpret_cast<TexParameteriProc>(
22 ::eglGetProcAddress("glTexParameteri"));
23 gl->tex_image_2d_ =
24 reinterpret_cast<TexImage2DProc>(::eglGetProcAddress("glTexImage2D"));
25
26 if (!gl->gen_textures_ || !gl->delete_textures_ || !gl->bind_texture_ ||
27 !gl->tex_parameteri_ || !gl->tex_image_2d_) {
28 return nullptr;
29 }
30
31 return gl;
32}