Split WGL out to extgl_wgl.cpp/h
This commit is contained in:
parent
23520687ea
commit
48f01cf614
|
@ -85,67 +85,6 @@ aglResetLibraryPROC aglResetLibrary = NULL;
|
|||
aglSurfaceTexturePROC aglSurfaceTexture = NULL;
|
||||
#endif
|
||||
|
||||
/*-------------------------------------*/
|
||||
/* WGL stuff */
|
||||
/*-------------------------------------*/
|
||||
|
||||
#ifdef _WIN32
|
||||
|
||||
/* WGL_EXT_etxension_string */
|
||||
|
||||
wglGetExtensionsStringEXTPROC wglGetExtensionsStringEXT = NULL;
|
||||
|
||||
/* WGL_ARB_buffer_region */
|
||||
|
||||
/*wglCreateBufferRegionARBPROC wglCreateBufferRegionARB = NULL;
|
||||
wglDeleteBufferRegionARBPROC wglDeleteBufferRegionARB = NULL;
|
||||
wglSaveBufferRegionARBPROC wglSaveBufferRegionARB = NULL;
|
||||
wglRestoreBufferRegionARBPROC wglRestoreBufferRegionARB = NULL;
|
||||
*/
|
||||
/* WGL_ARB_extension_string */
|
||||
|
||||
|
||||
wglGetExtensionsStringARBPROC wglGetExtensionsStringARB = NULL;
|
||||
|
||||
/* WGL_ARB_pbuffer */
|
||||
|
||||
wglCreatePbufferARBPROC wglCreatePbufferARB = NULL;
|
||||
wglGetPbufferDCARBPROC wglGetPbufferDCARB = NULL;
|
||||
wglReleasePbufferDCARBPROC wglReleasePbufferDCARB = NULL;
|
||||
wglDestroyPbufferARBPROC wglDestroyPbufferARB = NULL;
|
||||
wglQueryPbufferARBPROC wglQueryPbufferARB = NULL;
|
||||
|
||||
/* WGL_ARB_pixel_format */
|
||||
|
||||
wglGetPixelFormatAttribivARBPROC wglGetPixelFormatAttribivARB = NULL;
|
||||
wglGetPixelFormatAttribfvARBPROC wglGetPixelFormatAttribfvARB = NULL;
|
||||
wglChoosePixelFormatARBPROC wglChoosePixelFormatARB = NULL;
|
||||
|
||||
/* WGL_ARB_render_texture */
|
||||
|
||||
wglBindTexImageARBPROC wglBindTexImageARB = NULL;
|
||||
wglReleaseTexImageARBPROC wglReleaseTexImageARB = NULL;
|
||||
wglSetPbufferAttribARBPROC wglSetPbufferAttribARB = NULL;
|
||||
|
||||
/* WGL_EXT_swap_control */
|
||||
|
||||
wglSwapIntervalEXTPROC wglSwapIntervalEXT = NULL;
|
||||
wglGetSwapIntervalEXTPROC wglGetSwapIntervalEXT = NULL;
|
||||
|
||||
/* WGL_ARB_make_current_read */
|
||||
|
||||
wglMakeContextCurrentARBPROC wglMakeContextCurrentARB = NULL;
|
||||
wglGetCurrentReadDCARBPROC wglGetCurrentReadDCARB = NULL;
|
||||
|
||||
/* VAR */
|
||||
|
||||
#endif /* WIN32 */
|
||||
|
||||
/*-------------------------------------*/
|
||||
/*---WGL STUFF END---------------------*/
|
||||
/*-------------------------------------*/
|
||||
|
||||
|
||||
static bool extgl_error = false;
|
||||
|
||||
struct ExtensionTypes extgl_Extensions;
|
||||
|
@ -336,130 +275,6 @@ bool extgl_QueryExtension(JNIEnv *env, jobject ext_set, const GLubyte*extensions
|
|||
|
||||
}
|
||||
|
||||
/*-----------------------------------------------------*/
|
||||
/* WGL stuff */
|
||||
/*-----------------------------------------------------*/
|
||||
|
||||
#ifdef _WIN32
|
||||
|
||||
/** returns true if the extention is available */
|
||||
static bool WGLQueryExtension(JNIEnv *env, const char *name)
|
||||
{
|
||||
const GLubyte *extensions;
|
||||
|
||||
if (wglGetExtensionsStringARB == NULL)
|
||||
if (wglGetExtensionsStringEXT == NULL)
|
||||
return false;
|
||||
else
|
||||
extensions = (GLubyte*)wglGetExtensionsStringEXT();
|
||||
else
|
||||
extensions = (GLubyte*)wglGetExtensionsStringARB(wglGetCurrentDC());
|
||||
return extgl_QueryExtension(env, NULL, extensions, name);
|
||||
}
|
||||
|
||||
/*static void extgl_InitWGLARBBufferRegion(JNIEnv *env)
|
||||
{
|
||||
if (!extgl_Extensions.WGL_ARB_buffer_region)
|
||||
return;
|
||||
wglCreateBufferRegionARB = (wglCreateBufferRegionARBPROC) extgl_GetProcAddress("wglCreateBufferRegionARB");
|
||||
wglDeleteBufferRegionARB = (wglDeleteBufferRegionARBPROC) extgl_GetProcAddress("wglDeleteBufferRegionARB");
|
||||
wglSaveBufferRegionARB = (wglSaveBufferRegionARBPROC) extgl_GetProcAddress("wglSaveBufferRegionARB");
|
||||
wglRestoreBufferRegionARB = (wglRestoreBufferRegionARBPROC) extgl_GetProcAddress("wglRestoreBufferRegionARB");
|
||||
|
||||
EXTGL_SANITY_CHECK(env, WGL_ARB_buffer_region);
|
||||
}
|
||||
*/
|
||||
static void extgl_InitWGLARBPbuffer(JNIEnv *env)
|
||||
{
|
||||
if (!extgl_Extensions.WGL_ARB_pbuffer)
|
||||
return;
|
||||
wglCreatePbufferARB = (wglCreatePbufferARBPROC) extgl_GetProcAddress("wglCreatePbufferARB");
|
||||
wglGetPbufferDCARB = (wglGetPbufferDCARBPROC) extgl_GetProcAddress("wglGetPbufferDCARB");
|
||||
wglReleasePbufferDCARB = (wglReleasePbufferDCARBPROC) extgl_GetProcAddress("wglReleasePbufferDCARB");
|
||||
wglDestroyPbufferARB = (wglDestroyPbufferARBPROC) extgl_GetProcAddress("wglDestroyPbufferARB");
|
||||
wglQueryPbufferARB = (wglQueryPbufferARBPROC) extgl_GetProcAddress("wglQueryPbufferARB");
|
||||
EXTGL_SANITY_CHECK(env, WGL_ARB_pbuffer);
|
||||
|
||||
}
|
||||
|
||||
static void extgl_InitWGLARBPixelFormat(JNIEnv *env)
|
||||
{
|
||||
if (!extgl_Extensions.WGL_ARB_pixel_format)
|
||||
return;
|
||||
wglGetPixelFormatAttribivARB = (wglGetPixelFormatAttribivARBPROC) extgl_GetProcAddress("wglGetPixelFormatAttribivARB");
|
||||
wglGetPixelFormatAttribfvARB = (wglGetPixelFormatAttribfvARBPROC) extgl_GetProcAddress("wglGetPixelFormatAttribfvARB");
|
||||
wglChoosePixelFormatARB = (wglChoosePixelFormatARBPROC) extgl_GetProcAddress("wglChoosePixelFormatARB");
|
||||
EXTGL_SANITY_CHECK(env, WGL_ARB_pixel_format);
|
||||
|
||||
}
|
||||
|
||||
static void extgl_InitWGLARBRenderTexture(JNIEnv *env)
|
||||
{
|
||||
if (!extgl_Extensions.WGL_ARB_render_texture)
|
||||
return;
|
||||
wglBindTexImageARB = (wglBindTexImageARBPROC) extgl_GetProcAddress("wglBindTexImageARB");
|
||||
wglReleaseTexImageARB = (wglReleaseTexImageARBPROC) extgl_GetProcAddress("wglReleaseTexImageARB");
|
||||
wglSetPbufferAttribARB = (wglSetPbufferAttribARBPROC) extgl_GetProcAddress("wglSetPbufferAttribARB");
|
||||
EXTGL_SANITY_CHECK(env, WGL_ARB_render_texture);
|
||||
|
||||
}
|
||||
|
||||
static void extgl_InitWGLEXTSwapControl(JNIEnv *env)
|
||||
{
|
||||
if (!extgl_Extensions.WGL_EXT_swap_control)
|
||||
return;
|
||||
wglSwapIntervalEXT = (wglSwapIntervalEXTPROC) extgl_GetProcAddress("wglSwapIntervalEXT");
|
||||
wglGetSwapIntervalEXT = (wglGetSwapIntervalEXTPROC) extgl_GetProcAddress("wglGetSwapIntervalEXT");
|
||||
EXTGL_SANITY_CHECK(env, WGL_EXT_swap_control);
|
||||
|
||||
}
|
||||
|
||||
static void extgl_InitWGLARBMakeCurrentRead(JNIEnv *env)
|
||||
{
|
||||
if (!extgl_Extensions.WGL_ARB_make_current_read)
|
||||
return;
|
||||
wglMakeContextCurrentARB = (wglMakeContextCurrentARBPROC) extgl_GetProcAddress("wglMakeContextCurrentARB");
|
||||
wglGetCurrentReadDCARB = (wglGetCurrentReadDCARBPROC) extgl_GetProcAddress("wglGetCurrentReadDCARB");
|
||||
EXTGL_SANITY_CHECK(env, WGL_ARB_make_current_read);
|
||||
|
||||
}
|
||||
|
||||
static void extgl_InitSupportedWGLExtensions(JNIEnv *env)
|
||||
{
|
||||
extgl_Extensions.WGL_ARB_buffer_region = WGLQueryExtension(env, "WGL_ARB_buffer_region");
|
||||
extgl_Extensions.WGL_ARB_make_current_read = WGLQueryExtension(env, "WGL_ARB_make_current_read");
|
||||
extgl_Extensions.WGL_ARB_multisample = WGLQueryExtension(env, "WGL_ARB_multisample");
|
||||
extgl_Extensions.WGL_ARB_pbuffer = WGLQueryExtension(env, "WGL_ARB_pbuffer");
|
||||
extgl_Extensions.WGL_ARB_pixel_format = WGLQueryExtension(env, "WGL_ARB_pixel_format");
|
||||
extgl_Extensions.WGL_ARB_render_texture = WGLQueryExtension(env, "WGL_ARB_render_texture");
|
||||
extgl_Extensions.WGL_EXT_swap_control = WGLQueryExtension(env, "WGL_EXT_swap_control");
|
||||
extgl_Extensions.WGL_NV_render_depth_texture = WGLQueryExtension(env, "WGL_NV_render_depth_texture");
|
||||
extgl_Extensions.WGL_NV_render_texture_rectangle = WGLQueryExtension(env, "WGL_NV_render_texture_rectangle");
|
||||
}
|
||||
|
||||
void extgl_InitWGL(JNIEnv *env)
|
||||
{
|
||||
wglGetExtensionsStringARB = (wglGetExtensionsStringARBPROC) extgl_GetProcAddress("wglGetExtensionsStringARB");
|
||||
wglGetExtensionsStringEXT = (wglGetExtensionsStringEXTPROC) extgl_GetProcAddress("wglGetExtensionsStringEXT");
|
||||
extgl_Extensions.WGL_ARB_extensions_string = wglGetExtensionsStringARB != NULL;
|
||||
extgl_Extensions.WGL_EXT_extensions_string = wglGetExtensionsStringEXT != NULL;
|
||||
extgl_error = false;
|
||||
|
||||
extgl_InitSupportedWGLExtensions(env);
|
||||
|
||||
extgl_InitWGLARBMakeCurrentRead(env);
|
||||
extgl_InitWGLEXTSwapControl(env);
|
||||
extgl_InitWGLARBRenderTexture(env);
|
||||
extgl_InitWGLARBPixelFormat(env);
|
||||
extgl_InitWGLARBPbuffer(env);
|
||||
//extgl_InitWGLARBBufferRegion(env);
|
||||
}
|
||||
|
||||
#endif /* WIN32 */
|
||||
|
||||
/*-----------------------------------------------------*/
|
||||
/* WGL stuff END*/
|
||||
/*-----------------------------------------------------*/
|
||||
|
||||
/*-----------------------------------------------------*/
|
||||
/* AGL stuff BEGIN*/
|
||||
|
|
|
@ -397,162 +397,6 @@ extern aglSurfaceTexturePROC aglSurfaceTexture;
|
|||
#define GL_VERSION 0x1F02
|
||||
#define GL_EXTENSIONS 0x1F03
|
||||
|
||||
/*-------------------------------------------------------------------*/
|
||||
/*------------WGL EXTENSIONS HERE------------------------------------*/
|
||||
/*-------------------------------------------------------------------*/
|
||||
|
||||
#ifdef _WIN32
|
||||
|
||||
/*-------------------------------------------------------------------*/
|
||||
/*------------WGL_EXT_EXTENSION_STRING-------------------------------*/
|
||||
/*-------------------------------------------------------------------*/
|
||||
|
||||
typedef const char* (APIENTRY * wglGetExtensionsStringEXTPROC) ();
|
||||
|
||||
extern wglGetExtensionsStringEXTPROC wglGetExtensionsStringEXT;
|
||||
|
||||
/*-------------------------------------------------------------------*/
|
||||
/*------------WGL_ARB_EXTENSION_STRING-------------------------------*/
|
||||
/*-------------------------------------------------------------------*/
|
||||
|
||||
typedef const char* (APIENTRY * wglGetExtensionsStringARBPROC) (HDC hdc);
|
||||
|
||||
extern wglGetExtensionsStringARBPROC wglGetExtensionsStringARB;
|
||||
|
||||
/*-------------------------------------------------------------------*/
|
||||
/*------------WGL_ARB_PBUFFER----------------------------------------*/
|
||||
/*-------------------------------------------------------------------*/
|
||||
|
||||
#define WGL_DRAW_TO_PBUFFER_ARB 0x202D
|
||||
#define WGL_DRAW_TO_PBUFFER_ARB 0x202D
|
||||
#define WGL_MAX_PBUFFER_PIXELS_ARB 0x202E
|
||||
#define WGL_MAX_PBUFFER_WIDTH_ARB 0x202F
|
||||
#define WGL_MAX_PBUFFER_HEIGHT_ARB 0x2030
|
||||
#define WGL_PBUFFER_LARGEST_ARB 0x2033
|
||||
#define WGL_PBUFFER_WIDTH_ARB 0x2034
|
||||
#define WGL_PBUFFER_HEIGHT_ARB 0x2035
|
||||
#define WGL_PBUFFER_LOST_ARB 0x2036
|
||||
|
||||
DECLARE_HANDLE(HPBUFFERARB);
|
||||
|
||||
typedef HPBUFFERARB (APIENTRY * wglCreatePbufferARBPROC) (HDC hDC, int iPixelFormat, int iWidth, int iHeight, const int *piAttribList);
|
||||
typedef HDC (APIENTRY * wglGetPbufferDCARBPROC) (HPBUFFERARB hPbuffer);
|
||||
typedef int (APIENTRY * wglReleasePbufferDCARBPROC) (HPBUFFERARB hPbuffer, HDC hDC);
|
||||
typedef BOOL (APIENTRY * wglDestroyPbufferARBPROC) (HPBUFFERARB hPbuffer);
|
||||
typedef BOOL (APIENTRY * wglQueryPbufferARBPROC) (HPBUFFERARB hPbuffer, int iAttribute, int *piValue);
|
||||
|
||||
extern wglCreatePbufferARBPROC wglCreatePbufferARB;
|
||||
extern wglGetPbufferDCARBPROC wglGetPbufferDCARB;
|
||||
extern wglReleasePbufferDCARBPROC wglReleasePbufferDCARB;
|
||||
extern wglDestroyPbufferARBPROC wglDestroyPbufferARB;
|
||||
extern wglQueryPbufferARBPROC wglQueryPbufferARB;
|
||||
|
||||
/*-------------------------------------------------------------------*/
|
||||
/*------------WGL_ARB_PIXEL_FORMAT-----------------------------------*/
|
||||
/*-------------------------------------------------------------------*/
|
||||
|
||||
#define WGL_NUMBER_PIXEL_FORMATS_ARB 0x2000
|
||||
#define WGL_DRAW_TO_WINDOW_ARB 0x2001
|
||||
#define WGL_DRAW_TO_BITMAP_ARB 0x2002
|
||||
#define WGL_ACCELERATION_ARB 0x2003
|
||||
#define WGL_NEED_PALETTE_ARB 0x2004
|
||||
#define WGL_NEED_SYSTEM_PALETTE_ARB 0x2005
|
||||
#define WGL_SWAP_LAYER_BUFFERS_ARB 0x2006
|
||||
#define WGL_SWAP_METHOD_ARB 0x2007
|
||||
#define WGL_NUMBER_OVERLAYS_ARB 0x2008
|
||||
#define WGL_NUMBER_UNDERLAYS_ARB 0x2009
|
||||
#define WGL_TRANSPARENT_ARB 0x200A
|
||||
#define WGL_TRANSPARENT_RED_VALUE_ARB 0x2037
|
||||
#define WGL_TRANSPARENT_GREEN_VALUE_ARB 0x2038
|
||||
#define WGL_TRANSPARENT_BLUE_VALUE_ARB 0x2039
|
||||
#define WGL_TRANSPARENT_ALPHA_VALUE_ARB 0x203A
|
||||
#define WGL_TRANSPARENT_INDEX_VALUE_ARB 0x203B
|
||||
#define WGL_SHARE_DEPTH_ARB 0x200C
|
||||
#define WGL_SHARE_STENCIL_ARB 0x200D
|
||||
#define WGL_SHARE_ACCUM_ARB 0x200E
|
||||
#define WGL_SUPPORT_GDI_ARB 0x200F
|
||||
#define WGL_SUPPORT_OPENGL_ARB 0x2010
|
||||
#define WGL_DOUBLE_BUFFER_ARB 0x2011
|
||||
#define WGL_STEREO_ARB 0x2012
|
||||
#define WGL_PIXEL_TYPE_ARB 0x2013
|
||||
#define WGL_COLOR_BITS_ARB 0x2014
|
||||
#define WGL_RED_BITS_ARB 0x2015
|
||||
#define WGL_RED_SHIFT_ARB 0x2016
|
||||
#define WGL_GREEN_BITS_ARB 0x2017
|
||||
#define WGL_GREEN_SHIFT_ARB 0x2018
|
||||
#define WGL_BLUE_BITS_ARB 0x2019
|
||||
#define WGL_BLUE_SHIFT_ARB 0x201A
|
||||
#define WGL_ALPHA_BITS_ARB 0x201B
|
||||
#define WGL_ALPHA_SHIFT_ARB 0x201C
|
||||
#define WGL_ACCUM_BITS_ARB 0x201D
|
||||
#define WGL_ACCUM_RED_BITS_ARB 0x201E
|
||||
#define WGL_ACCUM_GREEN_BITS_ARB 0x201F
|
||||
#define WGL_ACCUM_BLUE_BITS_ARB 0x2020
|
||||
#define WGL_ACCUM_ALPHA_BITS_ARB 0x2021
|
||||
#define WGL_DEPTH_BITS_ARB 0x2022
|
||||
#define WGL_STENCIL_BITS_ARB 0x2023
|
||||
#define WGL_AUX_BUFFERS_ARB 0x2024
|
||||
#define WGL_NO_ACCELERATION_ARB 0x2025
|
||||
#define WGL_GENERIC_ACCELERATION_ARB 0x2026
|
||||
#define WGL_FULL_ACCELERATION_ARB 0x2027
|
||||
#define WGL_SWAP_EXCHANGE_ARB 0x2028
|
||||
#define WGL_SWAP_COPY_ARB 0x2029
|
||||
#define WGL_SWAP_UNDEFINED_ARB 0x202A
|
||||
#define WGL_TYPE_RGBA_ARB 0x202B
|
||||
#define WGL_TYPE_COLORINDEX_ARB 0x202C
|
||||
|
||||
typedef BOOL (APIENTRY * wglGetPixelFormatAttribivARBPROC) (HDC hdc, int iPixelFormat, int iLayerPlane, UINT nAttributes, const int *piAttributes, int *piValues);
|
||||
typedef BOOL (APIENTRY * wglGetPixelFormatAttribfvARBPROC) (HDC hdc, int iPixelFormat, int iLayerPlane, UINT nAttributes, const int *piAttributes, FLOAT *pfValues);
|
||||
typedef BOOL (APIENTRY * wglChoosePixelFormatARBPROC) (HDC hdc, const int *piAttribIList, const FLOAT *pfAttribFList, UINT nMaxFormats, int *piFormats, UINT *nNumFormats);
|
||||
|
||||
extern wglGetPixelFormatAttribivARBPROC wglGetPixelFormatAttribivARB;
|
||||
extern wglGetPixelFormatAttribfvARBPROC wglGetPixelFormatAttribfvARB;
|
||||
extern wglChoosePixelFormatARBPROC wglChoosePixelFormatARB;
|
||||
|
||||
typedef BOOL (APIENTRY * wglBindTexImageARBPROC) (HPBUFFERARB hPbuffer, int iBuffer);
|
||||
typedef BOOL (APIENTRY * wglReleaseTexImageARBPROC) (HPBUFFERARB hPbuffer, int iBuffer);
|
||||
typedef BOOL (APIENTRY * wglSetPbufferAttribARBPROC) (HPBUFFERARB hPbuffer, const int *piAttribList);
|
||||
|
||||
extern wglBindTexImageARBPROC wglBindTexImageARB;
|
||||
extern wglReleaseTexImageARBPROC wglReleaseTexImageARB;
|
||||
extern wglSetPbufferAttribARBPROC wglSetPbufferAttribARB;
|
||||
|
||||
/*-------------------------------------------------------------------*/
|
||||
/*------------WGL_EXT_SWAP_CONTROL-----------------------------------*/
|
||||
/*-------------------------------------------------------------------*/
|
||||
|
||||
typedef BOOL (APIENTRY * wglSwapIntervalEXTPROC) (int interval);
|
||||
typedef int (APIENTRY * wglGetSwapIntervalEXTPROC) (void);
|
||||
|
||||
extern wglSwapIntervalEXTPROC wglSwapIntervalEXT;
|
||||
extern wglGetSwapIntervalEXTPROC wglGetSwapIntervalEXT;
|
||||
|
||||
/*-------------------------------------------------------------------*/
|
||||
/*------------WGL_ARB_MAKE_CURRENT_READ------------------------------*/
|
||||
/*-------------------------------------------------------------------*/
|
||||
|
||||
#define ERROR_INVALID_PIXEL_TYPE_ARB 0x2043
|
||||
#define ERROR_INCOMPATIBLE_DEVICE_CONTEXTS_ARB 0x2054
|
||||
|
||||
typedef BOOL (APIENTRY * wglMakeContextCurrentARBPROC) (HDC hDrawDC, HDC hReadDC, HGLRC hglrc);
|
||||
typedef HDC (APIENTRY * wglGetCurrentReadDCARBPROC) (void);
|
||||
|
||||
extern wglMakeContextCurrentARBPROC wglMakeContextCurrentARB;
|
||||
extern wglGetCurrentReadDCARBPROC wglGetCurrentReadDCARB;
|
||||
|
||||
/*-------------------------------------------------------------------*/
|
||||
/*------------WGL_ARB_MULTISAMPLE------------------------------------*/
|
||||
/*-------------------------------------------------------------------*/
|
||||
|
||||
#define WGL_SAMPLE_BUFFERS_ARB 0x2041
|
||||
#define WGL_SAMPLES_ARB 0x2042
|
||||
|
||||
/*-------------------------------------------------------------------*/
|
||||
/*------------END WGL EXTENSIONS-------------------------------------*/
|
||||
/*-------------------------------------------------------------------*/
|
||||
|
||||
#endif /* WIN32 */
|
||||
|
||||
/* helper stuff */
|
||||
|
||||
struct ExtensionTypes
|
||||
|
@ -705,9 +549,6 @@ extern glGetStringPROC glGetString;
|
|||
/* initializes everything, call this right after the rc is created. the function returns 0 if successful */
|
||||
extern bool extgl_Initialize(JNIEnv *env, jobject gl_extensions);
|
||||
extern bool extgl_Open(void);
|
||||
#ifdef _WIN32
|
||||
extern void extgl_InitWGL(JNIEnv *env);
|
||||
#endif
|
||||
#ifdef _AGL
|
||||
extern bool extgl_InitAGL(JNIEnv *env);
|
||||
#endif
|
||||
|
|
|
@ -0,0 +1,175 @@
|
|||
/* ----------------------------------------------------------------------------
|
||||
Copyright (c) 2001-2002, Lev Povalahev
|
||||
All rights reserved.
|
||||
|
||||
Redistribution and use in source and binary forms, with or without modification,
|
||||
are permitted provided that the following conditions are met:
|
||||
|
||||
* Redistributions of source code must retain the above copyright notice,
|
||||
this list of conditions and the following disclaimer.
|
||||
* Redistributions in binary form must reproduce the above copyright notice,
|
||||
this list of conditions and the following disclaimer in the documentation
|
||||
and/or other materials provided with the distribution.
|
||||
* The name of the author may be used to endorse or promote products
|
||||
derived from this software without specific prior written permission.
|
||||
|
||||
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
|
||||
ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
|
||||
WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
|
||||
IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT,
|
||||
INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
|
||||
BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA,
|
||||
OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
|
||||
WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
|
||||
ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
|
||||
THE POSSIBILITY OF SUCH DAMAGE.
|
||||
------------------------------------------------------------------------------*/
|
||||
/*
|
||||
Lev Povalahev
|
||||
|
||||
levp@gmx.net
|
||||
|
||||
http://www.uni-karlsruhe.de/~uli2/
|
||||
|
||||
*/
|
||||
|
||||
#include <stdio.h>
|
||||
#include <string.h>
|
||||
#include "extgl.h"
|
||||
#include "extgl_wgl.h"
|
||||
#include "common_tools.h"
|
||||
|
||||
/* WGL_EXT_etxension_string */
|
||||
|
||||
wglGetExtensionsStringEXTPROC wglGetExtensionsStringEXT = NULL;
|
||||
|
||||
/* WGL_ARB_extension_string */
|
||||
|
||||
wglGetExtensionsStringARBPROC wglGetExtensionsStringARB = NULL;
|
||||
|
||||
/* WGL_ARB_pbuffer */
|
||||
|
||||
wglCreatePbufferARBPROC wglCreatePbufferARB = NULL;
|
||||
wglGetPbufferDCARBPROC wglGetPbufferDCARB = NULL;
|
||||
wglReleasePbufferDCARBPROC wglReleasePbufferDCARB = NULL;
|
||||
wglDestroyPbufferARBPROC wglDestroyPbufferARB = NULL;
|
||||
wglQueryPbufferARBPROC wglQueryPbufferARB = NULL;
|
||||
|
||||
/* WGL_ARB_pixel_format */
|
||||
|
||||
wglGetPixelFormatAttribivARBPROC wglGetPixelFormatAttribivARB = NULL;
|
||||
wglGetPixelFormatAttribfvARBPROC wglGetPixelFormatAttribfvARB = NULL;
|
||||
wglChoosePixelFormatARBPROC wglChoosePixelFormatARB = NULL;
|
||||
|
||||
/* WGL_ARB_render_texture */
|
||||
|
||||
wglBindTexImageARBPROC wglBindTexImageARB = NULL;
|
||||
wglReleaseTexImageARBPROC wglReleaseTexImageARB = NULL;
|
||||
wglSetPbufferAttribARBPROC wglSetPbufferAttribARB = NULL;
|
||||
|
||||
/* WGL_EXT_swap_control */
|
||||
|
||||
wglSwapIntervalEXTPROC wglSwapIntervalEXT = NULL;
|
||||
wglGetSwapIntervalEXTPROC wglGetSwapIntervalEXT = NULL;
|
||||
|
||||
/* WGL_ARB_make_current_read */
|
||||
|
||||
wglMakeContextCurrentARBPROC wglMakeContextCurrentARB = NULL;
|
||||
wglGetCurrentReadDCARBPROC wglGetCurrentReadDCARB = NULL;
|
||||
|
||||
/** returns true if the extention is available */
|
||||
static bool WGLQueryExtension(JNIEnv *env, const char *name)
|
||||
{
|
||||
const GLubyte *extensions;
|
||||
|
||||
if (wglGetExtensionsStringARB == NULL)
|
||||
if (wglGetExtensionsStringEXT == NULL)
|
||||
return false;
|
||||
else
|
||||
extensions = (GLubyte*)wglGetExtensionsStringEXT();
|
||||
else
|
||||
extensions = (GLubyte*)wglGetExtensionsStringARB(wglGetCurrentDC());
|
||||
return extgl_QueryExtension(env, NULL, extensions, name);
|
||||
}
|
||||
|
||||
static void extgl_InitWGLARBPbuffer(JNIEnv *env)
|
||||
{
|
||||
ExtFunction functions[] = {
|
||||
{"wglCreatePbufferARB", (void **)&wglCreatePbufferARB},
|
||||
{"wglGetPbufferDCARB", (void **)&wglGetPbufferDCARB},
|
||||
{"wglReleasePbufferDCARB", (void **)&wglReleasePbufferDCARB},
|
||||
{"wglDestroyPbufferARB", (void **)&wglDestroyPbufferARB},
|
||||
{"wglQueryPbufferARB", (void **)&wglQueryPbufferARB}};
|
||||
if (extgl_Extensions.WGL_ARB_pbuffer)
|
||||
extgl_Extensions.WGL_ARB_pbuffer = extgl_InitializeFunctions(sizeof(functions)/sizeof(ExtFunction), functions);
|
||||
}
|
||||
|
||||
static void extgl_InitWGLARBPixelFormat(JNIEnv *env)
|
||||
{
|
||||
ExtFunction functions[] = {
|
||||
{"wglGetPixelFormatAttribivARB", (void **)&wglGetPixelFormatAttribivARB},
|
||||
{"wglGetPixelFormatAttribfvARB", (void **)&wglGetPixelFormatAttribfvARB},
|
||||
{"wglChoosePixelFormatARB", (void **)&wglChoosePixelFormatARB}};
|
||||
if (extgl_Extensions.WGL_ARB_pixel_format)
|
||||
extgl_Extensions.WGL_ARB_pixel_format = extgl_InitializeFunctions(sizeof(functions)/sizeof(ExtFunction), functions);
|
||||
}
|
||||
|
||||
static void extgl_InitWGLARBRenderTexture(JNIEnv *env)
|
||||
{
|
||||
ExtFunction functions[] = {
|
||||
{"wglBindTexImageARB", (void **)&wglBindTexImageARB},
|
||||
{"wglReleaseTexImageARB", (void **)&wglReleaseTexImageARB},
|
||||
{"wglSetPbufferAttribARB", (void **)&wglSetPbufferAttribARB}};
|
||||
if (extgl_Extensions.WGL_ARB_render_texture)
|
||||
extgl_Extensions.WGL_ARB_render_texture = extgl_InitializeFunctions(sizeof(functions)/sizeof(ExtFunction), functions);
|
||||
}
|
||||
|
||||
static void extgl_InitWGLEXTSwapControl(JNIEnv *env)
|
||||
{
|
||||
ExtFunction functions[] = {
|
||||
{"wglSwapIntervalEXT", (void **)&wglSwapIntervalEXT},
|
||||
{"wglGetSwapIntervalEXT", (void **)&wglGetSwapIntervalEXT}};
|
||||
if (extgl_Extensions.WGL_EXT_swap_control)
|
||||
extgl_Extensions.WGL_EXT_swap_control = extgl_InitializeFunctions(sizeof(functions)/sizeof(ExtFunction), functions);
|
||||
}
|
||||
|
||||
static void extgl_InitWGLARBMakeCurrentRead(JNIEnv *env)
|
||||
{
|
||||
ExtFunction functions[] = {
|
||||
{"wglMakeContextCurrentARB", (void **)&wglMakeContextCurrentARB},
|
||||
{"wglGetCurrentReadDCARB", (void **)&wglGetCurrentReadDCARB}};
|
||||
if (extgl_Extensions.WGL_ARB_make_current_read)
|
||||
extgl_Extensions.WGL_ARB_make_current_read = extgl_InitializeFunctions(sizeof(functions)/sizeof(ExtFunction), functions);
|
||||
}
|
||||
|
||||
static void extgl_InitSupportedWGLExtensions(JNIEnv *env)
|
||||
{
|
||||
extgl_Extensions.WGL_ARB_buffer_region = WGLQueryExtension(env, "WGL_ARB_buffer_region");
|
||||
extgl_Extensions.WGL_ARB_make_current_read = WGLQueryExtension(env, "WGL_ARB_make_current_read");
|
||||
extgl_Extensions.WGL_ARB_multisample = WGLQueryExtension(env, "WGL_ARB_multisample");
|
||||
extgl_Extensions.WGL_ARB_pbuffer = WGLQueryExtension(env, "WGL_ARB_pbuffer");
|
||||
extgl_Extensions.WGL_ARB_pixel_format = WGLQueryExtension(env, "WGL_ARB_pixel_format");
|
||||
extgl_Extensions.WGL_ARB_render_texture = WGLQueryExtension(env, "WGL_ARB_render_texture");
|
||||
extgl_Extensions.WGL_EXT_swap_control = WGLQueryExtension(env, "WGL_EXT_swap_control");
|
||||
extgl_Extensions.WGL_NV_render_depth_texture = WGLQueryExtension(env, "WGL_NV_render_depth_texture");
|
||||
extgl_Extensions.WGL_NV_render_texture_rectangle = WGLQueryExtension(env, "WGL_NV_render_texture_rectangle");
|
||||
}
|
||||
|
||||
void extgl_InitWGL(JNIEnv *env)
|
||||
{
|
||||
ExtFunction functions[] = {
|
||||
{"wglGetExtensionsStringARB", (void **)&wglGetExtensionsStringARB},
|
||||
{"wglGetExtensionsStringEXT", (void **)&wglGetExtensionsStringEXT}};
|
||||
extgl_InitializeFunctions(sizeof(functions)/sizeof(ExtFunction), functions);
|
||||
extgl_Extensions.WGL_ARB_extensions_string = wglGetExtensionsStringARB != NULL;
|
||||
extgl_Extensions.WGL_EXT_extensions_string = wglGetExtensionsStringEXT != NULL;
|
||||
|
||||
extgl_InitSupportedWGLExtensions(env);
|
||||
|
||||
extgl_InitWGLARBMakeCurrentRead(env);
|
||||
extgl_InitWGLEXTSwapControl(env);
|
||||
extgl_InitWGLARBRenderTexture(env);
|
||||
extgl_InitWGLARBPixelFormat(env);
|
||||
extgl_InitWGLARBPbuffer(env);
|
||||
//extgl_InitWGLARBBufferRegion(env);
|
||||
}
|
|
@ -0,0 +1,189 @@
|
|||
/* ----------------------------------------------------------------------------
|
||||
Copyright (c) 2001-2002, Lev Povalahev
|
||||
All rights reserved.
|
||||
|
||||
Redistribution and use in source and binary forms, with or without modification,
|
||||
are permitted provided that the following conditions are met:
|
||||
|
||||
* Redistributions of source code must retain the above copyright notice,
|
||||
this list of conditions and the following disclaimer.
|
||||
* Redistributions in binary form must reproduce the above copyright notice,
|
||||
this list of conditions and the following disclaimer in the documentation
|
||||
and/or other materials provided with the distribution.
|
||||
* The name of the author may be used to endorse or promote products
|
||||
derived from this software without specific prior written permission.
|
||||
|
||||
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
|
||||
ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
|
||||
WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
|
||||
IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT,
|
||||
INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
|
||||
BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA,
|
||||
OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
|
||||
WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
|
||||
ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
|
||||
THE POSSIBILITY OF SUCH DAMAGE.
|
||||
------------------------------------------------------------------------------*/
|
||||
/*
|
||||
Lev Povalahev
|
||||
|
||||
levp@gmx.net
|
||||
|
||||
http://www.uni-karlsruhe.de/~uli2/
|
||||
|
||||
*/
|
||||
|
||||
#ifndef _EXTGL_WGL_H
|
||||
#define _EXTGL_WGL_H
|
||||
|
||||
#include <windows.h>
|
||||
|
||||
|
||||
extern void extgl_InitWGL(JNIEnv *env);
|
||||
|
||||
/*-------------------------------------------------------------------*/
|
||||
/*------------WGL_EXT_EXTENSION_STRING-------------------------------*/
|
||||
/*-------------------------------------------------------------------*/
|
||||
|
||||
typedef const char* (APIENTRY * wglGetExtensionsStringEXTPROC) ();
|
||||
|
||||
extern wglGetExtensionsStringEXTPROC wglGetExtensionsStringEXT;
|
||||
|
||||
/*-------------------------------------------------------------------*/
|
||||
/*------------WGL_ARB_EXTENSION_STRING-------------------------------*/
|
||||
/*-------------------------------------------------------------------*/
|
||||
|
||||
typedef const char* (APIENTRY * wglGetExtensionsStringARBPROC) (HDC hdc);
|
||||
|
||||
extern wglGetExtensionsStringARBPROC wglGetExtensionsStringARB;
|
||||
|
||||
/*-------------------------------------------------------------------*/
|
||||
/*------------WGL_ARB_PBUFFER----------------------------------------*/
|
||||
/*-------------------------------------------------------------------*/
|
||||
|
||||
#define WGL_DRAW_TO_PBUFFER_ARB 0x202D
|
||||
#define WGL_DRAW_TO_PBUFFER_ARB 0x202D
|
||||
#define WGL_MAX_PBUFFER_PIXELS_ARB 0x202E
|
||||
#define WGL_MAX_PBUFFER_WIDTH_ARB 0x202F
|
||||
#define WGL_MAX_PBUFFER_HEIGHT_ARB 0x2030
|
||||
#define WGL_PBUFFER_LARGEST_ARB 0x2033
|
||||
#define WGL_PBUFFER_WIDTH_ARB 0x2034
|
||||
#define WGL_PBUFFER_HEIGHT_ARB 0x2035
|
||||
#define WGL_PBUFFER_LOST_ARB 0x2036
|
||||
|
||||
DECLARE_HANDLE(HPBUFFERARB);
|
||||
|
||||
typedef HPBUFFERARB (APIENTRY * wglCreatePbufferARBPROC) (HDC hDC, int iPixelFormat, int iWidth, int iHeight, const int *piAttribList);
|
||||
typedef HDC (APIENTRY * wglGetPbufferDCARBPROC) (HPBUFFERARB hPbuffer);
|
||||
typedef int (APIENTRY * wglReleasePbufferDCARBPROC) (HPBUFFERARB hPbuffer, HDC hDC);
|
||||
typedef BOOL (APIENTRY * wglDestroyPbufferARBPROC) (HPBUFFERARB hPbuffer);
|
||||
typedef BOOL (APIENTRY * wglQueryPbufferARBPROC) (HPBUFFERARB hPbuffer, int iAttribute, int *piValue);
|
||||
|
||||
extern wglCreatePbufferARBPROC wglCreatePbufferARB;
|
||||
extern wglGetPbufferDCARBPROC wglGetPbufferDCARB;
|
||||
extern wglReleasePbufferDCARBPROC wglReleasePbufferDCARB;
|
||||
extern wglDestroyPbufferARBPROC wglDestroyPbufferARB;
|
||||
extern wglQueryPbufferARBPROC wglQueryPbufferARB;
|
||||
|
||||
/*-------------------------------------------------------------------*/
|
||||
/*------------WGL_ARB_PIXEL_FORMAT-----------------------------------*/
|
||||
/*-------------------------------------------------------------------*/
|
||||
|
||||
#define WGL_NUMBER_PIXEL_FORMATS_ARB 0x2000
|
||||
#define WGL_DRAW_TO_WINDOW_ARB 0x2001
|
||||
#define WGL_DRAW_TO_BITMAP_ARB 0x2002
|
||||
#define WGL_ACCELERATION_ARB 0x2003
|
||||
#define WGL_NEED_PALETTE_ARB 0x2004
|
||||
#define WGL_NEED_SYSTEM_PALETTE_ARB 0x2005
|
||||
#define WGL_SWAP_LAYER_BUFFERS_ARB 0x2006
|
||||
#define WGL_SWAP_METHOD_ARB 0x2007
|
||||
#define WGL_NUMBER_OVERLAYS_ARB 0x2008
|
||||
#define WGL_NUMBER_UNDERLAYS_ARB 0x2009
|
||||
#define WGL_TRANSPARENT_ARB 0x200A
|
||||
#define WGL_TRANSPARENT_RED_VALUE_ARB 0x2037
|
||||
#define WGL_TRANSPARENT_GREEN_VALUE_ARB 0x2038
|
||||
#define WGL_TRANSPARENT_BLUE_VALUE_ARB 0x2039
|
||||
#define WGL_TRANSPARENT_ALPHA_VALUE_ARB 0x203A
|
||||
#define WGL_TRANSPARENT_INDEX_VALUE_ARB 0x203B
|
||||
#define WGL_SHARE_DEPTH_ARB 0x200C
|
||||
#define WGL_SHARE_STENCIL_ARB 0x200D
|
||||
#define WGL_SHARE_ACCUM_ARB 0x200E
|
||||
#define WGL_SUPPORT_GDI_ARB 0x200F
|
||||
#define WGL_SUPPORT_OPENGL_ARB 0x2010
|
||||
#define WGL_DOUBLE_BUFFER_ARB 0x2011
|
||||
#define WGL_STEREO_ARB 0x2012
|
||||
#define WGL_PIXEL_TYPE_ARB 0x2013
|
||||
#define WGL_COLOR_BITS_ARB 0x2014
|
||||
#define WGL_RED_BITS_ARB 0x2015
|
||||
#define WGL_RED_SHIFT_ARB 0x2016
|
||||
#define WGL_GREEN_BITS_ARB 0x2017
|
||||
#define WGL_GREEN_SHIFT_ARB 0x2018
|
||||
#define WGL_BLUE_BITS_ARB 0x2019
|
||||
#define WGL_BLUE_SHIFT_ARB 0x201A
|
||||
#define WGL_ALPHA_BITS_ARB 0x201B
|
||||
#define WGL_ALPHA_SHIFT_ARB 0x201C
|
||||
#define WGL_ACCUM_BITS_ARB 0x201D
|
||||
#define WGL_ACCUM_RED_BITS_ARB 0x201E
|
||||
#define WGL_ACCUM_GREEN_BITS_ARB 0x201F
|
||||
#define WGL_ACCUM_BLUE_BITS_ARB 0x2020
|
||||
#define WGL_ACCUM_ALPHA_BITS_ARB 0x2021
|
||||
#define WGL_DEPTH_BITS_ARB 0x2022
|
||||
#define WGL_STENCIL_BITS_ARB 0x2023
|
||||
#define WGL_AUX_BUFFERS_ARB 0x2024
|
||||
#define WGL_NO_ACCELERATION_ARB 0x2025
|
||||
#define WGL_GENERIC_ACCELERATION_ARB 0x2026
|
||||
#define WGL_FULL_ACCELERATION_ARB 0x2027
|
||||
#define WGL_SWAP_EXCHANGE_ARB 0x2028
|
||||
#define WGL_SWAP_COPY_ARB 0x2029
|
||||
#define WGL_SWAP_UNDEFINED_ARB 0x202A
|
||||
#define WGL_TYPE_RGBA_ARB 0x202B
|
||||
#define WGL_TYPE_COLORINDEX_ARB 0x202C
|
||||
|
||||
typedef BOOL (APIENTRY * wglGetPixelFormatAttribivARBPROC) (HDC hdc, int iPixelFormat, int iLayerPlane, UINT nAttributes, const int *piAttributes, int *piValues);
|
||||
typedef BOOL (APIENTRY * wglGetPixelFormatAttribfvARBPROC) (HDC hdc, int iPixelFormat, int iLayerPlane, UINT nAttributes, const int *piAttributes, FLOAT *pfValues);
|
||||
typedef BOOL (APIENTRY * wglChoosePixelFormatARBPROC) (HDC hdc, const int *piAttribIList, const FLOAT *pfAttribFList, UINT nMaxFormats, int *piFormats, UINT *nNumFormats);
|
||||
|
||||
extern wglGetPixelFormatAttribivARBPROC wglGetPixelFormatAttribivARB;
|
||||
extern wglGetPixelFormatAttribfvARBPROC wglGetPixelFormatAttribfvARB;
|
||||
extern wglChoosePixelFormatARBPROC wglChoosePixelFormatARB;
|
||||
|
||||
typedef BOOL (APIENTRY * wglBindTexImageARBPROC) (HPBUFFERARB hPbuffer, int iBuffer);
|
||||
typedef BOOL (APIENTRY * wglReleaseTexImageARBPROC) (HPBUFFERARB hPbuffer, int iBuffer);
|
||||
typedef BOOL (APIENTRY * wglSetPbufferAttribARBPROC) (HPBUFFERARB hPbuffer, const int *piAttribList);
|
||||
|
||||
extern wglBindTexImageARBPROC wglBindTexImageARB;
|
||||
extern wglReleaseTexImageARBPROC wglReleaseTexImageARB;
|
||||
extern wglSetPbufferAttribARBPROC wglSetPbufferAttribARB;
|
||||
|
||||
/*-------------------------------------------------------------------*/
|
||||
/*------------WGL_EXT_SWAP_CONTROL-----------------------------------*/
|
||||
/*-------------------------------------------------------------------*/
|
||||
|
||||
typedef BOOL (APIENTRY * wglSwapIntervalEXTPROC) (int interval);
|
||||
typedef int (APIENTRY * wglGetSwapIntervalEXTPROC) (void);
|
||||
|
||||
extern wglSwapIntervalEXTPROC wglSwapIntervalEXT;
|
||||
extern wglGetSwapIntervalEXTPROC wglGetSwapIntervalEXT;
|
||||
|
||||
/*-------------------------------------------------------------------*/
|
||||
/*------------WGL_ARB_MAKE_CURRENT_READ------------------------------*/
|
||||
/*-------------------------------------------------------------------*/
|
||||
|
||||
#define ERROR_INVALID_PIXEL_TYPE_ARB 0x2043
|
||||
#define ERROR_INCOMPATIBLE_DEVICE_CONTEXTS_ARB 0x2054
|
||||
|
||||
typedef BOOL (APIENTRY * wglMakeContextCurrentARBPROC) (HDC hDrawDC, HDC hReadDC, HGLRC hglrc);
|
||||
typedef HDC (APIENTRY * wglGetCurrentReadDCARBPROC) (void);
|
||||
|
||||
extern wglMakeContextCurrentARBPROC wglMakeContextCurrentARB;
|
||||
extern wglGetCurrentReadDCARBPROC wglGetCurrentReadDCARB;
|
||||
|
||||
/*-------------------------------------------------------------------*/
|
||||
/*------------WGL_ARB_MULTISAMPLE------------------------------------*/
|
||||
/*-------------------------------------------------------------------*/
|
||||
|
||||
#define WGL_SAMPLE_BUFFERS_ARB 0x2041
|
||||
#define WGL_SAMPLES_ARB 0x2042
|
||||
|
||||
|
||||
#endif
|
|
@ -41,7 +41,9 @@
|
|||
|
||||
#define _PRIVATE_WINDOW_H_
|
||||
#include "Window.h"
|
||||
#include "extgl_wgl.h"
|
||||
#include "common_tools.h"
|
||||
#include "extgl_wgl.h"
|
||||
#include "display.h"
|
||||
#include "org_lwjgl_opengl_Display.h"
|
||||
|
||||
|
|
|
@ -44,6 +44,7 @@
|
|||
#include "Window.h"
|
||||
|
||||
#include "extgl.h"
|
||||
#include "extgl_wgl.h"
|
||||
|
||||
#include "common_tools.h"
|
||||
|
||||
|
|
Loading…
Reference in New Issue