C++程序  |  39行  |  1.05 KB

// Copyright (c) 2012 The Chromium Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.

// These functions emulate GLES2 over command buffers.

#ifndef GPU_COMMAND_BUFFER_CLIENT_GLES2_LIB_H_
#define GPU_COMMAND_BUFFER_CLIENT_GLES2_LIB_H_

#include "gpu/command_buffer/client/gles2_c_lib_export.h"
#include "gpu/command_buffer/client/gles2_interface.h"

namespace gles2 {

typedef void (*GLES2FunctionPointer)(void);

struct NameToFunc {
  const char* name;
  gles2::GLES2FunctionPointer func;
};

// Initialize the GLES2 library.
GLES2_C_LIB_EXPORT void Initialize();

// Terminate the GLES2 library.
GLES2_C_LIB_EXPORT void Terminate();

// Get the current GL context.
GLES2_C_LIB_EXPORT gpu::gles2::GLES2Interface* GetGLContext();

// Set the current GL context.
GLES2_C_LIB_EXPORT void SetGLContext(gpu::gles2::GLES2Interface* impl);

GLES2_C_LIB_EXPORT GLES2FunctionPointer GetGLFunctionPointer(const char* name);

}  // namespace gles2

#endif  // GPU_COMMAND_BUFFER_CLIENT_GLES2_LIB_H_