mirror of
https://port.numenaute.org/aleajactaest/khanat-opennel-code.git
synced 2024-12-25 10:20:54 +00:00
Merge with default
This commit is contained in:
commit
5de85eb194
3644 changed files with 15148 additions and 7412 deletions
|
@ -160,6 +160,7 @@ code/build/*
|
|||
code/build-2010/*
|
||||
build/*
|
||||
install/*
|
||||
build_vc*
|
||||
code/nel/tools/build_gamedata/configuration/buildsite.py
|
||||
|
||||
# Linux nel compile
|
||||
|
@ -243,3 +244,5 @@ ryzom_tools*
|
|||
|
||||
code/nel/tools/build_gamedata/processes/ai_wmap/ai_build_wmap.cfg
|
||||
code/nel/tools/build_gamedata/processes/sheets/sheets_packer.cfg
|
||||
code/nel/tools/build_gamedata/processes/rbank/build_rbank.cfg
|
||||
code/nel/tools/build_gamedata/processes/zone/debug_zone_dependencies.cfg
|
||||
|
|
|
@ -131,6 +131,13 @@ IF(FINAL_VERSION)
|
|||
ADD_DEFINITIONS(-DFINAL_VERSION=1)
|
||||
ENDIF(FINAL_VERSION)
|
||||
|
||||
IF(WITH_SSE2)
|
||||
ADD_DEFINITIONS(-DNL_HAS_SSE2)
|
||||
IF(WITH_SSE3)
|
||||
ADD_DEFINITIONS(-DNL_HAS_SSE3)
|
||||
ENDIF(WITH_SSE3)
|
||||
ENDIF(WITH_SSE2)
|
||||
|
||||
IF(WITH_QT)
|
||||
FIND_PACKAGE(Qt4 COMPONENTS QtCore QtGui QtXml QtOpenGL REQUIRED)
|
||||
ENDIF(WITH_QT)
|
||||
|
|
|
@ -1,46 +1,52 @@
|
|||
# - Find DirectInput
|
||||
# Find the DirectSound includes and libraries
|
||||
#
|
||||
# MAXSDK_DIR - 3DSMAX SDK root directory
|
||||
# MAXSDK_INCLUDE_DIR - where to find baseinterface.h
|
||||
# MAXSDK_LIBRARIES - List of libraries when using 3DSMAX.
|
||||
# MAXSDK_FOUND - True if MAX SDK found.
|
||||
|
||||
if(MAXSDK_INCLUDE_DIR)
|
||||
# Already in cache, be silent
|
||||
set(MAXSDK_FIND_QUIETLY TRUE)
|
||||
# Already in cache, be silent
|
||||
SET(MAXSDK_FIND_QUIETLY TRUE)
|
||||
endif(MAXSDK_INCLUDE_DIR)
|
||||
|
||||
find_path(MAXSDK_INCLUDE_DIR max.h
|
||||
FIND_PATH(MAXSDK_DIR
|
||||
"include/maxversion.h"
|
||||
HINTS
|
||||
"$ENV{MAXSDK_DIR}"
|
||||
PATHS
|
||||
"$ENV{ADSK_3DSMAX_SDK_2012}/maxsdk/include"
|
||||
"$ENV{3DSMAX_2011_SDK_PATH}/maxsdk/include"
|
||||
"$ENV{PROGRAMFILES}/Autodesk/3ds Max 2010 SDK/maxsdk/include"
|
||||
"$ENV{PROGRAMFILES}/Autodesk/3ds Max 2009 SDK/maxsdk/include"
|
||||
"$ENV{PROGRAMFILES}/Autodesk/3ds Max 2008 SDK/maxsdk/include"
|
||||
"$ENV{PROGRAMFILES}/Autodesk/3ds Max 9 SDK/maxsdk/include"
|
||||
)
|
||||
|
||||
find_path(MAXSDK_CS_INCLUDE_DIR bipexp.h
|
||||
PATHS
|
||||
"$ENV{ADSK_3DSMAX_SDK_2012}/maxsdk/include/CS"
|
||||
"$ENV{3DSMAX_2011_SDK_PATH}/maxsdk/include/CS"
|
||||
"$ENV{PROGRAMFILES}/Autodesk/3ds Max 2010 SDK/maxsdk/include/CS"
|
||||
"$ENV{PROGRAMFILES}/Autodesk/3ds Max 2009 SDK/maxsdk/include/CS"
|
||||
"$ENV{PROGRAMFILES}/Autodesk/3ds Max 2008 SDK/maxsdk/include/CS"
|
||||
"$ENV{PROGRAMFILES}/Autodesk/3ds Max 9 SDK/maxsdk/include/CS"
|
||||
"$ENV{ADSK_3DSMAX_SDK_2012}/maxsdk"
|
||||
"$ENV{3DSMAX_2011_SDK_PATH}/maxsdk"
|
||||
"$ENV{PROGRAMFILES}/Autodesk/3ds Max 2010 SDK/maxsdk"
|
||||
"$ENV{PROGRAMFILES}/Autodesk/3ds Max 2009 SDK/maxsdk"
|
||||
"$ENV{PROGRAMFILES}/Autodesk/3ds Max 2008 SDK/maxsdk"
|
||||
"$ENV{PROGRAMFILES}/Autodesk/3ds Max 9 SDK/maxsdk"
|
||||
)
|
||||
|
||||
FIND_PATH(MAXSDK_INCLUDE_DIR
|
||||
max.h
|
||||
HINTS
|
||||
${MAXSDK_DIR}/include
|
||||
)
|
||||
|
||||
FIND_PATH(MAXSDK_CS_INCLUDE_DIR bipexp.h
|
||||
HINTS
|
||||
${MAXSDK_DIR}/include/CS
|
||||
)
|
||||
|
||||
IF(TARGET_X64)
|
||||
SET(MAXSDK_LIBRARY_DIRS ${MAXSDK_DIR}/x64/lib)
|
||||
ELSE(TARGET_X64)
|
||||
SET(MAXSDK_LIBRARY_DIRS ${MAXSDK_DIR}/lib)
|
||||
ENDIF(TARGET_X64)
|
||||
|
||||
MACRO(FIND_3DS_LIBRARY MYLIBRARY MYLIBRARYNAME)
|
||||
FIND_LIBRARY(${MYLIBRARY}
|
||||
NAMES ${MYLIBRARYNAME}
|
||||
PATHS
|
||||
"$ENV{ADSK_3DSMAX_SDK_2012}/maxsdk/lib"
|
||||
"$ENV{3DSMAX_2011_SDK_PATH}/maxsdk/lib"
|
||||
"$ENV{PROGRAMFILES}/Autodesk/3ds Max 2010 SDK/maxsdk/lib"
|
||||
"$ENV{PROGRAMFILES}/Autodesk/3ds Max 2009 SDK/maxsdk/lib"
|
||||
"$ENV{PROGRAMFILES}/Autodesk/3ds Max 2008 SDK/maxsdk/lib"
|
||||
"$ENV{PROGRAMFILES}/Autodesk/3ds Max 9 SDK/maxsdk/lib"
|
||||
)
|
||||
NAMES ${MYLIBRARYNAME}
|
||||
HINTS
|
||||
${MAXSDK_LIBRARY_DIRS}
|
||||
)
|
||||
ENDMACRO(FIND_3DS_LIBRARY MYLIBRARY MYLIBRARYNAME)
|
||||
|
||||
FIND_3DS_LIBRARY(MAXSDK_CORE_LIBRARY core)
|
||||
|
|
|
@ -27,7 +27,7 @@ FIND_PATH(DXSDK_DIR
|
|||
MACRO(FIND_DXSDK_LIBRARY MYLIBRARY MYLIBRARYNAME)
|
||||
FIND_LIBRARY(${MYLIBRARY}
|
||||
NAMES ${MYLIBRARYNAME}
|
||||
PATHS
|
||||
HINTS
|
||||
"${DXSDK_LIBRARY_DIR}"
|
||||
)
|
||||
ENDMACRO(FIND_DXSDK_LIBRARY MYLIBRARY MYLIBRARYNAME)
|
||||
|
@ -36,11 +36,16 @@ IF(DXSDK_DIR)
|
|||
SET(DXSDK_INCLUDE_DIR "${DXSDK_DIR}/Include")
|
||||
|
||||
IF(TARGET_X64)
|
||||
SET(DXSDK_LIBRARY_DIR "${DXSDK_DIR}/Lib/x64")
|
||||
SET(DXSDK_LIBRARY_DIRS ${DXSDK_DIR}/Lib/x64 ${DXSDK_DIR}/lib/amd64)
|
||||
ELSE(TARGET_X64)
|
||||
SET(DXSDK_LIBRARY_DIR "${DXSDK_DIR}/Lib/x86")
|
||||
SET(DXSDK_LIBRARY_DIRS ${DXSDK_DIR}/Lib/x86 ${DXSDK_DIR}/lib)
|
||||
ENDIF(TARGET_X64)
|
||||
|
||||
FIND_PATH(DXSDK_LIBRARY_DIR
|
||||
dxguid.lib
|
||||
PATHS
|
||||
${DXSDK_LIBRARY_DIRS})
|
||||
|
||||
FIND_DXSDK_LIBRARY(DXSDK_GUID_LIBRARY dxguid)
|
||||
FIND_DXSDK_LIBRARY(DXSDK_DINPUT_LIBRARY dinput8)
|
||||
FIND_DXSDK_LIBRARY(DXSDK_DSOUND_LIBRARY dsound)
|
||||
|
|
|
@ -23,8 +23,15 @@ FIND_PATH(FMOD_INCLUDE_DIR
|
|||
PATH_SUFFIXES fmod fmod3
|
||||
)
|
||||
|
||||
IF(TARGET_X64)
|
||||
SET(FMOD_LIBRARY_NAMES fmod64 fmod)
|
||||
ELSE(TARGET_X64)
|
||||
SET(FMOD_LIBRARY_NAMES fmodvc fmod)
|
||||
ENDIF(TARGET_X64)
|
||||
|
||||
FIND_LIBRARY(FMOD_LIBRARY
|
||||
NAMES fmod fmodvc libfmod fmod64
|
||||
NAMES
|
||||
${FMOD_LIBRARY_NAMES}
|
||||
PATHS
|
||||
$ENV{FMOD_DIR}/lib
|
||||
/usr/local/lib
|
||||
|
|
|
@ -71,11 +71,14 @@ SET(WINSDKENV_DIR $ENV{WINSDK_DIR})
|
|||
MACRO(FIND_WINSDK_VERSION_HEADERS)
|
||||
IF(WINSDK_DIR AND NOT WINSDK_VERSION)
|
||||
# Search version in headers
|
||||
IF(EXISTS ${WINSDK_DIR}/include/Msi.h)
|
||||
SET(_MSI_FILE ${WINSDK_DIR}/include/Msi.h)
|
||||
ENDIF(EXISTS ${WINSDK_DIR}/include/Msi.h)
|
||||
FIND_FILE(_MSI_FILE Msi.h
|
||||
PATHS
|
||||
${WINSDK_DIR}/Include/um
|
||||
${WINSDK_DIR}/Include
|
||||
)
|
||||
|
||||
IF(_MSI_FILE)
|
||||
|
||||
# Look for Windows SDK 8.0
|
||||
FILE(STRINGS ${_MSI_FILE} _CONTENT REGEX "^#ifndef NTDDI_WIN8")
|
||||
|
||||
|
@ -88,11 +91,11 @@ MACRO(FIND_WINSDK_VERSION_HEADERS)
|
|||
FILE(STRINGS ${_MSI_FILE} _CONTENT REGEX "^#ifndef NTDDI_WIN7")
|
||||
|
||||
IF(_CONTENT)
|
||||
IF(EXISTS ${WINSDK_DIR}/include/winsdkver.h)
|
||||
SET(_WINSDKVER_FILE ${WINSDK_DIR}/include/winsdkver.h)
|
||||
ELSEIF(EXISTS ${WINSDK_DIR}/include/WinSDKVer.h)
|
||||
SET(_WINSDKVER_FILE ${WINSDK_DIR}/include/WinSDKVer.h)
|
||||
ENDIF(EXISTS ${WINSDK_DIR}/include/winsdkver.h)
|
||||
FIND_FILE(_WINSDKVER_FILE winsdkver.h WinSDKVer.h
|
||||
PATHS
|
||||
${WINSDK_DIR}/Include/um
|
||||
${WINSDK_DIR}/Include
|
||||
)
|
||||
|
||||
IF(_WINSDKVER_FILE)
|
||||
# Load WinSDKVer.h content
|
||||
|
@ -162,9 +165,13 @@ MACRO(USE_CURRENT_WINSDK)
|
|||
SET(WINSDK_VERSION_FULL "")
|
||||
|
||||
# Use WINSDK environment variable
|
||||
IF(WINSDKENV_DIR AND EXISTS ${WINSDKENV_DIR}/include/Windows.h)
|
||||
SET(WINSDK_DIR ${WINSDKENV_DIR})
|
||||
ENDIF(WINSDKENV_DIR AND EXISTS ${WINSDKENV_DIR}/include/Windows.h)
|
||||
IF(WINSDKENV_DIR)
|
||||
FIND_PATH(WINSDK_DIR Windows.h
|
||||
HINTS
|
||||
${WINSDKENV_DIR}/Include/um
|
||||
${WINSDKENV_DIR}/Include
|
||||
)
|
||||
ENDIF(WINSDKENV_DIR)
|
||||
|
||||
# Use INCLUDE environment variable
|
||||
IF(NOT WINSDK_DIR AND WINSDKCURRENT_VERSION_INCLUDE)
|
||||
|
@ -173,8 +180,8 @@ MACRO(USE_CURRENT_WINSDK)
|
|||
|
||||
# Look for Windows.h because there are several paths
|
||||
IF(EXISTS ${_INCLUDE}/Windows.h)
|
||||
STRING(REGEX REPLACE "/(include|INCLUDE|Include)" "" WINSDK_DIR ${_INCLUDE})
|
||||
MESSAGE(STATUS "Found Windows SDK environment variable in ${WINSDK_DIR}")
|
||||
STRING(REGEX REPLACE "/(include|INCLUDE|Include)(.*)" "" WINSDK_DIR ${_INCLUDE})
|
||||
MESSAGE(STATUS "Found Windows SDK from include environment variable in ${WINSDK_DIR}")
|
||||
BREAK()
|
||||
ENDIF(EXISTS ${_INCLUDE}/Windows.h)
|
||||
ENDFOREACH(_INCLUDE)
|
||||
|
|
|
@ -118,13 +118,13 @@ MACRO(NL_DEFAULT_PROPS name label)
|
|||
ENDIF(NL_LIB_PREFIX)
|
||||
ENDIF(${type} STREQUAL SHARED_LIBRARY)
|
||||
|
||||
IF(${type} STREQUAL EXECUTABLE AND WIN32)
|
||||
IF(${type} STREQUAL EXECUTABLE AND WIN32 AND NOT MINGW)
|
||||
SET_TARGET_PROPERTIES(${name} PROPERTIES
|
||||
VERSION ${NL_VERSION}
|
||||
SOVERSION ${NL_VERSION_MAJOR}
|
||||
COMPILE_FLAGS "/GA"
|
||||
LINK_FLAGS "/VERSION:${NL_VERSION_MAJOR}.${NL_VERSION_MINOR}")
|
||||
ENDIF(${type} STREQUAL EXECUTABLE AND WIN32)
|
||||
ENDIF(${type} STREQUAL EXECUTABLE AND WIN32 AND NOT MINGW)
|
||||
ENDMACRO(NL_DEFAULT_PROPS)
|
||||
|
||||
###
|
||||
|
@ -323,6 +323,14 @@ MACRO(NL_SETUP_NEL_DEFAULT_OPTIONS)
|
|||
|
||||
OPTION(WITH_LIBOVR "With LibOVR support" OFF)
|
||||
OPTION(WITH_LIBVR "With LibVR support" OFF)
|
||||
OPTION(WITH_PERFHUD "With NVIDIA PerfHUD support" OFF)
|
||||
|
||||
OPTION(WITH_SSE2 "With SSE2" ON )
|
||||
OPTION(WITH_SSE3 "With SSE3" ON )
|
||||
|
||||
IF(NOT MSVC)
|
||||
OPTION(WITH_GCC_FPMATH_BOTH "With GCC -mfpmath=both" OFF)
|
||||
ENDIF(NOT MSVC)
|
||||
ENDMACRO(NL_SETUP_NEL_DEFAULT_OPTIONS)
|
||||
|
||||
MACRO(NL_SETUP_NELNS_DEFAULT_OPTIONS)
|
||||
|
@ -341,6 +349,7 @@ MACRO(NL_SETUP_RYZOM_DEFAULT_OPTIONS)
|
|||
OPTION(WITH_RYZOM_TOOLS "Build Ryzom Core Tools" ON )
|
||||
OPTION(WITH_RYZOM_SERVER "Build Ryzom Core Services" ON )
|
||||
OPTION(WITH_RYZOM_SOUND "Enable Ryzom Core Sound" ON )
|
||||
OPTION(WITH_RYZOM_PATCH "Enable Ryzom in-game patch support" OFF)
|
||||
|
||||
###
|
||||
# Optional support
|
||||
|
@ -612,6 +621,14 @@ MACRO(NL_SETUP_BUILD)
|
|||
ENDIF(CLANG)
|
||||
ENDIF(WIN32)
|
||||
|
||||
IF(WITH_SSE3)
|
||||
ADD_PLATFORM_FLAGS("-msse3")
|
||||
ENDIF(WITH_SSE3)
|
||||
|
||||
IF(WITH_GCC_FPMATH_BOTH)
|
||||
ADD_PLATFORM_FLAGS("-mfpmath=both")
|
||||
ENDIF(WITH_GCC_FPMATH_BOTH)
|
||||
|
||||
IF(APPLE)
|
||||
IF(NOT XCODE)
|
||||
IF(CMAKE_OSX_ARCHITECTURES)
|
||||
|
@ -873,9 +890,9 @@ MACRO(NL_SETUP_BUILD)
|
|||
ENDIF(APPLE)
|
||||
|
||||
# Fix "relocation R_X86_64_32 against.." error on x64 platforms
|
||||
IF(TARGET_X64 AND WITH_STATIC AND NOT WITH_STATIC_DRIVERS)
|
||||
IF(TARGET_X64 AND WITH_STATIC AND NOT WITH_STATIC_DRIVERS AND NOT MINGW)
|
||||
ADD_PLATFORM_FLAGS("-fPIC")
|
||||
ENDIF(TARGET_X64 AND WITH_STATIC AND NOT WITH_STATIC_DRIVERS)
|
||||
ENDIF(TARGET_X64 AND WITH_STATIC AND NOT WITH_STATIC_DRIVERS AND NOT MINGW)
|
||||
|
||||
SET(PLATFORM_CXXFLAGS "${PLATFORM_CXXFLAGS} -ftemplate-depth-48")
|
||||
|
||||
|
@ -887,7 +904,7 @@ MACRO(NL_SETUP_BUILD)
|
|||
SET(NL_RELEASE_CFLAGS "${NL_RELEASE_CFLAGS} -g")
|
||||
ELSE(WITH_SYMBOLS)
|
||||
IF(APPLE)
|
||||
SET(NL_RELEASE_LINKFLAGS "-Wl,-dead_strip -Wl,-x ${NL_RELEASE_LINKFLAGS}")
|
||||
SET(NL_RELEASE_LINKFLAGS "-Wl,-dead_strip ${NL_RELEASE_LINKFLAGS}")
|
||||
ELSE(APPLE)
|
||||
SET(NL_RELEASE_LINKFLAGS "-Wl,-s ${NL_RELEASE_LINKFLAGS}")
|
||||
ENDIF(APPLE)
|
||||
|
|
|
@ -8,6 +8,6 @@ set(CTEST_PROJECT_NAME "RyzomCore")
|
|||
set(CTEST_NIGHTLY_START_TIME "00:00:00 CST")
|
||||
set(CTEST_UPDATE_TYPE "hg")
|
||||
set(CTEST_DROP_METHOD "http")
|
||||
set(CTEST_DROP_SITE "www.opennel.org")
|
||||
set(CTEST_DROP_LOCATION "/cdash/submit.php?project=RyzomCore")
|
||||
set(CTEST_DROP_SITE "ci.ryzomcore.org")
|
||||
set(CTEST_DROP_LOCATION "/submit.php?project=RyzomCore")
|
||||
set(CTEST_DROP_SITE_CDASH TRUE)
|
||||
|
|
|
@ -290,7 +290,7 @@ public:
|
|||
* \param matrix transformation matrix
|
||||
* \param hotspot position of string origine
|
||||
*/
|
||||
void render3D (IDriver& driver,CMatrix matrix,THotSpot hotspot = MiddleMiddle);
|
||||
void render3D (IDriver& driver, const CMatrix &matrix, THotSpot hotspot = MiddleMiddle);
|
||||
|
||||
};
|
||||
|
||||
|
|
|
@ -182,7 +182,7 @@ public:
|
|||
IDriver();
|
||||
virtual ~IDriver();
|
||||
|
||||
virtual bool init(uint windowIcon = 0, emptyProc exitFunc = 0) = 0;
|
||||
virtual bool init(uintptr_t windowIcon = 0, emptyProc exitFunc = 0) = 0;
|
||||
|
||||
/// Deriver should calls IDriver::release() first, to destroy all driver components (textures, shaders, VBuffers).
|
||||
virtual bool release();
|
||||
|
@ -1341,7 +1341,7 @@ public:
|
|||
* NB: if implementation does not support it, 0 may be returned. OpenGL ones return the Texture ID.
|
||||
* NB: unlike isTextureExist(), this method is not thread safe.
|
||||
*/
|
||||
virtual uint getTextureHandle(const ITexture&tex) = 0;
|
||||
virtual uintptr_t getTextureHandle(const ITexture&tex) = 0;
|
||||
|
||||
// see if the Multiply-Add Tex Env operator is supported (see CMaterial::Mad)
|
||||
virtual bool supportMADOperator() const = 0;
|
||||
|
|
|
@ -123,7 +123,7 @@ public:
|
|||
|
||||
/// \name Object
|
||||
// @{
|
||||
CDriverUser (uint windowIcon, UDriver::TDriver driver, emptyProc exitFunc = 0);
|
||||
CDriverUser (uintptr_t windowIcon, UDriver::TDriver driver, emptyProc exitFunc = 0);
|
||||
virtual ~CDriverUser();
|
||||
// @}
|
||||
|
||||
|
|
|
@ -24,8 +24,11 @@
|
|||
#include "nel/misc/geom_ext.h"
|
||||
#include "nel/misc/line.h"
|
||||
|
||||
|
||||
#ifdef NL_OS_WINDOWS
|
||||
#if defined (NL_COMP_MINGW)
|
||||
# define NL3D_GL_DLL_NAME "libnel_drv_opengl_win"
|
||||
# define NL3D_GLES_DLL_NAME "libnel_drv_opengles_win"
|
||||
# define NL3D_D3D_DLL_NAME "libnel_drv_direct3d_win"
|
||||
#elif defined (NL_OS_WINDOWS)
|
||||
# define NL3D_GL_DLL_NAME "nel_drv_opengl_win"
|
||||
# define NL3D_GLES_DLL_NAME "nel_drv_opengles_win"
|
||||
# define NL3D_D3D_DLL_NAME "nel_drv_direct3d_win"
|
||||
|
|
|
@ -108,281 +108,6 @@ public:
|
|||
};
|
||||
|
||||
|
||||
// ***************************************************************************
|
||||
// ***************************************************************************
|
||||
// SSE Matrix
|
||||
// ***************************************************************************
|
||||
// ***************************************************************************
|
||||
|
||||
|
||||
// ***************************************************************************
|
||||
#if defined(NL_OS_WINDOWS) && !defined(NL_NO_ASM)
|
||||
|
||||
|
||||
/** For fast vector/point multiplication. Special usage for Skinning.
|
||||
* NB: SSE is no more used (no speed gain, some memory problem), but keep it for possible future usage.
|
||||
*/
|
||||
class CMatrix3x4SSE
|
||||
{
|
||||
public:
|
||||
// Order them in memory column first, for SSE column multiplication.
|
||||
float a11, a21, a31, a41;
|
||||
float a12, a22, a32, a42;
|
||||
float a13, a23, a33, a43;
|
||||
float a14, a24, a34, a44;
|
||||
|
||||
// Copy from a matrix.
|
||||
void set(const CMatrix &mat)
|
||||
{
|
||||
const float *m =mat.get();
|
||||
a11= m[0]; a12= m[4]; a13= m[8] ; a14= m[12];
|
||||
a21= m[1]; a22= m[5]; a23= m[9] ; a24= m[13];
|
||||
a31= m[2]; a32= m[6]; a33= m[10]; a34= m[14];
|
||||
// not used.
|
||||
a41= 0 ; a42= 0 ; a43= 0 ; a44= 1;
|
||||
}
|
||||
|
||||
|
||||
// mulSetvector. NB: in should be different as v!! (else don't work).
|
||||
void mulSetVector(const CVector &vin, CVector &vout)
|
||||
{
|
||||
__asm
|
||||
{
|
||||
mov eax, vin
|
||||
mov ebx, this
|
||||
mov edi, vout
|
||||
// Load in vector in op[0]
|
||||
movss xmm0, [eax]vin.x
|
||||
movss xmm1, [eax]vin.y
|
||||
movss xmm2, [eax]vin.z
|
||||
// Expand op[0] to op[1], op[2], op[3]
|
||||
shufps xmm0, xmm0, 0
|
||||
shufps xmm1, xmm1, 0
|
||||
shufps xmm2, xmm2, 0
|
||||
// Mul each vector with 3 Matrix column
|
||||
mulps xmm0, [ebx]this.a11
|
||||
mulps xmm1, [ebx]this.a12
|
||||
mulps xmm2, [ebx]this.a13
|
||||
// Add each column vector.
|
||||
addps xmm0, xmm1
|
||||
addps xmm0, xmm2
|
||||
|
||||
// write the result.
|
||||
movss [edi]vout.x, xmm0
|
||||
shufps xmm0, xmm0, 33
|
||||
movss [edi]vout.y, xmm0
|
||||
movhlps xmm0, xmm0
|
||||
movss [edi]vout.z, xmm0
|
||||
}
|
||||
}
|
||||
// mulSetpoint. NB: in should be different as v!! (else don't work).
|
||||
void mulSetPoint(const CVector &vin, CVector &vout)
|
||||
{
|
||||
__asm
|
||||
{
|
||||
mov eax, vin
|
||||
mov ebx, this
|
||||
mov edi, vout
|
||||
// Load in vector in op[0]
|
||||
movss xmm0, [eax]vin.x
|
||||
movss xmm1, [eax]vin.y
|
||||
movss xmm2, [eax]vin.z
|
||||
// Expand op[0] to op[1], op[2], op[3]
|
||||
shufps xmm0, xmm0, 0
|
||||
shufps xmm1, xmm1, 0
|
||||
shufps xmm2, xmm2, 0
|
||||
// Mul each vector with 3 Matrix column
|
||||
mulps xmm0, [ebx]this.a11
|
||||
mulps xmm1, [ebx]this.a12
|
||||
mulps xmm2, [ebx]this.a13
|
||||
// Add each column vector.
|
||||
addps xmm0, xmm1
|
||||
addps xmm0, xmm2
|
||||
// Add Matrix translate column vector
|
||||
addps xmm0, [ebx]this.a14
|
||||
|
||||
// write the result.
|
||||
movss [edi]vout.x, xmm0
|
||||
shufps xmm0, xmm0, 33
|
||||
movss [edi]vout.y, xmm0
|
||||
movhlps xmm0, xmm0
|
||||
movss [edi]vout.z, xmm0
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
// mulSetvector. NB: vin should be different as v!! (else don't work).
|
||||
void mulSetVector(const CVector &vin, float scale, CVector &vout)
|
||||
{
|
||||
__asm
|
||||
{
|
||||
mov eax, vin
|
||||
mov ebx, this
|
||||
mov edi, vout
|
||||
// Load in vector in op[0]
|
||||
movss xmm0, [eax]vin.x
|
||||
movss xmm1, [eax]vin.y
|
||||
movss xmm2, [eax]vin.z
|
||||
// Load scale in op[0]
|
||||
movss xmm3, scale
|
||||
// Expand op[0] to op[1], op[2], op[3]
|
||||
shufps xmm0, xmm0, 0
|
||||
shufps xmm1, xmm1, 0
|
||||
shufps xmm2, xmm2, 0
|
||||
shufps xmm3, xmm3, 0
|
||||
// Store vertex column in other regs.
|
||||
movaps xmm5, xmm0
|
||||
movaps xmm6, xmm1
|
||||
movaps xmm7, xmm2
|
||||
// Mul each vector with 3 Matrix column
|
||||
mulps xmm0, [ebx]this.a11
|
||||
mulps xmm1, [ebx]this.a12
|
||||
mulps xmm2, [ebx]this.a13
|
||||
// Add each column vector.
|
||||
addps xmm0, xmm1
|
||||
addps xmm0, xmm2
|
||||
|
||||
// mul final result with scale
|
||||
mulps xmm0, xmm3
|
||||
|
||||
// store it in xmm4 for future use.
|
||||
movaps xmm4, xmm0
|
||||
}
|
||||
}
|
||||
// mulSetpoint. NB: vin should be different as v!! (else don't work).
|
||||
void mulSetPoint(const CVector &vin, float scale, CVector &vout)
|
||||
{
|
||||
__asm
|
||||
{
|
||||
mov eax, vin
|
||||
mov ebx, this
|
||||
mov edi, vout
|
||||
// Load in vector in op[0]
|
||||
movss xmm0, [eax]vin.x
|
||||
movss xmm1, [eax]vin.y
|
||||
movss xmm2, [eax]vin.z
|
||||
// Load scale in op[0]
|
||||
movss xmm3, scale
|
||||
// Expand op[0] to op[1], op[2], op[3]
|
||||
shufps xmm0, xmm0, 0
|
||||
shufps xmm1, xmm1, 0
|
||||
shufps xmm2, xmm2, 0
|
||||
shufps xmm3, xmm3, 0
|
||||
// Store vertex column in other regs.
|
||||
movaps xmm5, xmm0
|
||||
movaps xmm6, xmm1
|
||||
movaps xmm7, xmm2
|
||||
// Mul each vector with 3 Matrix column
|
||||
mulps xmm0, [ebx]this.a11
|
||||
mulps xmm1, [ebx]this.a12
|
||||
mulps xmm2, [ebx]this.a13
|
||||
// Add each column vector.
|
||||
addps xmm0, xmm1
|
||||
addps xmm0, xmm2
|
||||
// Add Matrix translate column vector
|
||||
addps xmm0, [ebx]this.a14
|
||||
|
||||
// mul final result with scale
|
||||
mulps xmm0, xmm3
|
||||
|
||||
// store it in xmm4 for future use.
|
||||
movaps xmm4, xmm0
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
// mulAddvector. NB: vin should be different as v!! (else don't work).
|
||||
void mulAddVector(const CVector &/* vin */, float scale, CVector &vout)
|
||||
{
|
||||
__asm
|
||||
{
|
||||
mov ebx, this
|
||||
mov edi, vout
|
||||
// Load vin vector loaded in mulSetVector
|
||||
movaps xmm0, xmm5
|
||||
movaps xmm1, xmm6
|
||||
movaps xmm2, xmm7
|
||||
// Load scale in op[0]
|
||||
movss xmm3, scale
|
||||
// Expand op[0] to op[1], op[2], op[3]
|
||||
shufps xmm3, xmm3, 0
|
||||
// Mul each vector with 3 Matrix column
|
||||
mulps xmm0, [ebx]this.a11
|
||||
mulps xmm1, [ebx]this.a12
|
||||
mulps xmm2, [ebx]this.a13
|
||||
// Add each column vector.
|
||||
addps xmm0, xmm1
|
||||
addps xmm0, xmm2
|
||||
|
||||
// mul final result with scale
|
||||
mulps xmm0, xmm3
|
||||
|
||||
// Add result, with prec sum.
|
||||
addps xmm0, xmm4
|
||||
|
||||
// store it in xmm4 for future use.
|
||||
movaps xmm4, xmm0
|
||||
|
||||
// write the result.
|
||||
movss [edi]vout.x, xmm0
|
||||
shufps xmm0, xmm0, 33
|
||||
movss [edi]vout.y, xmm0
|
||||
movhlps xmm0, xmm0
|
||||
movss [edi]vout.z, xmm0
|
||||
}
|
||||
}
|
||||
// mulAddpoint. NB: vin should be different as v!! (else don't work).
|
||||
void mulAddPoint(const CVector &/* vin */, float scale, CVector &vout)
|
||||
{
|
||||
__asm
|
||||
{
|
||||
mov ebx, this
|
||||
mov edi, vout
|
||||
// Load vin vector loaded in mulSetPoint
|
||||
movaps xmm0, xmm5
|
||||
movaps xmm1, xmm6
|
||||
movaps xmm2, xmm7
|
||||
// Load scale in op[0]
|
||||
movss xmm3, scale
|
||||
// Expand op[0] to op[1], op[2], op[3]
|
||||
shufps xmm3, xmm3, 0
|
||||
// Mul each vector with 3 Matrix column
|
||||
mulps xmm0, [ebx]this.a11
|
||||
mulps xmm1, [ebx]this.a12
|
||||
mulps xmm2, [ebx]this.a13
|
||||
// Add each column vector.
|
||||
addps xmm0, xmm1
|
||||
addps xmm0, xmm2
|
||||
// Add Matrix translate column vector
|
||||
addps xmm0, [ebx]this.a14
|
||||
|
||||
// mul final result with scale
|
||||
mulps xmm0, xmm3
|
||||
|
||||
// Add result, with prec sum.
|
||||
addps xmm0, xmm4
|
||||
|
||||
// store it in xmm4 for future use.
|
||||
movaps xmm4, xmm0
|
||||
|
||||
// write the result.
|
||||
movss [edi]vout.x, xmm0
|
||||
shufps xmm0, xmm0, 33
|
||||
movss [edi]vout.y, xmm0
|
||||
movhlps xmm0, xmm0
|
||||
movss [edi]vout.z, xmm0
|
||||
}
|
||||
}
|
||||
|
||||
};
|
||||
|
||||
#else // NL_OS_WINDOWS
|
||||
/// dummy CMatrix3x4SSE for non windows platform
|
||||
class CMatrix3x4SSE : public CMatrix3x4 { };
|
||||
#endif
|
||||
|
||||
|
||||
|
||||
} // NL3D
|
||||
|
||||
|
||||
|
|
|
@ -1178,9 +1178,6 @@ private:
|
|||
CPSMultiMap<uint32, CPSLocatedBindable *>::M TLBMap;
|
||||
TLBMap _LBMap;
|
||||
|
||||
float _AutoLODStartDistPercent;
|
||||
uint8 _AutoLODDegradationExponent;
|
||||
|
||||
CPSAttribMaker<NLMISC::CRGBA> *_ColorAttenuationScheme;
|
||||
NLMISC::CRGBA _GlobalColor;
|
||||
NLMISC::CRGBA _GlobalColorLighted;
|
||||
|
@ -1206,6 +1203,11 @@ private:
|
|||
bool _HiddenAtCurrentFrame : 1;
|
||||
bool _HiddenAtPreviousFrame : 1;
|
||||
|
||||
// The two following members have been moved after the bitfield to workaround a MSVC 64-bit compiler bug (fixed in VS2013)
|
||||
// For more info, see: http://connect.microsoft.com/VisualStudio/feedback/details/777184/c-compiler-bug-vtable-pointer-put-at-wrong-offset-in-64-bit-mode
|
||||
float _AutoLODStartDistPercent;
|
||||
uint8 _AutoLODDegradationExponent;
|
||||
|
||||
static bool _SerialIdentifiers;
|
||||
static bool _ForceDisplayBBox;
|
||||
|
||||
|
|
|
@ -54,7 +54,7 @@ public:
|
|||
// The index of the skin rdrPass
|
||||
uint16 RdrPassIndex;
|
||||
// The texture id of the specular texture. This is the sort Key.
|
||||
uint32 SpecId;
|
||||
uintptr_t SpecId;
|
||||
|
||||
bool operator<(const CSkinSpecularRdrPass &o) const
|
||||
{
|
||||
|
|
|
@ -88,7 +88,7 @@ public:
|
|||
|
||||
/** return the bounding box of the shape. Default is to return Null bbox.
|
||||
*/
|
||||
virtual void getAABBox(NLMISC::CAABBox &bbox) const;
|
||||
virtual void getAABBox(NLMISC::CAABBox &bbox) const;
|
||||
|
||||
/// get an approximation of the number of triangles this instance will render for a fixed distance.
|
||||
virtual float getNumTriangles (float distance);
|
||||
|
@ -98,7 +98,7 @@ public:
|
|||
NLMISC_DECLARE_CLASS(CSkeletonShape);
|
||||
|
||||
/// flush textures used by this shape.
|
||||
virtual void flushTextures (IDriver &/* driver */, uint /* selectedTexture */) {}
|
||||
virtual void flushTextures (IDriver &/* driver */, uint /* selectedTexture */) {}
|
||||
|
||||
// @}
|
||||
|
||||
|
|
|
@ -845,8 +845,8 @@ public:
|
|||
/**
|
||||
* This is the static function which build a UDriver, the root for all 3D functions.
|
||||
*/
|
||||
static UDriver *createDriver(uint windowIcon = 0, bool direct3d = false, emptyProc exitFunc = 0);
|
||||
static UDriver *createDriver(uint windowIcon, TDriver driver, emptyProc exitFunc = 0);
|
||||
static UDriver *createDriver(uintptr_t windowIcon = 0, bool direct3d = false, emptyProc exitFunc = 0);
|
||||
static UDriver *createDriver(uintptr_t windowIcon, TDriver driver, emptyProc exitFunc = 0);
|
||||
|
||||
/**
|
||||
* Purge static memory
|
||||
|
|
|
@ -68,9 +68,7 @@ namespace NLGUI
|
|||
// special parse
|
||||
virtual bool parse(xmlNodePtr cur, CInterfaceGroup *parentGroup);
|
||||
|
||||
|
||||
/// Handle all events (implemented by derived classes) (return true to signal event handled)
|
||||
virtual bool handleEvent (const NLGUI::CEventDescriptor &event);
|
||||
bool handleEvent (const NLGUI::CEventDescriptor &event);
|
||||
|
||||
virtual CCtrlBase *getSubCtrl (sint32 /* x */, sint32 /* y */) { return this; }
|
||||
|
||||
|
|
|
@ -42,6 +42,7 @@ namespace NLGUI
|
|||
|
||||
/// Constructor
|
||||
CCtrlTextButton(const TCtorParam ¶m);
|
||||
~CCtrlTextButton();
|
||||
|
||||
std::string getProperty( const std::string &name ) const;
|
||||
void setProperty( const std::string &name, const std::string &value );
|
||||
|
@ -123,6 +124,9 @@ namespace NLGUI
|
|||
REFLECT_LUA_METHOD("getViewText", luaGetViewText)
|
||||
REFLECT_EXPORT_END
|
||||
|
||||
void onRemoved();
|
||||
void onWidgetDeleted( CInterfaceElement *e );
|
||||
|
||||
protected:
|
||||
|
||||
enum {NumTexture= 3};
|
||||
|
|
30
code/nel/include/nel/gui/editor_selection_watcher.h
Normal file
30
code/nel/include/nel/gui/editor_selection_watcher.h
Normal file
|
@ -0,0 +1,30 @@
|
|||
// Ryzom - MMORPG Framework <http://dev.ryzom.com/projects/ryzom/>
|
||||
// Copyright (C) 2010 Winch Gate Property Limited
|
||||
//
|
||||
// This program is free software: you can redistribute it and/or modify
|
||||
// it under the terms of the GNU Affero General Public License as
|
||||
// published by the Free Software Foundation, either version 3 of the
|
||||
// License, or (at your option) any later version.
|
||||
//
|
||||
// This program is distributed in the hope that it will be useful,
|
||||
// but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
// GNU Affero General Public License for more details.
|
||||
//
|
||||
// You should have received a copy of the GNU Affero General Public License
|
||||
// along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
#include <string>
|
||||
|
||||
namespace NLGUI
|
||||
{
|
||||
/// Watches the currently selected GUI widget
|
||||
class IEditorSelectionWatcher
|
||||
{
|
||||
public:
|
||||
|
||||
/// Notifies the watcher about the change
|
||||
virtual void selectionChanged( std::string &newSelection ) = 0;
|
||||
};
|
||||
}
|
||||
|
|
@ -70,6 +70,14 @@ namespace NLGUI
|
|||
{
|
||||
public:
|
||||
|
||||
/// Watches CInterfaceElement deletions
|
||||
class IDeletionWatcher
|
||||
{
|
||||
public:
|
||||
IDeletionWatcher(){}
|
||||
virtual ~IDeletionWatcher(){}
|
||||
virtual void onDeleted( const std::string &name ){}
|
||||
};
|
||||
|
||||
enum EStrech
|
||||
{
|
||||
|
@ -424,6 +432,8 @@ namespace NLGUI
|
|||
|
||||
void drawHotSpot(THotSpot hs, NLMISC::CRGBA col);
|
||||
|
||||
void drawHighlight();
|
||||
|
||||
// Returns 'true' if that element can be downcasted to a view
|
||||
virtual bool isView() const { return false; }
|
||||
|
||||
|
@ -473,6 +483,7 @@ namespace NLGUI
|
|||
bool isInGroup( CInterfaceGroup *group );
|
||||
|
||||
static void setEditorMode( bool b ){ editorMode = b; }
|
||||
static bool getEditorMode(){ return editorMode; }
|
||||
|
||||
void setEditorSelected( bool b ){ editorSelected = b; }
|
||||
bool isEditorSelected() const{ return editorSelected; }
|
||||
|
@ -483,6 +494,19 @@ namespace NLGUI
|
|||
void setSerializable( bool b ){ serializable = b; }
|
||||
bool IsSerializable() const{ return serializable; }
|
||||
|
||||
/// Called when the widget is removed from it's parent group
|
||||
virtual void onRemoved(){}
|
||||
|
||||
/// Registers a deletion watcher
|
||||
static void registerDeletionWatcher( IDeletionWatcher *watcher );
|
||||
|
||||
/// Unregisters a deletion watcher
|
||||
static void unregisterDeletionWatcher( IDeletionWatcher *watcher );
|
||||
|
||||
/// Called when the widget is deleted,
|
||||
/// so other widgets in the group can check if it belongs to them
|
||||
virtual void onWidgetDeleted( CInterfaceElement *e ){}
|
||||
|
||||
protected:
|
||||
|
||||
bool editorSelected;
|
||||
|
@ -543,6 +567,11 @@ namespace NLGUI
|
|||
void parseSizeRef(const char *sizeRefStr, sint32 &sizeref, sint32 &sizeDivW, sint32 &sizeDivH);
|
||||
|
||||
private:
|
||||
/// Notifies the deletion watchers that this interface element is being deleted
|
||||
void notifyDeletionWatchers();
|
||||
|
||||
static std::vector< IDeletionWatcher* > deletionWatchers;
|
||||
|
||||
//void snapSize();
|
||||
bool serializable;
|
||||
|
||||
|
|
|
@ -322,6 +322,8 @@ namespace NLGUI
|
|||
// Return the current Depth, with no ZBias applied.
|
||||
float getDepthForZSort() const { return _DepthForZSort; }
|
||||
|
||||
void onWidgetDeleted( CInterfaceElement *e );
|
||||
|
||||
protected:
|
||||
|
||||
void makeNewClip (sint32 &oldClipX, sint32 &oldClipY, sint32 &oldClipW, sint32 &oldClipH);
|
||||
|
|
|
@ -382,6 +382,7 @@ namespace NLGUI
|
|||
bool serializeProcs( xmlNodePtr parentNode ) const;
|
||||
bool serializePointerSettings( xmlNodePtr parentNode ) const;
|
||||
bool serializeKeySettings( xmlNodePtr parentNode ) const;
|
||||
CViewBase* createClass( const std::string &name );
|
||||
};
|
||||
|
||||
}
|
||||
|
|
|
@ -27,6 +27,7 @@
|
|||
namespace NLGUI
|
||||
{
|
||||
class CInterfaceElement;
|
||||
class CViewBase;
|
||||
class CInterfaceGroup;
|
||||
class CInterfaceAnim;
|
||||
class CCtrlSheetSelection;
|
||||
|
@ -86,6 +87,7 @@ namespace NLGUI
|
|||
virtual bool serializeProcs( xmlNodePtr parentNode ) const = 0;
|
||||
virtual bool serializePointerSettings( xmlNodePtr parentNode ) const = 0;
|
||||
virtual bool serializeKeySettings( xmlNodePtr parentNode ) const = 0;
|
||||
virtual CViewBase* createClass( const std::string &name ) = 0;
|
||||
};
|
||||
}
|
||||
|
||||
|
|
|
@ -25,6 +25,7 @@
|
|||
|
||||
namespace NLGUI
|
||||
{
|
||||
class CEventDescriptor;
|
||||
|
||||
class CViewBase : public CInterfaceElement
|
||||
{
|
||||
|
@ -76,6 +77,9 @@ namespace NLGUI
|
|||
|
||||
// special for mouse over : return true and fill the name of the cursor to display
|
||||
virtual bool getMouseOverShape(std::string &/* texName */, uint8 &/* rot */, NLMISC::CRGBA &/* col */) { return false; }
|
||||
|
||||
/// Handle all events (implemented by derived classes) (return true to signal event handled)
|
||||
virtual bool handleEvent (const NLGUI::CEventDescriptor &evnt);
|
||||
|
||||
};
|
||||
|
||||
|
|
|
@ -53,12 +53,14 @@ namespace NLGUI
|
|||
bool show() const {return _PointerVisible;}
|
||||
|
||||
void draw(){}
|
||||
|
||||
|
||||
/// set button state
|
||||
void setButtonState(NLMISC::TMouseButton state) { _Buttons = state; }
|
||||
/// get buttons state
|
||||
NLMISC::TMouseButton getButtonState() const { return _Buttons; }
|
||||
|
||||
static const sint32 InvalidCoord = 0x80000000;
|
||||
|
||||
protected:
|
||||
// (x,y) is from the TopLeft corner of the window
|
||||
sint32 _PointerX; // Current pointer position (raw, before snapping)
|
||||
|
|
32
code/nel/include/nel/gui/widget_addition_watcher.h
Normal file
32
code/nel/include/nel/gui/widget_addition_watcher.h
Normal file
|
@ -0,0 +1,32 @@
|
|||
// Ryzom - MMORPG Framework <http://dev.ryzom.com/projects/ryzom/>
|
||||
// Copyright (C) 2010 Winch Gate Property Limited
|
||||
//
|
||||
// This program is free software: you can redistribute it and/or modify
|
||||
// it under the terms of the GNU Affero General Public License as
|
||||
// published by the Free Software Foundation, either version 3 of the
|
||||
// License, or (at your option) any later version.
|
||||
//
|
||||
// This program is distributed in the hope that it will be useful,
|
||||
// but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
// GNU Affero General Public License for more details.
|
||||
//
|
||||
// You should have received a copy of the GNU Affero General Public License
|
||||
// along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
#ifndef WIDGET_ADD_WATCHER
|
||||
#define WIDGET_ADD_WATCHER
|
||||
|
||||
#include <string>
|
||||
|
||||
namespace NLGUI
|
||||
{
|
||||
class IWidgetAdditionWatcher
|
||||
{
|
||||
public:
|
||||
virtual void widgetAdded( const std::string &name ) = 0;
|
||||
};
|
||||
}
|
||||
|
||||
#endif
|
||||
|
|
@ -47,6 +47,8 @@ namespace NLGUI
|
|||
class CInterfaceOptions;
|
||||
class CInterfaceAnim;
|
||||
class CProcedure;
|
||||
class IEditorSelectionWatcher;
|
||||
class IWidgetAdditionWatcher;
|
||||
|
||||
/**
|
||||
GUI Widget Manager
|
||||
|
@ -341,6 +343,7 @@ namespace NLGUI
|
|||
/**
|
||||
* Capture
|
||||
*/
|
||||
CViewBase *getCapturedView(){ return _CapturedView; }
|
||||
CCtrlBase *getCapturePointerLeft() { return _CapturePointerLeft; }
|
||||
CCtrlBase *getCapturePointerRight() { return _CapturePointerRight; }
|
||||
CCtrlBase *getCaptureKeyboard() { return _CaptureKeyboard; }
|
||||
|
@ -484,7 +487,17 @@ namespace NLGUI
|
|||
|
||||
IParser* getParser() const{ return parser; }
|
||||
|
||||
std::string& getCurrentEditorSelection(){ return currentEditorSelection; }
|
||||
void setCurrentEditorSelection( const std::string &name );
|
||||
void notifySelectionWatchers();
|
||||
void registerSelectionWatcher( IEditorSelectionWatcher *watcher );
|
||||
void unregisterSelectionWatcher( IEditorSelectionWatcher *watcher );
|
||||
|
||||
void notifyAdditionWatchers( const std::string &widgetName );
|
||||
void registerAdditionWatcher( IWidgetAdditionWatcher *watcher );
|
||||
void unregisterAdditionWatcher( IWidgetAdditionWatcher *watcher );
|
||||
|
||||
CInterfaceElement* addWidgetToGroup( std::string &group, std::string &widgetClass, std::string &widgetName );
|
||||
|
||||
private:
|
||||
CWidgetManager();
|
||||
|
@ -511,6 +524,8 @@ namespace NLGUI
|
|||
NLMISC::CRefPtr<CCtrlBase> _CapturePointerLeft;
|
||||
NLMISC::CRefPtr<CCtrlBase> _CapturePointerRight;
|
||||
|
||||
NLMISC::CRefPtr< CViewBase > _CapturedView;
|
||||
|
||||
// What is under pointer
|
||||
std::vector< CViewBase* > _ViewsUnderPointer;
|
||||
std::vector< CCtrlBase* > _CtrlsUnderPointer;
|
||||
|
@ -567,6 +582,9 @@ namespace NLGUI
|
|||
|
||||
std::vector< INewScreenSizeHandler* > newScreenSizeHandlers;
|
||||
std::vector< IOnWidgetsDrawnHandler* > onWidgetsDrawnHandlers;
|
||||
std::vector< IEditorSelectionWatcher* > selectionWatchers;
|
||||
std::vector< IWidgetAdditionWatcher* > additionWatchers;
|
||||
|
||||
|
||||
std::string currentEditorSelection;
|
||||
};
|
||||
|
|
|
@ -34,7 +34,9 @@
|
|||
#include "events.h"
|
||||
#include "rect.h"
|
||||
#include "game_device.h"
|
||||
#define NOMINMAX
|
||||
#ifndef NL_COMP_MINGW
|
||||
# define NOMINMAX
|
||||
#endif
|
||||
#include <windows.h>
|
||||
#include <dinput.h>
|
||||
|
||||
|
@ -101,7 +103,7 @@ public:
|
|||
* \param we A windows eventsemitter. Can be NULL. Needed if you want to mix WIN32 events and Direct Input events
|
||||
* (for example, a Direct Input Mouse and a Win32 Keyboard)
|
||||
*/
|
||||
static CDIEventEmitter *create(HINSTANCE hinst, HWND hwnd, CWinEventEmitter *we);
|
||||
static CDIEventEmitter *create(HINSTANCE hinst, HWND hwnd, CWinEventEmitter *we) throw(EDirectInput);
|
||||
~CDIEventEmitter();
|
||||
public:
|
||||
|
||||
|
|
|
@ -53,7 +53,8 @@ public:
|
|||
uint getNumAllocatedBlocks() const { return _NumAlloc; }
|
||||
private:
|
||||
class CChunk;
|
||||
class CNode
|
||||
|
||||
class NL_ALIGN(NL_DEFAULT_MEMORY_ALIGNMENT) CNode
|
||||
{
|
||||
public:
|
||||
CChunk *Chunk; // the Chunk this node belongs to.
|
||||
|
|
|
@ -74,7 +74,7 @@
|
|||
namespace NLMISC
|
||||
{
|
||||
|
||||
#ifdef NL_OS_WINDOWS
|
||||
#ifdef NL_COMP_VC
|
||||
// Visual C++ warning : ebp maybe modified
|
||||
# pragma warning(disable:4731)
|
||||
#endif
|
||||
|
|
|
@ -220,7 +220,7 @@ private:
|
|||
|
||||
static TOldWinProcMap _OldWinProcMap;
|
||||
|
||||
bool initInternal(HINSTANCE hInstance, HWND ownerWindow, uint32 localId, uint32 foreignId = NULL);
|
||||
bool initInternal(HINSTANCE hInstance, HWND ownerWindow, uint32 localId, uint32 foreignId = 0);
|
||||
|
||||
private:
|
||||
static LRESULT CALLBACK listenerProc(HWND hwnd, UINT uMsg, WPARAM wParam, LPARAM lParam);
|
||||
|
|
|
@ -53,7 +53,8 @@ class CPlane;
|
|||
* \author Nevrax France
|
||||
* \date 2000
|
||||
*/
|
||||
class CMatrix
|
||||
|
||||
class NL_ALIGN_SSE2 CMatrix
|
||||
{
|
||||
public:
|
||||
/// Rotation Order.
|
||||
|
|
|
@ -29,6 +29,12 @@
|
|||
# endif // NLMISC_HEAP_ALLOCATION_NDEBUG
|
||||
#endif // NL_USE_DEFAULT_MEMORY_MANAGER
|
||||
|
||||
#ifndef NL_OV_USE_NEW_ALLOCATOR
|
||||
# ifdef NL_HAS_SSE2
|
||||
# define NL_OV_USE_NEW_ALLOCATOR
|
||||
# endif // NL_HAS_SSE2
|
||||
#endif // NL_OV_USE_NEW_ALLOCATOR
|
||||
|
||||
namespace NLMISC {
|
||||
|
||||
|
||||
|
|
|
@ -86,6 +86,10 @@
|
|||
# define NL_COMP_VC_VERSION 60
|
||||
# define NL_COMP_NEED_PARAM_ON_METHOD
|
||||
# endif
|
||||
# elif defined(__MINGW32__)
|
||||
# define NL_COMP_MINGW
|
||||
# define NL_COMP_GCC
|
||||
# define NL_NO_ASM
|
||||
# endif
|
||||
# if defined(_HAS_TR1) && (_HAS_TR1 + 0) // VC9 TR1 feature pack or later
|
||||
# define NL_ISO_STDTR1_AVAILABLE
|
||||
|
@ -93,9 +97,13 @@
|
|||
# define NL_ISO_STDTR1_NAMESPACE std::tr1
|
||||
# endif
|
||||
# ifdef _DEBUG
|
||||
# define NL_DEBUG
|
||||
# ifndef NL_DEBUG
|
||||
# define NL_DEBUG
|
||||
# endif
|
||||
# elif defined (NDEBUG)
|
||||
# define NL_RELEASE
|
||||
# ifndef NL_RELEASE
|
||||
# define NL_RELEASE
|
||||
# endif
|
||||
# else
|
||||
# error "Don't know the compilation mode"
|
||||
# endif
|
||||
|
@ -109,7 +117,9 @@
|
|||
# define _WIN32_WINNT 0x0600 // force VISTA minimal version in 64 bits
|
||||
# endif
|
||||
// define NOMINMAX to be sure that windows includes will not define min max macros, but instead, use the stl template
|
||||
# define NOMINMAX
|
||||
# ifndef NL_COMP_MINGW
|
||||
# define NOMINMAX
|
||||
# endif
|
||||
#else
|
||||
# ifdef __APPLE__
|
||||
# define NL_OS_MAC
|
||||
|
@ -142,7 +152,7 @@
|
|||
//
|
||||
// NL_ISO_TEMPLATE_SPEC can be used in front of an instanciated class-template member data definition,
|
||||
// because sometimes MSVC++ 6 produces an error C2908 with a definition with template <>.
|
||||
#if defined(NL_OS_WINDOWS) || (defined(__GNUC__) && ((__GNUC__ < 3) || (__GNUC__ == 3 && __GNUC_MINOR__ <= 3)))
|
||||
#if defined(NL_COMP_VC) || (defined(__GNUC__) && ((__GNUC__ < 3) || (__GNUC__ == 3 && __GNUC_MINOR__ <= 3)))
|
||||
# define NL_ISO_SYNTAX 0
|
||||
# define NL_ISO_TEMPLATE_SPEC
|
||||
#else
|
||||
|
@ -328,6 +338,57 @@ typedef unsigned int uint; // at least 32bits (depend of processor)
|
|||
|
||||
#endif // NL_OS_UNIX
|
||||
|
||||
|
||||
// #ifdef NL_ENABLE_FORCE_INLINE
|
||||
# ifdef NL_COMP_VC
|
||||
# define NL_FORCE_INLINE __forceinline
|
||||
# elif defined(NL_COMP_GCC)
|
||||
# define NL_FORCE_INLINE inline __attribute__((always_inline))
|
||||
# else
|
||||
# define NL_FORCE_INLINE inline
|
||||
# endif
|
||||
// #else
|
||||
// # define NL_FORCE_INLINE inline
|
||||
// #endif
|
||||
|
||||
|
||||
#ifdef NL_COMP_VC
|
||||
#define NL_ALIGN(nb) __declspec(align(nb))
|
||||
#else
|
||||
#define NL_ALIGN(nb) __attribute__((aligned(nb)))
|
||||
#endif
|
||||
|
||||
#ifdef NL_OS_WINDOWS
|
||||
#include <stdlib.h>
|
||||
#include <intrin.h>
|
||||
#include <malloc.h>
|
||||
inline void *aligned_malloc(size_t size, size_t alignment) { return _aligned_malloc(size, alignment); }
|
||||
inline void aligned_free(void *ptr) { _aligned_free(ptr); }
|
||||
#else
|
||||
#include <malloc.h>
|
||||
inline void *aligned_malloc(size_t size, size_t alignment) { return memalign(alignment, size); }
|
||||
inline void aligned_free(void *ptr) { free(ptr); }
|
||||
#endif /* NL_COMP_ */
|
||||
|
||||
|
||||
#ifdef NL_HAS_SSE2
|
||||
|
||||
#define NL_DEFAULT_MEMORY_ALIGNMENT 16
|
||||
#define NL_ALIGN_SSE2 NL_ALIGN(NL_DEFAULT_MEMORY_ALIGNMENT)
|
||||
|
||||
extern void *operator new(size_t size) throw(std::bad_alloc);
|
||||
extern void *operator new[](size_t size) throw(std::bad_alloc);
|
||||
extern void operator delete(void *p) throw();
|
||||
extern void operator delete[](void *p) throw();
|
||||
|
||||
#else /* NL_HAS_SSE2 */
|
||||
|
||||
#define NL_DEFAULT_MEMORY_ALIGNMENT 4
|
||||
#define NL_ALIGN_SSE2
|
||||
|
||||
#endif /* NL_HAS_SSE2 */
|
||||
|
||||
|
||||
// CHashMap, CHashSet and CHashMultiMap definitions
|
||||
#if defined(_STLPORT_VERSION) // STLport detected
|
||||
# include <hash_map>
|
||||
|
@ -388,8 +449,8 @@ typedef uint16 ucchar;
|
|||
|
||||
|
||||
// To define a 64bits constant; ie: UINT64_CONSTANT(0x123456781234)
|
||||
#ifdef NL_OS_WINDOWS
|
||||
# if defined(NL_COMP_VC) && (NL_COMP_VC_VERSION >= 80)
|
||||
#ifdef NL_COMP_VC
|
||||
# if (NL_COMP_VC_VERSION >= 80)
|
||||
# define INT64_CONSTANT(c) (c##LL)
|
||||
# define SINT64_CONSTANT(c) (c##LL)
|
||||
# define UINT64_CONSTANT(c) (c##LL)
|
||||
|
|
|
@ -22,7 +22,9 @@
|
|||
#ifdef NL_OS_WINDOWS
|
||||
|
||||
#define WIN32_LEAN_AND_MEAN // Exclude rarely-used stuff from Windows headers
|
||||
#define NOMINMAX
|
||||
#ifndef NL_COMP_MINGW
|
||||
# define NOMINMAX
|
||||
#endif
|
||||
#include <windows.h>
|
||||
|
||||
#include "displayer.h"
|
||||
|
|
|
@ -50,10 +50,10 @@ public:
|
|||
virtual ~CBufSock();
|
||||
|
||||
/// Sets the application identifier
|
||||
void setAppId( uint64 id ) { _AppId = id; }
|
||||
void setAppId( uintptr_t id ) { _AppId = id; }
|
||||
|
||||
/// Returns the application identifier
|
||||
uint64 appId() const { return _AppId; }
|
||||
uintptr_t appId() const { return _AppId; }
|
||||
|
||||
/// Returns a string with the characteristics of the object
|
||||
std::string asString() const;
|
||||
|
@ -256,7 +256,7 @@ private:
|
|||
NLMISC::CObjectVector<uint8> _ReadyToSendBuffer;
|
||||
TBlockSize _RTSBIndex;
|
||||
|
||||
uint64 _AppId;
|
||||
uintptr_t _AppId;
|
||||
|
||||
// Connected state (from the user's point of view, i.e. changed when the connection/disconnection event is at the front of the receive queue)
|
||||
bool _ConnectedState;
|
||||
|
|
|
@ -34,8 +34,8 @@ extern uint16 gScreenHeight;
|
|||
|
||||
class NeLDriver {
|
||||
public:
|
||||
NeLDriver(NL3D::UDriver *driver) { m_Driver=driver; }
|
||||
virtual ~NeLDriver() { ; }
|
||||
NeLDriver(NL3D::UDriver *driver):m_Driver(driver), m_TextContext(NULL), m_Scene(NULL) { }
|
||||
virtual ~NeLDriver() { }
|
||||
|
||||
void init();
|
||||
void update();
|
||||
|
|
|
@ -38,7 +38,9 @@
|
|||
#include "nel/3d/event_mouse_listener.h"
|
||||
|
||||
#ifdef NL_OS_WINDOWS
|
||||
# define NOMINMAX
|
||||
# ifndef NL_COMP_MINGW
|
||||
# define NOMINMAX
|
||||
# endif
|
||||
# include <windows.h>
|
||||
#endif // NL_OS_WINDOWS
|
||||
|
||||
|
@ -360,7 +362,7 @@ int main()
|
|||
}
|
||||
++itAcc;
|
||||
}
|
||||
if ((vCluster.size() == 0) && (DispCS[0].pIG == pCurIG))
|
||||
if (vCluster.empty() && (DispCS[0].pIG == pCurIG))
|
||||
{
|
||||
vCluster.push_back (pClipTrav->RootCluster);
|
||||
}
|
||||
|
|
|
@ -30,7 +30,9 @@
|
|||
#include "nel/3d/driver_user.h"
|
||||
|
||||
#ifdef NL_OS_WINDOWS
|
||||
#define NOMINMAX
|
||||
#ifndef NL_COMP_MINGW
|
||||
#define NOMINMAX
|
||||
#endif
|
||||
#include <windows.h>
|
||||
#endif // NL_OS_WINDOWS
|
||||
|
||||
|
|
|
@ -47,7 +47,7 @@ CConfiguration::~CConfiguration()
|
|||
void CConfiguration::init()
|
||||
{
|
||||
// verify data
|
||||
nlassert(!m_ConfigCallbacks.size());
|
||||
nlassert(m_ConfigCallbacks.empty());
|
||||
|
||||
// load config
|
||||
m_ConfigFile.load(NLQT_CONFIG_FILE);
|
||||
|
|
|
@ -29,7 +29,9 @@
|
|||
#include <nel/3d/u_instance.h>
|
||||
|
||||
#ifdef NL_OS_WINDOWS
|
||||
#define NOMINMAX
|
||||
#ifndef NL_COMP_MINGW
|
||||
#define NOMINMAX
|
||||
#endif
|
||||
#include <windows.h>
|
||||
#endif // NL_OS_WINDOWS
|
||||
|
||||
|
|
|
@ -14,7 +14,9 @@
|
|||
// You should have received a copy of the GNU Affero General Public License
|
||||
// along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
#ifdef __GNUC__
|
||||
#include "nel/misc/types_nl.h"
|
||||
|
||||
#ifndef NL_OS_WINDOWS
|
||||
#include "kbhit.h"
|
||||
#include <termios.h>
|
||||
#include <unistd.h> // for read()
|
||||
|
|
|
@ -24,7 +24,9 @@
|
|||
#include "nel/net/callback_server.h"
|
||||
|
||||
#ifdef NL_OS_WINDOWS
|
||||
# define NOMINMAX
|
||||
# ifndef NL_COMP_MINGW
|
||||
# define NOMINMAX
|
||||
# endif
|
||||
# include <windows.h>
|
||||
#endif // NL_OS_WINDOWS
|
||||
|
||||
|
|
|
@ -37,7 +37,9 @@
|
|||
#include "nel/net/transport_class.h"
|
||||
|
||||
#ifdef NL_OS_WINDOWS
|
||||
# define NOMINMAX
|
||||
# ifndef NL_COMP_MINGW
|
||||
# define NOMINMAX
|
||||
# endif
|
||||
# include <windows.h>
|
||||
#endif // NL_OS_WINDOWS
|
||||
|
||||
|
|
|
@ -37,7 +37,9 @@
|
|||
#include "nel/net/transport_class.h"
|
||||
|
||||
#ifdef NL_OS_WINDOWS
|
||||
# define NOMINMAX
|
||||
# ifndef NL_COMP_MINGW
|
||||
# define NOMINMAX
|
||||
# endif
|
||||
# include <windows.h>
|
||||
#endif // NL_OS_WINDOWS
|
||||
|
||||
|
|
|
@ -34,7 +34,9 @@
|
|||
#include "nel/net/login_server.h"
|
||||
|
||||
#ifdef NL_OS_WINDOWS
|
||||
# define NOMINMAX
|
||||
# ifndef NL_COMP_MINGW
|
||||
# define NOMINMAX
|
||||
# endif
|
||||
# include <windows.h>
|
||||
#endif // NL_OS_WINDOWS
|
||||
|
||||
|
|
|
@ -43,7 +43,9 @@
|
|||
#include "receive_task.h"
|
||||
|
||||
#ifdef NL_OS_WINDOWS
|
||||
# define NOMINMAX
|
||||
# ifndef NL_COMP_MINGW
|
||||
# define NOMINMAX
|
||||
# endif
|
||||
# include <windows.h>
|
||||
#endif // NL_OS_WINDOWS
|
||||
|
||||
|
|
|
@ -18,7 +18,9 @@
|
|||
|
||||
|
||||
#ifdef NL_OS_WINDOWS
|
||||
# define NOMINMAX
|
||||
# ifndef NL_COMP_MINGW
|
||||
# define NOMINMAX
|
||||
# endif
|
||||
# include <windows.h>
|
||||
#elif defined NL_OS_UNIX
|
||||
|
||||
|
|
|
@ -143,11 +143,13 @@ void CComputedString::render2D (IDriver& driver,
|
|||
/*------------------------------------------------------------------*\
|
||||
render3D()
|
||||
\*------------------------------------------------------------------*/
|
||||
void CComputedString::render3D (IDriver& driver,CMatrix matrix,THotSpot hotspot)
|
||||
void CComputedString::render3D (IDriver& driver, const CMatrix &matrixp, THotSpot hotspot)
|
||||
{
|
||||
if (Vertices.getNumVertices() == 0)
|
||||
return;
|
||||
|
||||
CMatrix matrix = matrixp;
|
||||
|
||||
// get window size
|
||||
uint32 wndWidth, wndHeight;
|
||||
driver.getWindowSize(wndWidth, wndHeight);
|
||||
|
|
|
@ -10,7 +10,7 @@ NL_DEFAULT_PROPS(nel_drv_direct3d_win "NeL, Driver, Video: Direct3D")
|
|||
NL_ADD_RUNTIME_FLAGS(nel_drv_direct3d_win)
|
||||
NL_ADD_LIB_SUFFIX(nel_drv_direct3d_win)
|
||||
|
||||
ADD_DEFINITIONS(/Ddriver_direct3d_EXPORTS)
|
||||
ADD_DEFINITIONS(-DRIVER_DIRECT3D_EXPORTS)
|
||||
|
||||
IF(WITH_PCH)
|
||||
ADD_NATIVE_PRECOMPILED_HEADER(nel_drv_direct3d_win ${CMAKE_CURRENT_SOURCE_DIR}/stddirect3d.h ${CMAKE_CURRENT_SOURCE_DIR}/stddirect3d.cpp)
|
||||
|
|
|
@ -110,6 +110,10 @@ IDriver* createD3DDriverInstance ()
|
|||
|
||||
#else
|
||||
|
||||
#ifdef NL_COMP_MINGW
|
||||
extern "C"
|
||||
{
|
||||
#endif
|
||||
__declspec(dllexport) IDriver* NL3D_createIDriverInstance ()
|
||||
{
|
||||
return new CDriverD3D;
|
||||
|
@ -119,7 +123,9 @@ __declspec(dllexport) uint32 NL3D_interfaceVersion ()
|
|||
{
|
||||
return IDriver::InterfaceVersion;
|
||||
}
|
||||
|
||||
#ifdef NL_COMP_MINGW
|
||||
}
|
||||
#endif
|
||||
#endif
|
||||
|
||||
/*static*/ bool CDriverD3D::_CacheTest[CacheTest_Count] =
|
||||
|
@ -379,7 +385,7 @@ void CDriverD3D::resetRenderVariables()
|
|||
}
|
||||
for (i=0; i<MaxTexture; i++)
|
||||
{
|
||||
if ((uint32)(_TexturePtrStateCache[i].Texture) != 0xcccccccc)
|
||||
if ((uintptr_t)(_TexturePtrStateCache[i].Texture) != 0xcccccccc)
|
||||
{
|
||||
touchRenderVariable (&(_TexturePtrStateCache[i]));
|
||||
// reset texture because it may reference an old render target
|
||||
|
@ -419,7 +425,7 @@ void CDriverD3D::resetRenderVariables()
|
|||
|
||||
for (i=0; i<MaxLight; i++)
|
||||
{
|
||||
if (*(uint32*)(&(_LightCache[i].Light)) != 0xcccccccc)
|
||||
if (*(uintptr_t*)(&(_LightCache[i].Light)) != 0xcccccccc)
|
||||
{
|
||||
_LightCache[i].EnabledTouched = true;
|
||||
touchRenderVariable (&(_LightCache[i]));
|
||||
|
@ -514,7 +520,7 @@ void CDriverD3D::initRenderVariables()
|
|||
for (i=0; i<MaxTexture; i++)
|
||||
{
|
||||
_TexturePtrStateCache[i].StageID = i;
|
||||
*(uint32*)&(_TexturePtrStateCache[i].Texture) = 0xcccccccc;
|
||||
*(uintptr_t*)&(_TexturePtrStateCache[i].Texture) = 0xcccccccc;
|
||||
_TexturePtrStateCache[i].Modified = false;
|
||||
}
|
||||
for (i=0; i<MaxSampler; i++)
|
||||
|
@ -543,7 +549,7 @@ void CDriverD3D::initRenderVariables()
|
|||
for (i=0; i<MaxLight; ++i)
|
||||
{
|
||||
_LightCache[i].LightIndex = uint8(i);
|
||||
*(uint32*)&(_LightCache[i].Light) = 0xcccccccc;
|
||||
*(uintptr_t*)&(_LightCache[i].Light) = 0xcccccccc;
|
||||
_LightCache[i].Modified = false;
|
||||
}
|
||||
_VertexProgramCache.Modified = false;
|
||||
|
@ -1063,7 +1069,7 @@ void CDriverD3D::updateRenderVariablesInternal()
|
|||
|
||||
// ***************************************************************************
|
||||
|
||||
static void D3DWndProc(CDriverD3D *driver, HWND hWnd, UINT message, WPARAM wParam, LPARAM lParam)
|
||||
void D3DWndProc(CDriverD3D *driver, HWND hWnd, UINT message, WPARAM wParam, LPARAM lParam)
|
||||
{
|
||||
H_AUTO_D3D(D3DWndProc);
|
||||
|
||||
|
@ -1231,7 +1237,7 @@ static LRESULT CALLBACK WndProc(HWND hWnd, UINT message, WPARAM wParam, LPARAM l
|
|||
|
||||
// ***************************************************************************
|
||||
|
||||
bool CDriverD3D::init (uint windowIcon, emptyProc exitFunc)
|
||||
bool CDriverD3D::init (uintptr_t windowIcon, emptyProc exitFunc)
|
||||
{
|
||||
H_AUTO_D3D(CDriver3D_init );
|
||||
|
||||
|
@ -1464,6 +1470,24 @@ bool CDriverD3D::setDisplay(nlWindow wnd, const GfxMode& mode, bool show, bool r
|
|||
return false;
|
||||
}
|
||||
|
||||
#if WITH_PERFHUD
|
||||
// Look for 'NVIDIA PerfHUD' adapter
|
||||
// If it is present, override default settings
|
||||
for (UINT gAdapter=0;gAdapter<_D3D->GetAdapterCount();gAdapter++)
|
||||
{
|
||||
D3DADAPTER_IDENTIFIER9 Identifier;
|
||||
HRESULT Res;
|
||||
Res = _D3D->GetAdapterIdentifier(gAdapter,0,&Identifier);
|
||||
|
||||
if (strstr(Identifier.Description,"PerfHUD") != 0)
|
||||
{
|
||||
nlinfo ("Setting up with PerfHUD");
|
||||
adapter=gAdapter;
|
||||
_Rasterizer=D3DDEVTYPE_REF;
|
||||
break;
|
||||
}
|
||||
}
|
||||
#endif /* WITH_PERFHUD */
|
||||
// Create the D3D device
|
||||
HRESULT result = _D3D->CreateDevice (adapter, _Rasterizer, _HWnd, D3DCREATE_HARDWARE_VERTEXPROCESSING|D3DCREATE_PUREDEVICE, ¶meters, &_DeviceInterface);
|
||||
if (result != D3D_OK)
|
||||
|
@ -1487,6 +1511,8 @@ bool CDriverD3D::setDisplay(nlWindow wnd, const GfxMode& mode, bool show, bool r
|
|||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
// _D3D->CreateDevice (adapter, _Rasterizer, _HWnd, D3DCREATE_SOFTWARE_VERTEXPROCESSING, ¶meters, &_DeviceInterface);
|
||||
|
||||
// Check some caps
|
||||
|
@ -2635,13 +2661,15 @@ bool CDriverD3D::reset (const GfxMode& mode)
|
|||
#ifndef NL_NO_ASM
|
||||
CFpuRestorer fpuRestorer; // fpu control word is changed by "Reset"
|
||||
#endif
|
||||
HRESULT hr = _DeviceInterface->Reset (¶meters);
|
||||
if (hr != D3D_OK)
|
||||
{
|
||||
nlwarning("CDriverD3D::reset: Reset on _DeviceInterface error 0x%x", hr);
|
||||
// tmp
|
||||
nlstopex(("CDriverD3D::reset: Reset on _DeviceInterface"));
|
||||
return false;
|
||||
if (_Rasterizer!=D3DDEVTYPE_REF) {
|
||||
HRESULT hr = _DeviceInterface->Reset (¶meters);
|
||||
if (hr != D3D_OK)
|
||||
{
|
||||
nlwarning("CDriverD3D::reset: Reset on _DeviceInterface error 0x%x", hr);
|
||||
// tmp
|
||||
nlstopex(("CDriverD3D::reset: Reset on _DeviceInterface"));
|
||||
return false;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -1,2 +1,4 @@
|
|||
EXPORTS NL3D_createIDriverInstance
|
||||
EXPORTS NL3D_interfaceVersion
|
||||
LIBRARY nel_drv_direct3d_win_r
|
||||
EXPORTS
|
||||
NL3D_createIDriverInstance
|
||||
NL3D_interfaceVersion
|
|
@ -839,7 +839,7 @@ public:
|
|||
// ***************************************************************************
|
||||
|
||||
// Mode initialisation, requests
|
||||
virtual bool init (uint windowIcon = 0, emptyProc exitFunc = 0);
|
||||
virtual bool init (uintptr_t windowIcon = 0, emptyProc exitFunc = 0);
|
||||
virtual bool setDisplay(nlWindow wnd, const GfxMode& mode, bool show, bool resizeable) throw(EBadDisplay);
|
||||
virtual bool release();
|
||||
virtual bool setMode(const GfxMode& mode);
|
||||
|
@ -953,7 +953,7 @@ public:
|
|||
virtual void setSwapVBLInterval(uint interval);
|
||||
virtual uint getSwapVBLInterval();
|
||||
virtual void swapTextureHandle(ITexture &tex0, ITexture &tex1);
|
||||
virtual uint getTextureHandle(const ITexture&tex);
|
||||
virtual uintptr_t getTextureHandle(const ITexture&tex);
|
||||
|
||||
// Matrix, viewport and frustum
|
||||
virtual void setFrustum(float left, float right, float bottom, float top, float znear, float zfar, bool perspective = true);
|
||||
|
@ -1893,7 +1893,7 @@ public:
|
|||
H_AUTO_D3D(CDriverD3D_setSamplerState);
|
||||
nlassert (_DeviceInterface);
|
||||
nlassert (sampler<MaxSampler);
|
||||
nlassert (samplerState<MaxSamplerState);
|
||||
nlassert ((int)samplerState<(int)MaxSamplerState);
|
||||
|
||||
// Ref on the state
|
||||
CSamplerState &_samplerState = _SamplerStateCache[sampler][samplerState];
|
||||
|
@ -2025,7 +2025,7 @@ public:
|
|||
|
||||
// Remap high matrices indexes
|
||||
type = (D3DTRANSFORMSTATETYPE)remapMatrixIndex (type);
|
||||
nlassert (type<MaxMatrixState);
|
||||
nlassert ((int)type<(int)MaxMatrixState);
|
||||
|
||||
CMatrixState &theMatrix = _MatrixCache[type];
|
||||
#ifdef NL_D3D_USE_RENDER_STATE_CACHE
|
||||
|
|
|
@ -46,7 +46,7 @@ CIBDrvInfosD3D::CIBDrvInfosD3D(CDriverD3D *drv, ItIBDrvInfoPtrList it, CIndexBuf
|
|||
|
||||
// ***************************************************************************
|
||||
|
||||
extern uint indexCount=0;
|
||||
uint indexCount=0;
|
||||
|
||||
CIBDrvInfosD3D::~CIBDrvInfosD3D()
|
||||
{
|
||||
|
|
|
@ -1091,7 +1091,7 @@ void CDriverD3D::swapTextureHandle(ITexture &tex0, ITexture &tex1)
|
|||
|
||||
// ***************************************************************************
|
||||
|
||||
uint CDriverD3D::getTextureHandle(const ITexture &tex)
|
||||
uintptr_t CDriverD3D::getTextureHandle(const ITexture &tex)
|
||||
{
|
||||
H_AUTO_D3D(CDriverD3D_getTextureHandle)
|
||||
// If DrvShare not setuped
|
||||
|
@ -1104,7 +1104,7 @@ uint CDriverD3D::getTextureHandle(const ITexture &tex)
|
|||
if(!d3dtext)
|
||||
return 0;
|
||||
|
||||
return (uint)(d3dtext->Texture);
|
||||
return (uintptr_t)(d3dtext->Texture);
|
||||
}
|
||||
|
||||
// ***************************************************************************
|
||||
|
|
|
@ -59,7 +59,7 @@ CVBDrvInfosD3D::CVBDrvInfosD3D(CDriverD3D *drv, ItVBDrvInfoPtrList it, CVertexBu
|
|||
|
||||
// ***************************************************************************
|
||||
|
||||
extern uint vertexCount=0;
|
||||
uint vertexCount=0;
|
||||
|
||||
CVBDrvInfosD3D::~CVBDrvInfosD3D()
|
||||
{
|
||||
|
@ -173,7 +173,7 @@ uint8 *CVBDrvInfosD3D::lock (uint begin, uint end, bool readOnly)
|
|||
|
||||
void *pbData;
|
||||
if (VertexBuffer->Lock ( begin, end-begin, &pbData, readOnly?D3DLOCK_READONLY:0) != D3D_OK)
|
||||
return false;
|
||||
return NULL;
|
||||
|
||||
// Lock Profile?
|
||||
if(driver->_VBHardProfiling /*&& Hardware*/)
|
||||
|
|
|
@ -19,7 +19,9 @@
|
|||
|
||||
#ifdef NL_OS_WINDOWS
|
||||
# define WIN32_LEAN_AND_MEAN
|
||||
# define NOMINMAX
|
||||
# ifndef NL_COMP_MINGW
|
||||
# define NOMINMAX
|
||||
# endif
|
||||
# include <windows.h>
|
||||
#endif
|
||||
|
||||
|
|
|
@ -37,7 +37,7 @@ NL_ADD_RUNTIME_FLAGS(${NLDRV_OGL_LIB})
|
|||
IF(WIN32)
|
||||
INCLUDE_DIRECTORIES(${DXSDK_INCLUDE_DIR})
|
||||
TARGET_LINK_LIBRARIES(${NLDRV_OGL_LIB} ${DXSDK_DINPUT_LIBRARY} ${DXSDK_GUID_LIBRARY})
|
||||
ADD_DEFINITIONS(/DDRIVER_OPENGL_EXPORTS)
|
||||
ADD_DEFINITIONS(-DDRIVER_OPENGL_EXPORTS)
|
||||
ENDIF(WIN32)
|
||||
|
||||
IF(APPLE)
|
||||
|
|
|
@ -6,7 +6,7 @@ extern "C" {
|
|||
#endif
|
||||
|
||||
/*
|
||||
** Copyright (c) 2013 The Khronos Group Inc.
|
||||
** Copyright (c) 2013-2014 The Khronos Group Inc.
|
||||
**
|
||||
** Permission is hereby granted, free of charge, to any person obtaining a
|
||||
** copy of this software and/or associated documentation files (the
|
||||
|
@ -33,7 +33,7 @@ extern "C" {
|
|||
** used to make the header, and the header can be found at
|
||||
** http://www.opengl.org/registry/
|
||||
**
|
||||
** Khronos $Revision: 23855 $ on $Date: 2013-11-02 22:54:48 -0700 (Sat, 02 Nov 2013) $
|
||||
** Khronos $Revision: 26290 $ on $Date: 2014-04-16 05:35:38 -0700 (Wed, 16 Apr 2014) $
|
||||
*/
|
||||
|
||||
#if defined(_WIN32) && !defined(APIENTRY) && !defined(__CYGWIN__) && !defined(__SCITECH_SNAP__)
|
||||
|
@ -53,7 +53,7 @@ extern "C" {
|
|||
#define GLAPI extern
|
||||
#endif
|
||||
|
||||
#define GL_GLEXT_VERSION 20131102
|
||||
#define GL_GLEXT_VERSION 20140416
|
||||
|
||||
/* Generated C header for:
|
||||
* API: gl
|
||||
|
@ -1485,7 +1485,7 @@ typedef void (APIENTRYP PFNGLFRAMEBUFFERTEXTUREPROC) (GLenum target, GLenum atta
|
|||
typedef void (APIENTRYP PFNGLTEXIMAGE2DMULTISAMPLEPROC) (GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height, GLboolean fixedsamplelocations);
|
||||
typedef void (APIENTRYP PFNGLTEXIMAGE3DMULTISAMPLEPROC) (GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth, GLboolean fixedsamplelocations);
|
||||
typedef void (APIENTRYP PFNGLGETMULTISAMPLEFVPROC) (GLenum pname, GLuint index, GLfloat *val);
|
||||
typedef void (APIENTRYP PFNGLSAMPLEMASKIPROC) (GLuint index, GLbitfield mask);
|
||||
typedef void (APIENTRYP PFNGLSAMPLEMASKIPROC) (GLuint maskNumber, GLbitfield mask);
|
||||
#ifdef GL_GLEXT_PROTOTYPES
|
||||
GLAPI void APIENTRY glDrawElementsBaseVertex (GLenum mode, GLsizei count, GLenum type, const void *indices, GLint basevertex);
|
||||
GLAPI void APIENTRY glDrawRangeElementsBaseVertex (GLenum mode, GLuint start, GLuint end, GLsizei count, GLenum type, const void *indices, GLint basevertex);
|
||||
|
@ -1505,7 +1505,7 @@ GLAPI void APIENTRY glFramebufferTexture (GLenum target, GLenum attachment, GLui
|
|||
GLAPI void APIENTRY glTexImage2DMultisample (GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height, GLboolean fixedsamplelocations);
|
||||
GLAPI void APIENTRY glTexImage3DMultisample (GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth, GLboolean fixedsamplelocations);
|
||||
GLAPI void APIENTRY glGetMultisamplefv (GLenum pname, GLuint index, GLfloat *val);
|
||||
GLAPI void APIENTRY glSampleMaski (GLuint index, GLbitfield mask);
|
||||
GLAPI void APIENTRY glSampleMaski (GLuint maskNumber, GLbitfield mask);
|
||||
#endif
|
||||
#endif /* GL_VERSION_3_2 */
|
||||
|
||||
|
@ -2144,6 +2144,10 @@ GLAPI void APIENTRY glGetDoublei_v (GLenum target, GLuint index, GLdouble *data)
|
|||
#define GL_MAX_GEOMETRY_IMAGE_UNIFORMS 0x90CD
|
||||
#define GL_MAX_FRAGMENT_IMAGE_UNIFORMS 0x90CE
|
||||
#define GL_MAX_COMBINED_IMAGE_UNIFORMS 0x90CF
|
||||
#define GL_COMPRESSED_RGBA_BPTC_UNORM 0x8E8C
|
||||
#define GL_COMPRESSED_SRGB_ALPHA_BPTC_UNORM 0x8E8D
|
||||
#define GL_COMPRESSED_RGB_BPTC_SIGNED_FLOAT 0x8E8E
|
||||
#define GL_COMPRESSED_RGB_BPTC_UNSIGNED_FLOAT 0x8E8F
|
||||
#define GL_TEXTURE_IMMUTABLE_FORMAT 0x912F
|
||||
typedef void (APIENTRYP PFNGLDRAWARRAYSINSTANCEDBASEINSTANCEPROC) (GLenum mode, GLint first, GLsizei count, GLsizei instancecount, GLuint baseinstance);
|
||||
typedef void (APIENTRYP PFNGLDRAWELEMENTSINSTANCEDBASEINSTANCEPROC) (GLenum mode, GLsizei count, GLenum type, const void *indices, GLsizei instancecount, GLuint baseinstance);
|
||||
|
@ -2432,6 +2436,7 @@ typedef void (APIENTRY *GLDEBUGPROC)(GLenum source,GLenum type,GLuint id,GLenum
|
|||
#define GL_VERTEX_BINDING_STRIDE 0x82D8
|
||||
#define GL_MAX_VERTEX_ATTRIB_RELATIVE_OFFSET 0x82D9
|
||||
#define GL_MAX_VERTEX_ATTRIB_BINDINGS 0x82DA
|
||||
#define GL_VERTEX_BINDING_BUFFER 0x8F4F
|
||||
#define GL_DISPLAY_LIST 0x82E7
|
||||
typedef void (APIENTRYP PFNGLCLEARBUFFERDATAPROC) (GLenum target, GLenum internalformat, GLenum format, GLenum type, const void *data);
|
||||
typedef void (APIENTRYP PFNGLCLEARBUFFERSUBDATAPROC) (GLenum target, GLenum internalformat, GLintptr offset, GLsizeiptr size, GLenum format, GLenum type, const void *data);
|
||||
|
@ -4799,6 +4804,109 @@ GLAPI void APIENTRY glBlendEquationSeparateIndexedAMD (GLuint buf, GLenum modeRG
|
|||
#endif
|
||||
#endif /* GL_AMD_draw_buffers_blend */
|
||||
|
||||
#ifndef GL_AMD_gpu_shader_int64
|
||||
#define GL_AMD_gpu_shader_int64 1
|
||||
typedef int64_t GLint64EXT;
|
||||
#define GL_INT64_NV 0x140E
|
||||
#define GL_UNSIGNED_INT64_NV 0x140F
|
||||
#define GL_INT8_NV 0x8FE0
|
||||
#define GL_INT8_VEC2_NV 0x8FE1
|
||||
#define GL_INT8_VEC3_NV 0x8FE2
|
||||
#define GL_INT8_VEC4_NV 0x8FE3
|
||||
#define GL_INT16_NV 0x8FE4
|
||||
#define GL_INT16_VEC2_NV 0x8FE5
|
||||
#define GL_INT16_VEC3_NV 0x8FE6
|
||||
#define GL_INT16_VEC4_NV 0x8FE7
|
||||
#define GL_INT64_VEC2_NV 0x8FE9
|
||||
#define GL_INT64_VEC3_NV 0x8FEA
|
||||
#define GL_INT64_VEC4_NV 0x8FEB
|
||||
#define GL_UNSIGNED_INT8_NV 0x8FEC
|
||||
#define GL_UNSIGNED_INT8_VEC2_NV 0x8FED
|
||||
#define GL_UNSIGNED_INT8_VEC3_NV 0x8FEE
|
||||
#define GL_UNSIGNED_INT8_VEC4_NV 0x8FEF
|
||||
#define GL_UNSIGNED_INT16_NV 0x8FF0
|
||||
#define GL_UNSIGNED_INT16_VEC2_NV 0x8FF1
|
||||
#define GL_UNSIGNED_INT16_VEC3_NV 0x8FF2
|
||||
#define GL_UNSIGNED_INT16_VEC4_NV 0x8FF3
|
||||
#define GL_UNSIGNED_INT64_VEC2_NV 0x8FF5
|
||||
#define GL_UNSIGNED_INT64_VEC3_NV 0x8FF6
|
||||
#define GL_UNSIGNED_INT64_VEC4_NV 0x8FF7
|
||||
#define GL_FLOAT16_NV 0x8FF8
|
||||
#define GL_FLOAT16_VEC2_NV 0x8FF9
|
||||
#define GL_FLOAT16_VEC3_NV 0x8FFA
|
||||
#define GL_FLOAT16_VEC4_NV 0x8FFB
|
||||
typedef void (APIENTRYP PFNGLUNIFORM1I64NVPROC) (GLint location, GLint64EXT x);
|
||||
typedef void (APIENTRYP PFNGLUNIFORM2I64NVPROC) (GLint location, GLint64EXT x, GLint64EXT y);
|
||||
typedef void (APIENTRYP PFNGLUNIFORM3I64NVPROC) (GLint location, GLint64EXT x, GLint64EXT y, GLint64EXT z);
|
||||
typedef void (APIENTRYP PFNGLUNIFORM4I64NVPROC) (GLint location, GLint64EXT x, GLint64EXT y, GLint64EXT z, GLint64EXT w);
|
||||
typedef void (APIENTRYP PFNGLUNIFORM1I64VNVPROC) (GLint location, GLsizei count, const GLint64EXT *value);
|
||||
typedef void (APIENTRYP PFNGLUNIFORM2I64VNVPROC) (GLint location, GLsizei count, const GLint64EXT *value);
|
||||
typedef void (APIENTRYP PFNGLUNIFORM3I64VNVPROC) (GLint location, GLsizei count, const GLint64EXT *value);
|
||||
typedef void (APIENTRYP PFNGLUNIFORM4I64VNVPROC) (GLint location, GLsizei count, const GLint64EXT *value);
|
||||
typedef void (APIENTRYP PFNGLUNIFORM1UI64NVPROC) (GLint location, GLuint64EXT x);
|
||||
typedef void (APIENTRYP PFNGLUNIFORM2UI64NVPROC) (GLint location, GLuint64EXT x, GLuint64EXT y);
|
||||
typedef void (APIENTRYP PFNGLUNIFORM3UI64NVPROC) (GLint location, GLuint64EXT x, GLuint64EXT y, GLuint64EXT z);
|
||||
typedef void (APIENTRYP PFNGLUNIFORM4UI64NVPROC) (GLint location, GLuint64EXT x, GLuint64EXT y, GLuint64EXT z, GLuint64EXT w);
|
||||
typedef void (APIENTRYP PFNGLUNIFORM1UI64VNVPROC) (GLint location, GLsizei count, const GLuint64EXT *value);
|
||||
typedef void (APIENTRYP PFNGLUNIFORM2UI64VNVPROC) (GLint location, GLsizei count, const GLuint64EXT *value);
|
||||
typedef void (APIENTRYP PFNGLUNIFORM3UI64VNVPROC) (GLint location, GLsizei count, const GLuint64EXT *value);
|
||||
typedef void (APIENTRYP PFNGLUNIFORM4UI64VNVPROC) (GLint location, GLsizei count, const GLuint64EXT *value);
|
||||
typedef void (APIENTRYP PFNGLGETUNIFORMI64VNVPROC) (GLuint program, GLint location, GLint64EXT *params);
|
||||
typedef void (APIENTRYP PFNGLGETUNIFORMUI64VNVPROC) (GLuint program, GLint location, GLuint64EXT *params);
|
||||
typedef void (APIENTRYP PFNGLPROGRAMUNIFORM1I64NVPROC) (GLuint program, GLint location, GLint64EXT x);
|
||||
typedef void (APIENTRYP PFNGLPROGRAMUNIFORM2I64NVPROC) (GLuint program, GLint location, GLint64EXT x, GLint64EXT y);
|
||||
typedef void (APIENTRYP PFNGLPROGRAMUNIFORM3I64NVPROC) (GLuint program, GLint location, GLint64EXT x, GLint64EXT y, GLint64EXT z);
|
||||
typedef void (APIENTRYP PFNGLPROGRAMUNIFORM4I64NVPROC) (GLuint program, GLint location, GLint64EXT x, GLint64EXT y, GLint64EXT z, GLint64EXT w);
|
||||
typedef void (APIENTRYP PFNGLPROGRAMUNIFORM1I64VNVPROC) (GLuint program, GLint location, GLsizei count, const GLint64EXT *value);
|
||||
typedef void (APIENTRYP PFNGLPROGRAMUNIFORM2I64VNVPROC) (GLuint program, GLint location, GLsizei count, const GLint64EXT *value);
|
||||
typedef void (APIENTRYP PFNGLPROGRAMUNIFORM3I64VNVPROC) (GLuint program, GLint location, GLsizei count, const GLint64EXT *value);
|
||||
typedef void (APIENTRYP PFNGLPROGRAMUNIFORM4I64VNVPROC) (GLuint program, GLint location, GLsizei count, const GLint64EXT *value);
|
||||
typedef void (APIENTRYP PFNGLPROGRAMUNIFORM1UI64NVPROC) (GLuint program, GLint location, GLuint64EXT x);
|
||||
typedef void (APIENTRYP PFNGLPROGRAMUNIFORM2UI64NVPROC) (GLuint program, GLint location, GLuint64EXT x, GLuint64EXT y);
|
||||
typedef void (APIENTRYP PFNGLPROGRAMUNIFORM3UI64NVPROC) (GLuint program, GLint location, GLuint64EXT x, GLuint64EXT y, GLuint64EXT z);
|
||||
typedef void (APIENTRYP PFNGLPROGRAMUNIFORM4UI64NVPROC) (GLuint program, GLint location, GLuint64EXT x, GLuint64EXT y, GLuint64EXT z, GLuint64EXT w);
|
||||
typedef void (APIENTRYP PFNGLPROGRAMUNIFORM1UI64VNVPROC) (GLuint program, GLint location, GLsizei count, const GLuint64EXT *value);
|
||||
typedef void (APIENTRYP PFNGLPROGRAMUNIFORM2UI64VNVPROC) (GLuint program, GLint location, GLsizei count, const GLuint64EXT *value);
|
||||
typedef void (APIENTRYP PFNGLPROGRAMUNIFORM3UI64VNVPROC) (GLuint program, GLint location, GLsizei count, const GLuint64EXT *value);
|
||||
typedef void (APIENTRYP PFNGLPROGRAMUNIFORM4UI64VNVPROC) (GLuint program, GLint location, GLsizei count, const GLuint64EXT *value);
|
||||
#ifdef GL_GLEXT_PROTOTYPES
|
||||
GLAPI void APIENTRY glUniform1i64NV (GLint location, GLint64EXT x);
|
||||
GLAPI void APIENTRY glUniform2i64NV (GLint location, GLint64EXT x, GLint64EXT y);
|
||||
GLAPI void APIENTRY glUniform3i64NV (GLint location, GLint64EXT x, GLint64EXT y, GLint64EXT z);
|
||||
GLAPI void APIENTRY glUniform4i64NV (GLint location, GLint64EXT x, GLint64EXT y, GLint64EXT z, GLint64EXT w);
|
||||
GLAPI void APIENTRY glUniform1i64vNV (GLint location, GLsizei count, const GLint64EXT *value);
|
||||
GLAPI void APIENTRY glUniform2i64vNV (GLint location, GLsizei count, const GLint64EXT *value);
|
||||
GLAPI void APIENTRY glUniform3i64vNV (GLint location, GLsizei count, const GLint64EXT *value);
|
||||
GLAPI void APIENTRY glUniform4i64vNV (GLint location, GLsizei count, const GLint64EXT *value);
|
||||
GLAPI void APIENTRY glUniform1ui64NV (GLint location, GLuint64EXT x);
|
||||
GLAPI void APIENTRY glUniform2ui64NV (GLint location, GLuint64EXT x, GLuint64EXT y);
|
||||
GLAPI void APIENTRY glUniform3ui64NV (GLint location, GLuint64EXT x, GLuint64EXT y, GLuint64EXT z);
|
||||
GLAPI void APIENTRY glUniform4ui64NV (GLint location, GLuint64EXT x, GLuint64EXT y, GLuint64EXT z, GLuint64EXT w);
|
||||
GLAPI void APIENTRY glUniform1ui64vNV (GLint location, GLsizei count, const GLuint64EXT *value);
|
||||
GLAPI void APIENTRY glUniform2ui64vNV (GLint location, GLsizei count, const GLuint64EXT *value);
|
||||
GLAPI void APIENTRY glUniform3ui64vNV (GLint location, GLsizei count, const GLuint64EXT *value);
|
||||
GLAPI void APIENTRY glUniform4ui64vNV (GLint location, GLsizei count, const GLuint64EXT *value);
|
||||
GLAPI void APIENTRY glGetUniformi64vNV (GLuint program, GLint location, GLint64EXT *params);
|
||||
GLAPI void APIENTRY glGetUniformui64vNV (GLuint program, GLint location, GLuint64EXT *params);
|
||||
GLAPI void APIENTRY glProgramUniform1i64NV (GLuint program, GLint location, GLint64EXT x);
|
||||
GLAPI void APIENTRY glProgramUniform2i64NV (GLuint program, GLint location, GLint64EXT x, GLint64EXT y);
|
||||
GLAPI void APIENTRY glProgramUniform3i64NV (GLuint program, GLint location, GLint64EXT x, GLint64EXT y, GLint64EXT z);
|
||||
GLAPI void APIENTRY glProgramUniform4i64NV (GLuint program, GLint location, GLint64EXT x, GLint64EXT y, GLint64EXT z, GLint64EXT w);
|
||||
GLAPI void APIENTRY glProgramUniform1i64vNV (GLuint program, GLint location, GLsizei count, const GLint64EXT *value);
|
||||
GLAPI void APIENTRY glProgramUniform2i64vNV (GLuint program, GLint location, GLsizei count, const GLint64EXT *value);
|
||||
GLAPI void APIENTRY glProgramUniform3i64vNV (GLuint program, GLint location, GLsizei count, const GLint64EXT *value);
|
||||
GLAPI void APIENTRY glProgramUniform4i64vNV (GLuint program, GLint location, GLsizei count, const GLint64EXT *value);
|
||||
GLAPI void APIENTRY glProgramUniform1ui64NV (GLuint program, GLint location, GLuint64EXT x);
|
||||
GLAPI void APIENTRY glProgramUniform2ui64NV (GLuint program, GLint location, GLuint64EXT x, GLuint64EXT y);
|
||||
GLAPI void APIENTRY glProgramUniform3ui64NV (GLuint program, GLint location, GLuint64EXT x, GLuint64EXT y, GLuint64EXT z);
|
||||
GLAPI void APIENTRY glProgramUniform4ui64NV (GLuint program, GLint location, GLuint64EXT x, GLuint64EXT y, GLuint64EXT z, GLuint64EXT w);
|
||||
GLAPI void APIENTRY glProgramUniform1ui64vNV (GLuint program, GLint location, GLsizei count, const GLuint64EXT *value);
|
||||
GLAPI void APIENTRY glProgramUniform2ui64vNV (GLuint program, GLint location, GLsizei count, const GLuint64EXT *value);
|
||||
GLAPI void APIENTRY glProgramUniform3ui64vNV (GLuint program, GLint location, GLsizei count, const GLuint64EXT *value);
|
||||
GLAPI void APIENTRY glProgramUniform4ui64vNV (GLuint program, GLint location, GLsizei count, const GLuint64EXT *value);
|
||||
#endif
|
||||
#endif /* GL_AMD_gpu_shader_int64 */
|
||||
|
||||
#ifndef GL_AMD_interleaved_elements
|
||||
#define GL_AMD_interleaved_elements 1
|
||||
#define GL_VERTEX_ELEMENT_SWIZZLE_AMD 0x91A4
|
||||
|
@ -4836,6 +4944,20 @@ GLAPI GLboolean APIENTRY glIsNameAMD (GLenum identifier, GLuint name);
|
|||
#endif
|
||||
#endif /* GL_AMD_name_gen_delete */
|
||||
|
||||
#ifndef GL_AMD_occlusion_query_event
|
||||
#define GL_AMD_occlusion_query_event 1
|
||||
#define GL_OCCLUSION_QUERY_EVENT_MASK_AMD 0x874F
|
||||
#define GL_QUERY_DEPTH_PASS_EVENT_BIT_AMD 0x00000001
|
||||
#define GL_QUERY_DEPTH_FAIL_EVENT_BIT_AMD 0x00000002
|
||||
#define GL_QUERY_STENCIL_FAIL_EVENT_BIT_AMD 0x00000004
|
||||
#define GL_QUERY_DEPTH_BOUNDS_FAIL_EVENT_BIT_AMD 0x00000008
|
||||
#define GL_QUERY_ALL_EVENT_BITS_AMD 0xFFFFFFFF
|
||||
typedef void (APIENTRYP PFNGLQUERYOBJECTPARAMETERUIAMDPROC) (GLenum target, GLuint id, GLenum pname, GLuint param);
|
||||
#ifdef GL_GLEXT_PROTOTYPES
|
||||
GLAPI void APIENTRY glQueryObjectParameteruiAMD (GLenum target, GLuint id, GLenum pname, GLuint param);
|
||||
#endif
|
||||
#endif /* GL_AMD_occlusion_query_event */
|
||||
|
||||
#ifndef GL_AMD_performance_monitor
|
||||
#define GL_AMD_performance_monitor 1
|
||||
#define GL_COUNTER_TYPE_AMD 0x8BC0
|
||||
|
@ -4947,6 +5069,11 @@ GLAPI void APIENTRY glStencilOpValueAMD (GLenum face, GLuint value);
|
|||
#define GL_AMD_transform_feedback3_lines_triangles 1
|
||||
#endif /* GL_AMD_transform_feedback3_lines_triangles */
|
||||
|
||||
#ifndef GL_AMD_transform_feedback4
|
||||
#define GL_AMD_transform_feedback4 1
|
||||
#define GL_STREAM_RASTERIZATION_AMD 0x91A0
|
||||
#endif /* GL_AMD_transform_feedback4 */
|
||||
|
||||
#ifndef GL_AMD_vertex_shader_layer
|
||||
#define GL_AMD_vertex_shader_layer 1
|
||||
#endif /* GL_AMD_vertex_shader_layer */
|
||||
|
@ -6163,7 +6290,7 @@ typedef void *(APIENTRYP PFNGLMAPNAMEDBUFFERRANGEEXTPROC) (GLuint buffer, GLintp
|
|||
typedef void (APIENTRYP PFNGLFLUSHMAPPEDNAMEDBUFFERRANGEEXTPROC) (GLuint buffer, GLintptr offset, GLsizeiptr length);
|
||||
typedef void (APIENTRYP PFNGLNAMEDBUFFERSTORAGEEXTPROC) (GLuint buffer, GLsizeiptr size, const void *data, GLbitfield flags);
|
||||
typedef void (APIENTRYP PFNGLCLEARNAMEDBUFFERDATAEXTPROC) (GLuint buffer, GLenum internalformat, GLenum format, GLenum type, const void *data);
|
||||
typedef void (APIENTRYP PFNGLCLEARNAMEDBUFFERSUBDATAEXTPROC) (GLuint buffer, GLenum internalformat, GLenum format, GLenum type, GLsizeiptr offset, GLsizeiptr size, const void *data);
|
||||
typedef void (APIENTRYP PFNGLCLEARNAMEDBUFFERSUBDATAEXTPROC) (GLuint buffer, GLenum internalformat, GLsizeiptr offset, GLsizeiptr size, GLenum format, GLenum type, const void *data);
|
||||
typedef void (APIENTRYP PFNGLNAMEDFRAMEBUFFERPARAMETERIEXTPROC) (GLuint framebuffer, GLenum pname, GLint param);
|
||||
typedef void (APIENTRYP PFNGLGETNAMEDFRAMEBUFFERPARAMETERIVEXTPROC) (GLuint framebuffer, GLenum pname, GLint *params);
|
||||
typedef void (APIENTRYP PFNGLPROGRAMUNIFORM1DEXTPROC) (GLuint program, GLint location, GLdouble x);
|
||||
|
@ -6419,7 +6546,7 @@ GLAPI void *APIENTRY glMapNamedBufferRangeEXT (GLuint buffer, GLintptr offset, G
|
|||
GLAPI void APIENTRY glFlushMappedNamedBufferRangeEXT (GLuint buffer, GLintptr offset, GLsizeiptr length);
|
||||
GLAPI void APIENTRY glNamedBufferStorageEXT (GLuint buffer, GLsizeiptr size, const void *data, GLbitfield flags);
|
||||
GLAPI void APIENTRY glClearNamedBufferDataEXT (GLuint buffer, GLenum internalformat, GLenum format, GLenum type, const void *data);
|
||||
GLAPI void APIENTRY glClearNamedBufferSubDataEXT (GLuint buffer, GLenum internalformat, GLenum format, GLenum type, GLsizeiptr offset, GLsizeiptr size, const void *data);
|
||||
GLAPI void APIENTRY glClearNamedBufferSubDataEXT (GLuint buffer, GLenum internalformat, GLsizeiptr offset, GLsizeiptr size, GLenum format, GLenum type, const void *data);
|
||||
GLAPI void APIENTRY glNamedFramebufferParameteriEXT (GLuint framebuffer, GLenum pname, GLint param);
|
||||
GLAPI void APIENTRY glGetNamedFramebufferParameterivEXT (GLuint framebuffer, GLenum pname, GLint *params);
|
||||
GLAPI void APIENTRY glProgramUniform1dEXT (GLuint program, GLint location, GLdouble x);
|
||||
|
@ -7062,6 +7189,10 @@ GLAPI GLuint APIENTRY glCreateShaderProgramEXT (GLenum type, const GLchar *strin
|
|||
#define GL_SEPARATE_SPECULAR_COLOR_EXT 0x81FA
|
||||
#endif /* GL_EXT_separate_specular_color */
|
||||
|
||||
#ifndef GL_EXT_shader_image_load_formatted
|
||||
#define GL_EXT_shader_image_load_formatted 1
|
||||
#endif /* GL_EXT_shader_image_load_formatted */
|
||||
|
||||
#ifndef GL_EXT_shader_image_load_store
|
||||
#define GL_EXT_shader_image_load_store 1
|
||||
#define GL_MAX_IMAGE_UNITS_EXT 0x8F38
|
||||
|
@ -8108,6 +8239,52 @@ GLAPI void APIENTRY glTexCoordPointervINTEL (GLint size, GLenum type, const void
|
|||
#endif
|
||||
#endif /* GL_INTEL_parallel_arrays */
|
||||
|
||||
#ifndef GL_INTEL_performance_query
|
||||
#define GL_INTEL_performance_query 1
|
||||
#define GL_PERFQUERY_SINGLE_CONTEXT_INTEL 0x00000000
|
||||
#define GL_PERFQUERY_GLOBAL_CONTEXT_INTEL 0x00000001
|
||||
#define GL_PERFQUERY_WAIT_INTEL 0x83FB
|
||||
#define GL_PERFQUERY_FLUSH_INTEL 0x83FA
|
||||
#define GL_PERFQUERY_DONOT_FLUSH_INTEL 0x83F9
|
||||
#define GL_PERFQUERY_COUNTER_EVENT_INTEL 0x94F0
|
||||
#define GL_PERFQUERY_COUNTER_DURATION_NORM_INTEL 0x94F1
|
||||
#define GL_PERFQUERY_COUNTER_DURATION_RAW_INTEL 0x94F2
|
||||
#define GL_PERFQUERY_COUNTER_THROUGHPUT_INTEL 0x94F3
|
||||
#define GL_PERFQUERY_COUNTER_RAW_INTEL 0x94F4
|
||||
#define GL_PERFQUERY_COUNTER_TIMESTAMP_INTEL 0x94F5
|
||||
#define GL_PERFQUERY_COUNTER_DATA_UINT32_INTEL 0x94F8
|
||||
#define GL_PERFQUERY_COUNTER_DATA_UINT64_INTEL 0x94F9
|
||||
#define GL_PERFQUERY_COUNTER_DATA_FLOAT_INTEL 0x94FA
|
||||
#define GL_PERFQUERY_COUNTER_DATA_DOUBLE_INTEL 0x94FB
|
||||
#define GL_PERFQUERY_COUNTER_DATA_BOOL32_INTEL 0x94FC
|
||||
#define GL_PERFQUERY_QUERY_NAME_LENGTH_MAX_INTEL 0x94FD
|
||||
#define GL_PERFQUERY_COUNTER_NAME_LENGTH_MAX_INTEL 0x94FE
|
||||
#define GL_PERFQUERY_COUNTER_DESC_LENGTH_MAX_INTEL 0x94FF
|
||||
#define GL_PERFQUERY_GPA_EXTENDED_COUNTERS_INTEL 0x9500
|
||||
typedef void (APIENTRYP PFNGLBEGINPERFQUERYINTELPROC) (GLuint queryHandle);
|
||||
typedef void (APIENTRYP PFNGLCREATEPERFQUERYINTELPROC) (GLuint queryId, GLuint *queryHandle);
|
||||
typedef void (APIENTRYP PFNGLDELETEPERFQUERYINTELPROC) (GLuint queryHandle);
|
||||
typedef void (APIENTRYP PFNGLENDPERFQUERYINTELPROC) (GLuint queryHandle);
|
||||
typedef void (APIENTRYP PFNGLGETFIRSTPERFQUERYIDINTELPROC) (GLuint *queryId);
|
||||
typedef void (APIENTRYP PFNGLGETNEXTPERFQUERYIDINTELPROC) (GLuint queryId, GLuint *nextQueryId);
|
||||
typedef void (APIENTRYP PFNGLGETPERFCOUNTERINFOINTELPROC) (GLuint queryId, GLuint counterId, GLuint counterNameLength, GLchar *counterName, GLuint counterDescLength, GLchar *counterDesc, GLuint *counterOffset, GLuint *counterDataSize, GLuint *counterTypeEnum, GLuint *counterDataTypeEnum, GLuint64 *rawCounterMaxValue);
|
||||
typedef void (APIENTRYP PFNGLGETPERFQUERYDATAINTELPROC) (GLuint queryHandle, GLuint flags, GLsizei dataSize, GLvoid *data, GLuint *bytesWritten);
|
||||
typedef void (APIENTRYP PFNGLGETPERFQUERYIDBYNAMEINTELPROC) (GLchar *queryName, GLuint *queryId);
|
||||
typedef void (APIENTRYP PFNGLGETPERFQUERYINFOINTELPROC) (GLuint queryId, GLuint queryNameLength, GLchar *queryName, GLuint *dataSize, GLuint *noCounters, GLuint *noInstances, GLuint *capsMask);
|
||||
#ifdef GL_GLEXT_PROTOTYPES
|
||||
GLAPI void APIENTRY glBeginPerfQueryINTEL (GLuint queryHandle);
|
||||
GLAPI void APIENTRY glCreatePerfQueryINTEL (GLuint queryId, GLuint *queryHandle);
|
||||
GLAPI void APIENTRY glDeletePerfQueryINTEL (GLuint queryHandle);
|
||||
GLAPI void APIENTRY glEndPerfQueryINTEL (GLuint queryHandle);
|
||||
GLAPI void APIENTRY glGetFirstPerfQueryIdINTEL (GLuint *queryId);
|
||||
GLAPI void APIENTRY glGetNextPerfQueryIdINTEL (GLuint queryId, GLuint *nextQueryId);
|
||||
GLAPI void APIENTRY glGetPerfCounterInfoINTEL (GLuint queryId, GLuint counterId, GLuint counterNameLength, GLchar *counterName, GLuint counterDescLength, GLchar *counterDesc, GLuint *counterOffset, GLuint *counterDataSize, GLuint *counterTypeEnum, GLuint *counterDataTypeEnum, GLuint64 *rawCounterMaxValue);
|
||||
GLAPI void APIENTRY glGetPerfQueryDataINTEL (GLuint queryHandle, GLuint flags, GLsizei dataSize, GLvoid *data, GLuint *bytesWritten);
|
||||
GLAPI void APIENTRY glGetPerfQueryIdByNameINTEL (GLchar *queryName, GLuint *queryId);
|
||||
GLAPI void APIENTRY glGetPerfQueryInfoINTEL (GLuint queryId, GLuint queryNameLength, GLchar *queryName, GLuint *dataSize, GLuint *noCounters, GLuint *noInstances, GLuint *capsMask);
|
||||
#endif
|
||||
#endif /* GL_INTEL_performance_query */
|
||||
|
||||
#ifndef GL_MESAX_texture_stack
|
||||
#define GL_MESAX_texture_stack 1
|
||||
#define GL_TEXTURE_1D_STACK_MESAX 0x8759
|
||||
|
@ -8202,6 +8379,15 @@ GLAPI void APIENTRY glEndConditionalRenderNVX (void);
|
|||
#endif
|
||||
#endif /* GL_NVX_conditional_render */
|
||||
|
||||
#ifndef GL_NVX_gpu_memory_info
|
||||
#define GL_NVX_gpu_memory_info 1
|
||||
#define GL_GPU_MEMORY_INFO_DEDICATED_VIDMEM_NVX 0x9047
|
||||
#define GL_GPU_MEMORY_INFO_TOTAL_AVAILABLE_MEMORY_NVX 0x9048
|
||||
#define GL_GPU_MEMORY_INFO_CURRENT_AVAILABLE_VIDMEM_NVX 0x9049
|
||||
#define GL_GPU_MEMORY_INFO_EVICTION_COUNT_NVX 0x904A
|
||||
#define GL_GPU_MEMORY_INFO_EVICTED_MEMORY_NVX 0x904B
|
||||
#endif /* GL_NVX_gpu_memory_info */
|
||||
|
||||
#ifndef GL_NV_bindless_multi_draw_indirect
|
||||
#define GL_NV_bindless_multi_draw_indirect 1
|
||||
typedef void (APIENTRYP PFNGLMULTIDRAWARRAYSINDIRECTBINDLESSNVPROC) (GLenum mode, const void *indirect, GLsizei drawCount, GLsizei stride, GLint vertexBufferCount);
|
||||
|
@ -8248,6 +8434,7 @@ GLAPI GLboolean APIENTRY glIsImageHandleResidentNV (GLuint64 handle);
|
|||
#define GL_NV_blend_equation_advanced 1
|
||||
#define GL_BLEND_OVERLAP_NV 0x9281
|
||||
#define GL_BLEND_PREMULTIPLIED_SRC_NV 0x9280
|
||||
#define GL_BLUE_NV 0x1905
|
||||
#define GL_COLORBURN_NV 0x929A
|
||||
#define GL_COLORDODGE_NV 0x9299
|
||||
#define GL_CONJOINT_NV 0x9284
|
||||
|
@ -8261,6 +8448,7 @@ GLAPI GLboolean APIENTRY glIsImageHandleResidentNV (GLuint64 handle);
|
|||
#define GL_DST_OUT_NV 0x928D
|
||||
#define GL_DST_OVER_NV 0x9289
|
||||
#define GL_EXCLUSION_NV 0x92A0
|
||||
#define GL_GREEN_NV 0x1904
|
||||
#define GL_HARDLIGHT_NV 0x929B
|
||||
#define GL_HARDMIX_NV 0x92A9
|
||||
#define GL_HSL_COLOR_NV 0x92AF
|
||||
|
@ -8282,6 +8470,7 @@ GLAPI GLboolean APIENTRY glIsImageHandleResidentNV (GLuint64 handle);
|
|||
#define GL_PLUS_CLAMPED_NV 0x92B1
|
||||
#define GL_PLUS_DARKER_NV 0x9292
|
||||
#define GL_PLUS_NV 0x9291
|
||||
#define GL_RED_NV 0x1903
|
||||
#define GL_SCREEN_NV 0x9295
|
||||
#define GL_SOFTLIGHT_NV 0x929C
|
||||
#define GL_SRC_ATOP_NV 0x928E
|
||||
|
@ -8291,6 +8480,7 @@ GLAPI GLboolean APIENTRY glIsImageHandleResidentNV (GLuint64 handle);
|
|||
#define GL_SRC_OVER_NV 0x9288
|
||||
#define GL_UNCORRELATED_NV 0x9282
|
||||
#define GL_VIVIDLIGHT_NV 0x92A6
|
||||
#define GL_XOR_NV 0x1506
|
||||
typedef void (APIENTRYP PFNGLBLENDPARAMETERINVPROC) (GLenum pname, GLint value);
|
||||
typedef void (APIENTRYP PFNGLBLENDBARRIERNVPROC) (void);
|
||||
#ifdef GL_GLEXT_PROTOTYPES
|
||||
|
@ -8640,103 +8830,6 @@ GLAPI void APIENTRY glGetProgramSubroutineParameteruivNV (GLenum target, GLuint
|
|||
|
||||
#ifndef GL_NV_gpu_shader5
|
||||
#define GL_NV_gpu_shader5 1
|
||||
typedef int64_t GLint64EXT;
|
||||
#define GL_INT64_NV 0x140E
|
||||
#define GL_UNSIGNED_INT64_NV 0x140F
|
||||
#define GL_INT8_NV 0x8FE0
|
||||
#define GL_INT8_VEC2_NV 0x8FE1
|
||||
#define GL_INT8_VEC3_NV 0x8FE2
|
||||
#define GL_INT8_VEC4_NV 0x8FE3
|
||||
#define GL_INT16_NV 0x8FE4
|
||||
#define GL_INT16_VEC2_NV 0x8FE5
|
||||
#define GL_INT16_VEC3_NV 0x8FE6
|
||||
#define GL_INT16_VEC4_NV 0x8FE7
|
||||
#define GL_INT64_VEC2_NV 0x8FE9
|
||||
#define GL_INT64_VEC3_NV 0x8FEA
|
||||
#define GL_INT64_VEC4_NV 0x8FEB
|
||||
#define GL_UNSIGNED_INT8_NV 0x8FEC
|
||||
#define GL_UNSIGNED_INT8_VEC2_NV 0x8FED
|
||||
#define GL_UNSIGNED_INT8_VEC3_NV 0x8FEE
|
||||
#define GL_UNSIGNED_INT8_VEC4_NV 0x8FEF
|
||||
#define GL_UNSIGNED_INT16_NV 0x8FF0
|
||||
#define GL_UNSIGNED_INT16_VEC2_NV 0x8FF1
|
||||
#define GL_UNSIGNED_INT16_VEC3_NV 0x8FF2
|
||||
#define GL_UNSIGNED_INT16_VEC4_NV 0x8FF3
|
||||
#define GL_UNSIGNED_INT64_VEC2_NV 0x8FF5
|
||||
#define GL_UNSIGNED_INT64_VEC3_NV 0x8FF6
|
||||
#define GL_UNSIGNED_INT64_VEC4_NV 0x8FF7
|
||||
#define GL_FLOAT16_NV 0x8FF8
|
||||
#define GL_FLOAT16_VEC2_NV 0x8FF9
|
||||
#define GL_FLOAT16_VEC3_NV 0x8FFA
|
||||
#define GL_FLOAT16_VEC4_NV 0x8FFB
|
||||
typedef void (APIENTRYP PFNGLUNIFORM1I64NVPROC) (GLint location, GLint64EXT x);
|
||||
typedef void (APIENTRYP PFNGLUNIFORM2I64NVPROC) (GLint location, GLint64EXT x, GLint64EXT y);
|
||||
typedef void (APIENTRYP PFNGLUNIFORM3I64NVPROC) (GLint location, GLint64EXT x, GLint64EXT y, GLint64EXT z);
|
||||
typedef void (APIENTRYP PFNGLUNIFORM4I64NVPROC) (GLint location, GLint64EXT x, GLint64EXT y, GLint64EXT z, GLint64EXT w);
|
||||
typedef void (APIENTRYP PFNGLUNIFORM1I64VNVPROC) (GLint location, GLsizei count, const GLint64EXT *value);
|
||||
typedef void (APIENTRYP PFNGLUNIFORM2I64VNVPROC) (GLint location, GLsizei count, const GLint64EXT *value);
|
||||
typedef void (APIENTRYP PFNGLUNIFORM3I64VNVPROC) (GLint location, GLsizei count, const GLint64EXT *value);
|
||||
typedef void (APIENTRYP PFNGLUNIFORM4I64VNVPROC) (GLint location, GLsizei count, const GLint64EXT *value);
|
||||
typedef void (APIENTRYP PFNGLUNIFORM1UI64NVPROC) (GLint location, GLuint64EXT x);
|
||||
typedef void (APIENTRYP PFNGLUNIFORM2UI64NVPROC) (GLint location, GLuint64EXT x, GLuint64EXT y);
|
||||
typedef void (APIENTRYP PFNGLUNIFORM3UI64NVPROC) (GLint location, GLuint64EXT x, GLuint64EXT y, GLuint64EXT z);
|
||||
typedef void (APIENTRYP PFNGLUNIFORM4UI64NVPROC) (GLint location, GLuint64EXT x, GLuint64EXT y, GLuint64EXT z, GLuint64EXT w);
|
||||
typedef void (APIENTRYP PFNGLUNIFORM1UI64VNVPROC) (GLint location, GLsizei count, const GLuint64EXT *value);
|
||||
typedef void (APIENTRYP PFNGLUNIFORM2UI64VNVPROC) (GLint location, GLsizei count, const GLuint64EXT *value);
|
||||
typedef void (APIENTRYP PFNGLUNIFORM3UI64VNVPROC) (GLint location, GLsizei count, const GLuint64EXT *value);
|
||||
typedef void (APIENTRYP PFNGLUNIFORM4UI64VNVPROC) (GLint location, GLsizei count, const GLuint64EXT *value);
|
||||
typedef void (APIENTRYP PFNGLGETUNIFORMI64VNVPROC) (GLuint program, GLint location, GLint64EXT *params);
|
||||
typedef void (APIENTRYP PFNGLPROGRAMUNIFORM1I64NVPROC) (GLuint program, GLint location, GLint64EXT x);
|
||||
typedef void (APIENTRYP PFNGLPROGRAMUNIFORM2I64NVPROC) (GLuint program, GLint location, GLint64EXT x, GLint64EXT y);
|
||||
typedef void (APIENTRYP PFNGLPROGRAMUNIFORM3I64NVPROC) (GLuint program, GLint location, GLint64EXT x, GLint64EXT y, GLint64EXT z);
|
||||
typedef void (APIENTRYP PFNGLPROGRAMUNIFORM4I64NVPROC) (GLuint program, GLint location, GLint64EXT x, GLint64EXT y, GLint64EXT z, GLint64EXT w);
|
||||
typedef void (APIENTRYP PFNGLPROGRAMUNIFORM1I64VNVPROC) (GLuint program, GLint location, GLsizei count, const GLint64EXT *value);
|
||||
typedef void (APIENTRYP PFNGLPROGRAMUNIFORM2I64VNVPROC) (GLuint program, GLint location, GLsizei count, const GLint64EXT *value);
|
||||
typedef void (APIENTRYP PFNGLPROGRAMUNIFORM3I64VNVPROC) (GLuint program, GLint location, GLsizei count, const GLint64EXT *value);
|
||||
typedef void (APIENTRYP PFNGLPROGRAMUNIFORM4I64VNVPROC) (GLuint program, GLint location, GLsizei count, const GLint64EXT *value);
|
||||
typedef void (APIENTRYP PFNGLPROGRAMUNIFORM1UI64NVPROC) (GLuint program, GLint location, GLuint64EXT x);
|
||||
typedef void (APIENTRYP PFNGLPROGRAMUNIFORM2UI64NVPROC) (GLuint program, GLint location, GLuint64EXT x, GLuint64EXT y);
|
||||
typedef void (APIENTRYP PFNGLPROGRAMUNIFORM3UI64NVPROC) (GLuint program, GLint location, GLuint64EXT x, GLuint64EXT y, GLuint64EXT z);
|
||||
typedef void (APIENTRYP PFNGLPROGRAMUNIFORM4UI64NVPROC) (GLuint program, GLint location, GLuint64EXT x, GLuint64EXT y, GLuint64EXT z, GLuint64EXT w);
|
||||
typedef void (APIENTRYP PFNGLPROGRAMUNIFORM1UI64VNVPROC) (GLuint program, GLint location, GLsizei count, const GLuint64EXT *value);
|
||||
typedef void (APIENTRYP PFNGLPROGRAMUNIFORM2UI64VNVPROC) (GLuint program, GLint location, GLsizei count, const GLuint64EXT *value);
|
||||
typedef void (APIENTRYP PFNGLPROGRAMUNIFORM3UI64VNVPROC) (GLuint program, GLint location, GLsizei count, const GLuint64EXT *value);
|
||||
typedef void (APIENTRYP PFNGLPROGRAMUNIFORM4UI64VNVPROC) (GLuint program, GLint location, GLsizei count, const GLuint64EXT *value);
|
||||
#ifdef GL_GLEXT_PROTOTYPES
|
||||
GLAPI void APIENTRY glUniform1i64NV (GLint location, GLint64EXT x);
|
||||
GLAPI void APIENTRY glUniform2i64NV (GLint location, GLint64EXT x, GLint64EXT y);
|
||||
GLAPI void APIENTRY glUniform3i64NV (GLint location, GLint64EXT x, GLint64EXT y, GLint64EXT z);
|
||||
GLAPI void APIENTRY glUniform4i64NV (GLint location, GLint64EXT x, GLint64EXT y, GLint64EXT z, GLint64EXT w);
|
||||
GLAPI void APIENTRY glUniform1i64vNV (GLint location, GLsizei count, const GLint64EXT *value);
|
||||
GLAPI void APIENTRY glUniform2i64vNV (GLint location, GLsizei count, const GLint64EXT *value);
|
||||
GLAPI void APIENTRY glUniform3i64vNV (GLint location, GLsizei count, const GLint64EXT *value);
|
||||
GLAPI void APIENTRY glUniform4i64vNV (GLint location, GLsizei count, const GLint64EXT *value);
|
||||
GLAPI void APIENTRY glUniform1ui64NV (GLint location, GLuint64EXT x);
|
||||
GLAPI void APIENTRY glUniform2ui64NV (GLint location, GLuint64EXT x, GLuint64EXT y);
|
||||
GLAPI void APIENTRY glUniform3ui64NV (GLint location, GLuint64EXT x, GLuint64EXT y, GLuint64EXT z);
|
||||
GLAPI void APIENTRY glUniform4ui64NV (GLint location, GLuint64EXT x, GLuint64EXT y, GLuint64EXT z, GLuint64EXT w);
|
||||
GLAPI void APIENTRY glUniform1ui64vNV (GLint location, GLsizei count, const GLuint64EXT *value);
|
||||
GLAPI void APIENTRY glUniform2ui64vNV (GLint location, GLsizei count, const GLuint64EXT *value);
|
||||
GLAPI void APIENTRY glUniform3ui64vNV (GLint location, GLsizei count, const GLuint64EXT *value);
|
||||
GLAPI void APIENTRY glUniform4ui64vNV (GLint location, GLsizei count, const GLuint64EXT *value);
|
||||
GLAPI void APIENTRY glGetUniformi64vNV (GLuint program, GLint location, GLint64EXT *params);
|
||||
GLAPI void APIENTRY glProgramUniform1i64NV (GLuint program, GLint location, GLint64EXT x);
|
||||
GLAPI void APIENTRY glProgramUniform2i64NV (GLuint program, GLint location, GLint64EXT x, GLint64EXT y);
|
||||
GLAPI void APIENTRY glProgramUniform3i64NV (GLuint program, GLint location, GLint64EXT x, GLint64EXT y, GLint64EXT z);
|
||||
GLAPI void APIENTRY glProgramUniform4i64NV (GLuint program, GLint location, GLint64EXT x, GLint64EXT y, GLint64EXT z, GLint64EXT w);
|
||||
GLAPI void APIENTRY glProgramUniform1i64vNV (GLuint program, GLint location, GLsizei count, const GLint64EXT *value);
|
||||
GLAPI void APIENTRY glProgramUniform2i64vNV (GLuint program, GLint location, GLsizei count, const GLint64EXT *value);
|
||||
GLAPI void APIENTRY glProgramUniform3i64vNV (GLuint program, GLint location, GLsizei count, const GLint64EXT *value);
|
||||
GLAPI void APIENTRY glProgramUniform4i64vNV (GLuint program, GLint location, GLsizei count, const GLint64EXT *value);
|
||||
GLAPI void APIENTRY glProgramUniform1ui64NV (GLuint program, GLint location, GLuint64EXT x);
|
||||
GLAPI void APIENTRY glProgramUniform2ui64NV (GLuint program, GLint location, GLuint64EXT x, GLuint64EXT y);
|
||||
GLAPI void APIENTRY glProgramUniform3ui64NV (GLuint program, GLint location, GLuint64EXT x, GLuint64EXT y, GLuint64EXT z);
|
||||
GLAPI void APIENTRY glProgramUniform4ui64NV (GLuint program, GLint location, GLuint64EXT x, GLuint64EXT y, GLuint64EXT z, GLuint64EXT w);
|
||||
GLAPI void APIENTRY glProgramUniform1ui64vNV (GLuint program, GLint location, GLsizei count, const GLuint64EXT *value);
|
||||
GLAPI void APIENTRY glProgramUniform2ui64vNV (GLuint program, GLint location, GLsizei count, const GLuint64EXT *value);
|
||||
GLAPI void APIENTRY glProgramUniform3ui64vNV (GLuint program, GLint location, GLsizei count, const GLuint64EXT *value);
|
||||
GLAPI void APIENTRY glProgramUniform4ui64vNV (GLuint program, GLint location, GLsizei count, const GLuint64EXT *value);
|
||||
#endif
|
||||
#endif /* GL_NV_gpu_shader5 */
|
||||
|
||||
#ifndef GL_NV_half_float
|
||||
|
@ -9320,7 +9413,6 @@ typedef void (APIENTRYP PFNGLGETNAMEDBUFFERPARAMETERUI64VNVPROC) (GLuint buffer,
|
|||
typedef void (APIENTRYP PFNGLGETINTEGERUI64VNVPROC) (GLenum value, GLuint64EXT *result);
|
||||
typedef void (APIENTRYP PFNGLUNIFORMUI64NVPROC) (GLint location, GLuint64EXT value);
|
||||
typedef void (APIENTRYP PFNGLUNIFORMUI64VNVPROC) (GLint location, GLsizei count, const GLuint64EXT *value);
|
||||
typedef void (APIENTRYP PFNGLGETUNIFORMUI64VNVPROC) (GLuint program, GLint location, GLuint64EXT *params);
|
||||
typedef void (APIENTRYP PFNGLPROGRAMUNIFORMUI64NVPROC) (GLuint program, GLint location, GLuint64EXT value);
|
||||
typedef void (APIENTRYP PFNGLPROGRAMUNIFORMUI64VNVPROC) (GLuint program, GLint location, GLsizei count, const GLuint64EXT *value);
|
||||
#ifdef GL_GLEXT_PROTOTYPES
|
||||
|
@ -9335,7 +9427,6 @@ GLAPI void APIENTRY glGetNamedBufferParameterui64vNV (GLuint buffer, GLenum pnam
|
|||
GLAPI void APIENTRY glGetIntegerui64vNV (GLenum value, GLuint64EXT *result);
|
||||
GLAPI void APIENTRY glUniformui64NV (GLint location, GLuint64EXT value);
|
||||
GLAPI void APIENTRY glUniformui64vNV (GLint location, GLsizei count, const GLuint64EXT *value);
|
||||
GLAPI void APIENTRY glGetUniformui64vNV (GLuint program, GLint location, GLuint64EXT *params);
|
||||
GLAPI void APIENTRY glProgramUniformui64NV (GLuint program, GLint location, GLuint64EXT value);
|
||||
GLAPI void APIENTRY glProgramUniformui64vNV (GLuint program, GLint location, GLsizei count, const GLuint64EXT *value);
|
||||
#endif
|
||||
|
@ -9350,6 +9441,17 @@ GLAPI void APIENTRY glProgramUniformui64vNV (GLuint program, GLint location, GLs
|
|||
#define GL_NV_shader_storage_buffer_object 1
|
||||
#endif /* GL_NV_shader_storage_buffer_object */
|
||||
|
||||
#ifndef GL_NV_shader_thread_group
|
||||
#define GL_NV_shader_thread_group 1
|
||||
#define GL_WARP_SIZE_NV 0x9339
|
||||
#define GL_WARPS_PER_SM_NV 0x933A
|
||||
#define GL_SM_COUNT_NV 0x933B
|
||||
#endif /* GL_NV_shader_thread_group */
|
||||
|
||||
#ifndef GL_NV_shader_thread_shuffle
|
||||
#define GL_NV_shader_thread_shuffle 1
|
||||
#endif /* GL_NV_shader_thread_shuffle */
|
||||
|
||||
#ifndef GL_NV_tessellation_program5
|
||||
#define GL_NV_tessellation_program5 1
|
||||
#define GL_MAX_PROGRAM_PATCH_ATTRIBS_NV 0x86D8
|
||||
|
@ -9625,7 +9727,7 @@ typedef void (APIENTRYP PFNGLVDPAUINITNVPROC) (const void *vdpDevice, const void
|
|||
typedef void (APIENTRYP PFNGLVDPAUFININVPROC) (void);
|
||||
typedef GLvdpauSurfaceNV (APIENTRYP PFNGLVDPAUREGISTERVIDEOSURFACENVPROC) (const void *vdpSurface, GLenum target, GLsizei numTextureNames, const GLuint *textureNames);
|
||||
typedef GLvdpauSurfaceNV (APIENTRYP PFNGLVDPAUREGISTEROUTPUTSURFACENVPROC) (const void *vdpSurface, GLenum target, GLsizei numTextureNames, const GLuint *textureNames);
|
||||
typedef void (APIENTRYP PFNGLVDPAUISSURFACENVPROC) (GLvdpauSurfaceNV surface);
|
||||
typedef GLboolean (APIENTRYP PFNGLVDPAUISSURFACENVPROC) (GLvdpauSurfaceNV surface);
|
||||
typedef void (APIENTRYP PFNGLVDPAUUNREGISTERSURFACENVPROC) (GLvdpauSurfaceNV surface);
|
||||
typedef void (APIENTRYP PFNGLVDPAUGETSURFACEIVNVPROC) (GLvdpauSurfaceNV surface, GLenum pname, GLsizei bufSize, GLsizei *length, GLint *values);
|
||||
typedef void (APIENTRYP PFNGLVDPAUSURFACEACCESSNVPROC) (GLvdpauSurfaceNV surface, GLenum access);
|
||||
|
@ -9636,7 +9738,7 @@ GLAPI void APIENTRY glVDPAUInitNV (const void *vdpDevice, const void *getProcAdd
|
|||
GLAPI void APIENTRY glVDPAUFiniNV (void);
|
||||
GLAPI GLvdpauSurfaceNV APIENTRY glVDPAURegisterVideoSurfaceNV (const void *vdpSurface, GLenum target, GLsizei numTextureNames, const GLuint *textureNames);
|
||||
GLAPI GLvdpauSurfaceNV APIENTRY glVDPAURegisterOutputSurfaceNV (const void *vdpSurface, GLenum target, GLsizei numTextureNames, const GLuint *textureNames);
|
||||
GLAPI void APIENTRY glVDPAUIsSurfaceNV (GLvdpauSurfaceNV surface);
|
||||
GLAPI GLboolean APIENTRY glVDPAUIsSurfaceNV (GLvdpauSurfaceNV surface);
|
||||
GLAPI void APIENTRY glVDPAUUnregisterSurfaceNV (GLvdpauSurfaceNV surface);
|
||||
GLAPI void APIENTRY glVDPAUGetSurfaceivNV (GLvdpauSurfaceNV surface, GLenum pname, GLsizei bufSize, GLsizei *length, GLint *values);
|
||||
GLAPI void APIENTRY glVDPAUSurfaceAccessNV (GLvdpauSurfaceNV surface, GLenum access);
|
||||
|
|
|
@ -6,7 +6,7 @@ extern "C" {
|
|||
#endif
|
||||
|
||||
/*
|
||||
** Copyright (c) 2013 The Khronos Group Inc.
|
||||
** Copyright (c) 2013-2014 The Khronos Group Inc.
|
||||
**
|
||||
** Permission is hereby granted, free of charge, to any person obtaining a
|
||||
** copy of this software and/or associated documentation files (the
|
||||
|
@ -33,10 +33,10 @@ extern "C" {
|
|||
** used to make the header, and the header can be found at
|
||||
** http://www.opengl.org/registry/
|
||||
**
|
||||
** Khronos $Revision: 23730 $ on $Date: 2013-10-28 15:16:34 -0700 (Mon, 28 Oct 2013) $
|
||||
** Khronos $Revision: 26290 $ on $Date: 2014-04-16 05:35:38 -0700 (Wed, 16 Apr 2014) $
|
||||
*/
|
||||
|
||||
#define GLX_GLXEXT_VERSION 20131028
|
||||
#define GLX_GLXEXT_VERSION 20140416
|
||||
|
||||
/* Generated C header for:
|
||||
* API: glx
|
||||
|
@ -49,6 +49,7 @@ extern "C" {
|
|||
|
||||
#ifndef GLX_VERSION_1_3
|
||||
#define GLX_VERSION_1_3 1
|
||||
typedef XID GLXContextID;
|
||||
typedef struct __GLXFBConfigRec *GLXFBConfig;
|
||||
typedef XID GLXWindow;
|
||||
typedef XID GLXPbuffer;
|
||||
|
@ -272,7 +273,6 @@ __GLXextFuncPtr glXGetProcAddressARB (const GLubyte *procName);
|
|||
|
||||
#ifndef GLX_EXT_import_context
|
||||
#define GLX_EXT_import_context 1
|
||||
typedef XID GLXContextID;
|
||||
#define GLX_SHARE_CONTEXT_EXT 0x800A
|
||||
#define GLX_VISUAL_ID_EXT 0x800B
|
||||
#define GLX_SCREEN_EXT 0x800C
|
||||
|
@ -290,6 +290,23 @@ void glXFreeContextEXT (Display *dpy, GLXContext context);
|
|||
#endif
|
||||
#endif /* GLX_EXT_import_context */
|
||||
|
||||
#ifndef GLX_EXT_stereo_tree
|
||||
#define GLX_EXT_stereo_tree 1
|
||||
typedef struct {
|
||||
int type;
|
||||
unsigned long serial;
|
||||
Bool send_event;
|
||||
Display *display;
|
||||
int extension;
|
||||
int evtype;
|
||||
GLXDrawable window;
|
||||
Bool stereo_tree;
|
||||
} GLXStereoNotifyEventEXT;
|
||||
#define GLX_STEREO_TREE_EXT 0x20F5
|
||||
#define GLX_STEREO_NOTIFY_MASK_EXT 0x00000001
|
||||
#define GLX_STEREO_NOTIFY_EXT 0x00000000
|
||||
#endif /* GLX_EXT_stereo_tree */
|
||||
|
||||
#ifndef GLX_EXT_swap_control
|
||||
#define GLX_EXT_swap_control 1
|
||||
#define GLX_SWAP_INTERVAL_EXT 0x20F1
|
||||
|
@ -407,6 +424,32 @@ GLXPixmap glXCreateGLXPixmapMESA (Display *dpy, XVisualInfo *visual, Pixmap pixm
|
|||
#endif
|
||||
#endif /* GLX_MESA_pixmap_colormap */
|
||||
|
||||
#ifndef GLX_MESA_query_renderer
|
||||
#define GLX_MESA_query_renderer 1
|
||||
#define GLX_RENDERER_VENDOR_ID_MESA 0x8183
|
||||
#define GLX_RENDERER_DEVICE_ID_MESA 0x8184
|
||||
#define GLX_RENDERER_VERSION_MESA 0x8185
|
||||
#define GLX_RENDERER_ACCELERATED_MESA 0x8186
|
||||
#define GLX_RENDERER_VIDEO_MEMORY_MESA 0x8187
|
||||
#define GLX_RENDERER_UNIFIED_MEMORY_ARCHITECTURE_MESA 0x8188
|
||||
#define GLX_RENDERER_PREFERRED_PROFILE_MESA 0x8189
|
||||
#define GLX_RENDERER_OPENGL_CORE_PROFILE_VERSION_MESA 0x818A
|
||||
#define GLX_RENDERER_OPENGL_COMPATIBILITY_PROFILE_VERSION_MESA 0x818B
|
||||
#define GLX_RENDERER_OPENGL_ES_PROFILE_VERSION_MESA 0x818C
|
||||
#define GLX_RENDERER_OPENGL_ES2_PROFILE_VERSION_MESA 0x818D
|
||||
#define GLX_RENDERER_ID_MESA 0x818E
|
||||
typedef Bool ( *PFNGLXQUERYCURRENTRENDERERINTEGERMESAPROC) (int attribute, unsigned int *value);
|
||||
typedef const char *( *PFNGLXQUERYCURRENTRENDERERSTRINGMESAPROC) (int attribute);
|
||||
typedef Bool ( *PFNGLXQUERYRENDERERINTEGERMESAPROC) (Display *dpy, int screen, int renderer, int attribute, unsigned int *value);
|
||||
typedef const char *( *PFNGLXQUERYRENDERERSTRINGMESAPROC) (Display *dpy, int screen, int renderer, int attribute);
|
||||
#ifdef GLX_GLXEXT_PROTOTYPES
|
||||
Bool glXQueryCurrentRendererIntegerMESA (int attribute, unsigned int *value);
|
||||
const char *glXQueryCurrentRendererStringMESA (int attribute);
|
||||
Bool glXQueryRendererIntegerMESA (Display *dpy, int screen, int renderer, int attribute, unsigned int *value);
|
||||
const char *glXQueryRendererStringMESA (Display *dpy, int screen, int renderer, int attribute);
|
||||
#endif
|
||||
#endif /* GLX_MESA_query_renderer */
|
||||
|
||||
#ifndef GLX_MESA_release_buffers
|
||||
#define GLX_MESA_release_buffers 1
|
||||
typedef Bool ( *PFNGLXRELEASEBUFFERSMESAPROC) (Display *dpy, GLXDrawable drawable);
|
||||
|
@ -433,6 +476,14 @@ void glXCopyImageSubDataNV (Display *dpy, GLXContext srcCtx, GLuint srcName, GLe
|
|||
#endif
|
||||
#endif /* GLX_NV_copy_image */
|
||||
|
||||
#ifndef GLX_NV_delay_before_swap
|
||||
#define GLX_NV_delay_before_swap 1
|
||||
typedef Bool ( *PFNGLXDELAYBEFORESWAPNVPROC) (Display *dpy, GLXDrawable drawable, GLfloat seconds);
|
||||
#ifdef GLX_GLXEXT_PROTOTYPES
|
||||
Bool glXDelayBeforeSwapNV (Display *dpy, GLXDrawable drawable, GLfloat seconds);
|
||||
#endif
|
||||
#endif /* GLX_NV_delay_before_swap */
|
||||
|
||||
#ifndef GLX_NV_float_buffer
|
||||
#define GLX_NV_float_buffer 1
|
||||
#define GLX_FLOAT_COMPONENTS_NV 0x20B0
|
||||
|
|
|
@ -6,7 +6,7 @@ extern "C" {
|
|||
#endif
|
||||
|
||||
/*
|
||||
** Copyright (c) 2013 The Khronos Group Inc.
|
||||
** Copyright (c) 2013-2014 The Khronos Group Inc.
|
||||
**
|
||||
** Permission is hereby granted, free of charge, to any person obtaining a
|
||||
** copy of this software and/or associated documentation files (the
|
||||
|
@ -33,7 +33,7 @@ extern "C" {
|
|||
** used to make the header, and the header can be found at
|
||||
** http://www.opengl.org/registry/
|
||||
**
|
||||
** Khronos $Revision: 23730 $ on $Date: 2013-10-28 15:16:34 -0700 (Mon, 28 Oct 2013) $
|
||||
** Khronos $Revision: 26290 $ on $Date: 2014-04-16 05:35:38 -0700 (Wed, 16 Apr 2014) $
|
||||
*/
|
||||
|
||||
#if defined(_WIN32) && !defined(APIENTRY) && !defined(__CYGWIN__) && !defined(__SCITECH_SNAP__)
|
||||
|
@ -41,7 +41,7 @@ extern "C" {
|
|||
#include <windows.h>
|
||||
#endif
|
||||
|
||||
#define WGL_WGLEXT_VERSION 20131028
|
||||
#define WGL_WGLEXT_VERSION 20140416
|
||||
|
||||
/* Generated C header for:
|
||||
* API: wgl
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
#ifndef __glext_h_
|
||||
#define __glext_h_
|
||||
|
||||
/* $Revision: 19260 $ on $Date:: 2012-09-20 11:30:36 -0700 #$ */
|
||||
/* $Revision: 20798 $ on $Date:: 2013-03-07 01:19:34 -0800 #$ */
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
|
@ -1055,10 +1055,10 @@ typedef void (GL_APIENTRYP PFNGLFRAMEBUFFERTEXTURE2DMULTISAMPLEEXTPROC) (GLenum
|
|||
#ifndef GL_EXT_multi_draw_arrays
|
||||
#define GL_EXT_multi_draw_arrays 1
|
||||
#ifdef GL_GLEXT_PROTOTYPES
|
||||
GL_API void GL_APIENTRY glMultiDrawArraysEXT (GLenum, GLint *, GLsizei *, GLsizei);
|
||||
GL_API void GL_APIENTRY glMultiDrawArraysEXT (GLenum, const GLint *, const GLsizei *, GLsizei);
|
||||
GL_API void GL_APIENTRY glMultiDrawElementsEXT (GLenum, const GLsizei *, GLenum, const GLvoid* *, GLsizei);
|
||||
#endif /* GL_GLEXT_PROTOTYPES */
|
||||
typedef void (GL_APIENTRYP PFNGLMULTIDRAWARRAYSEXTPROC) (GLenum mode, GLint *first, GLsizei *count, GLsizei primcount);
|
||||
typedef void (GL_APIENTRYP PFNGLMULTIDRAWARRAYSEXTPROC) (GLenum mode, const GLint *first, const GLsizei *count, GLsizei primcount);
|
||||
typedef void (GL_APIENTRYP PFNGLMULTIDRAWELEMENTSEXTPROC) (GLenum mode, const GLsizei *count, GLenum type, const GLvoid* *indices, GLsizei primcount);
|
||||
#endif
|
||||
|
||||
|
|
|
@ -26,7 +26,7 @@
|
|||
|
||||
/* Khronos platform-specific types and definitions.
|
||||
*
|
||||
* $Revision: 1.5 $ on $Date: 2010/06/03 16:51:55 $
|
||||
* $Revision: 23298 $ on $Date: 2013-09-30 17:07:13 -0700 (Mon, 30 Sep 2013) $
|
||||
*
|
||||
* Adopters may modify this file to suit their platform. Adopters are
|
||||
* encouraged to submit platform specific modifications to the Khronos
|
||||
|
@ -97,19 +97,10 @@
|
|||
*-------------------------------------------------------------------------
|
||||
* This precedes the return type of the function in the function prototype.
|
||||
*/
|
||||
|
||||
#if (defined(_WIN32) || defined(__VC32__)) && !defined(__SCITECH_SNAP__) && !defined(__WINSCW__)
|
||||
# if defined (_DLL_EXPORTS)
|
||||
# define KHRONOS_APICALL __declspec(dllexport)
|
||||
# else
|
||||
# define KHRONOS_APICALL __declspec(dllimport)
|
||||
# endif
|
||||
#if defined(_WIN32) && !defined(__SCITECH_SNAP__)
|
||||
# define KHRONOS_APICALL __declspec(dllimport)
|
||||
#elif defined (__SYMBIAN32__)
|
||||
# if defined (__GCC32__)
|
||||
# define KHRONOS_APICALL __declspec(dllexport)
|
||||
# else
|
||||
# define KHRONOS_APICALL IMPORT_C
|
||||
# endif
|
||||
# define KHRONOS_APICALL IMPORT_C
|
||||
#else
|
||||
# define KHRONOS_APICALL
|
||||
#endif
|
||||
|
@ -120,7 +111,7 @@
|
|||
* This follows the return type of the function and precedes the function
|
||||
* name in the function prototype.
|
||||
*/
|
||||
#if defined(_WIN32) && !defined(_WIN32_WCE) && !defined(__SCITECH_SNAP__) && !defined(__WINSCW__)
|
||||
#if defined(_WIN32) && !defined(_WIN32_WCE) && !defined(__SCITECH_SNAP__)
|
||||
/* Win32 but not WinCE */
|
||||
# define KHRONOS_APIENTRY __stdcall
|
||||
#else
|
||||
|
@ -141,18 +132,7 @@
|
|||
/*-------------------------------------------------------------------------
|
||||
* basic type definitions
|
||||
*-----------------------------------------------------------------------*/
|
||||
#if defined(__SYMBIAN32__)
|
||||
|
||||
#include <e32def.h>
|
||||
|
||||
typedef TInt32 khronos_int32_t;
|
||||
typedef TUint32 khronos_uint32_t;
|
||||
typedef TInt64 khronos_int64_t;
|
||||
typedef TUint64 khronos_uint64_t;
|
||||
#define KHRONOS_SUPPORT_INT64 1
|
||||
#define KHRONOS_SUPPORT_FLOAT 1
|
||||
|
||||
#elif (defined(__STDC_VERSION__) && __STDC_VERSION__ >= 199901L) || defined(__GNUC__) || defined(__SCO__) || defined(__USLC__)
|
||||
#if (defined(__STDC_VERSION__) && __STDC_VERSION__ >= 199901L) || defined(__GNUC__) || defined(__SCO__) || defined(__USLC__)
|
||||
|
||||
|
||||
/*
|
||||
|
@ -208,19 +188,6 @@ typedef unsigned long long int khronos_uint64_t;
|
|||
#define KHRONOS_SUPPORT_INT64 1
|
||||
#define KHRONOS_SUPPORT_FLOAT 1
|
||||
|
||||
#elif defined(_UITRON_)
|
||||
|
||||
/*
|
||||
* uITRON
|
||||
*/
|
||||
typedef signed int khronos_int32_t;
|
||||
typedef unsigned int khronos_uint32_t;
|
||||
typedef long long khronos_int64_t;
|
||||
typedef unsigned long long khronos_uint64_t;
|
||||
#define KHRONOS_SUPPORT_INT64 1
|
||||
#define KHRONOS_SUPPORT_FLOAT 1
|
||||
|
||||
|
||||
#elif 0
|
||||
|
||||
/*
|
||||
|
@ -254,10 +221,23 @@ typedef signed char khronos_int8_t;
|
|||
typedef unsigned char khronos_uint8_t;
|
||||
typedef signed short int khronos_int16_t;
|
||||
typedef unsigned short int khronos_uint16_t;
|
||||
|
||||
/*
|
||||
* Types that differ between LLP64 and LP64 architectures - in LLP64,
|
||||
* pointers are 64 bits, but 'long' is still 32 bits. Win64 appears
|
||||
* to be the only LLP64 architecture in current use.
|
||||
*/
|
||||
#ifdef _WIN64
|
||||
typedef signed long long int khronos_intptr_t;
|
||||
typedef unsigned long long int khronos_uintptr_t;
|
||||
typedef signed long long int khronos_ssize_t;
|
||||
typedef unsigned long long int khronos_usize_t;
|
||||
#else
|
||||
typedef signed long int khronos_intptr_t;
|
||||
typedef unsigned long int khronos_uintptr_t;
|
||||
typedef signed long int khronos_ssize_t;
|
||||
typedef unsigned long int khronos_usize_t;
|
||||
#endif
|
||||
|
||||
#if KHRONOS_SUPPORT_FLOAT
|
||||
/*
|
||||
|
|
|
@ -108,7 +108,10 @@ IDriver* createGlDriverInstance ()
|
|||
#else
|
||||
|
||||
#ifdef NL_OS_WINDOWS
|
||||
|
||||
#ifdef NL_COMP_MINGW
|
||||
extern "C"
|
||||
{
|
||||
#endif
|
||||
__declspec(dllexport) IDriver* NL3D_createIDriverInstance ()
|
||||
{
|
||||
return new CDriverGL;
|
||||
|
@ -118,7 +121,9 @@ __declspec(dllexport) uint32 NL3D_interfaceVersion ()
|
|||
{
|
||||
return IDriver::InterfaceVersion;
|
||||
}
|
||||
|
||||
#ifdef NL_COMP_MINGW
|
||||
}
|
||||
#endif
|
||||
#elif defined (NL_OS_UNIX)
|
||||
|
||||
extern "C"
|
||||
|
@ -478,6 +483,11 @@ bool CDriverGL::setupDisplay()
|
|||
glLightModeli((GLenum)GL_LIGHT_MODEL_COLOR_CONTROL_EXT, GL_SEPARATE_SPECULAR_COLOR_EXT);
|
||||
#endif
|
||||
}
|
||||
|
||||
if (_Extensions.ARBFragmentShader)
|
||||
{
|
||||
_ForceNativeFragmentPrograms = false;
|
||||
}
|
||||
|
||||
_VertexProgramEnabled= false;
|
||||
_PixelProgramEnabled= false;
|
||||
|
@ -2195,7 +2205,7 @@ void CDriverGL::setSwapVBLInterval(uint interval)
|
|||
#elif defined(NL_OS_UNIX)
|
||||
if (_win && _Extensions.GLXEXTSwapControl)
|
||||
{
|
||||
res = nglXSwapIntervalEXT(_dpy, _win, interval) == 0;
|
||||
nglXSwapIntervalEXT(_dpy, _win, interval);
|
||||
}
|
||||
else if (_Extensions.GLXSGISwapControl)
|
||||
{
|
||||
|
@ -2513,9 +2523,7 @@ void CDriverGL::retrieveATIDriverVersion()
|
|||
RegCloseKey(parentKey);
|
||||
}
|
||||
#elif defined(NL_OS_MAC)
|
||||
# warning "OpenGL Driver: Missing Mac Implementation for ATI version retrieval"
|
||||
nlwarning("OpenGL Driver: Missing Mac Implementation for ATI version retrieval");
|
||||
|
||||
// TODO: Missing Mac Implementation for ATI version retrieval
|
||||
#elif defined (NL_OS_UNIX)
|
||||
// TODO for Linux: implement retrieveATIDriverVersion... assuming versions under linux are probably different
|
||||
#endif
|
||||
|
@ -2654,7 +2662,7 @@ void CDriverGL::checkTextureOn() const
|
|||
bool CDriverGL::supportOcclusionQuery() const
|
||||
{
|
||||
H_AUTO_OGL(CDriverGL_supportOcclusionQuery)
|
||||
return _Extensions.NVOcclusionQuery;
|
||||
return _Extensions.NVOcclusionQuery || _Extensions.ARBOcclusionQuery;
|
||||
}
|
||||
|
||||
// ***************************************************************************
|
||||
|
@ -2685,11 +2693,14 @@ bool CDriverGL::supportFrameBufferObject() const
|
|||
IOcclusionQuery *CDriverGL::createOcclusionQuery()
|
||||
{
|
||||
H_AUTO_OGL(CDriverGL_createOcclusionQuery)
|
||||
nlassert(_Extensions.NVOcclusionQuery);
|
||||
nlassert(_Extensions.NVOcclusionQuery || _Extensions.ARBOcclusionQuery);
|
||||
|
||||
#ifndef USE_OPENGLES
|
||||
GLuint id;
|
||||
nglGenOcclusionQueriesNV(1, &id);
|
||||
if (_Extensions.NVOcclusionQuery)
|
||||
nglGenOcclusionQueriesNV(1, &id);
|
||||
else
|
||||
nglGenQueriesARB(1, &id);
|
||||
if (id == 0) return NULL;
|
||||
COcclusionQueryGL *oqgl = new COcclusionQueryGL;
|
||||
oqgl->Driver = this;
|
||||
|
@ -2716,7 +2727,10 @@ void CDriverGL::deleteOcclusionQuery(IOcclusionQuery *oq)
|
|||
oqgl->Driver = NULL;
|
||||
nlassert(oqgl->ID != 0);
|
||||
GLuint id = oqgl->ID;
|
||||
nglDeleteOcclusionQueriesNV(1, &id);
|
||||
if (_Extensions.NVOcclusionQuery)
|
||||
nglDeleteOcclusionQueriesNV(1, &id);
|
||||
else
|
||||
nglDeleteQueriesARB(1, &id);
|
||||
_OcclusionQueryList.erase(oqgl->Iterator);
|
||||
if (oqgl == _CurrentOcclusionQuery)
|
||||
{
|
||||
|
@ -2735,7 +2749,10 @@ void COcclusionQueryGL::begin()
|
|||
nlassert(Driver);
|
||||
nlassert(Driver->_CurrentOcclusionQuery == NULL); // only one query at a time
|
||||
nlassert(ID);
|
||||
nglBeginOcclusionQueryNV(ID);
|
||||
if (Driver->_Extensions.NVOcclusionQuery)
|
||||
nglBeginOcclusionQueryNV(ID);
|
||||
else
|
||||
nglBeginQueryARB(GL_SAMPLES_PASSED, ID);
|
||||
Driver->_CurrentOcclusionQuery = this;
|
||||
OcclusionType = NotAvailable;
|
||||
VisibleCount = 0;
|
||||
|
@ -2751,7 +2768,10 @@ void COcclusionQueryGL::end()
|
|||
nlassert(Driver);
|
||||
nlassert(Driver->_CurrentOcclusionQuery == this); // only one query at a time
|
||||
nlassert(ID);
|
||||
nglEndOcclusionQueryNV();
|
||||
if (Driver->_Extensions.NVOcclusionQuery)
|
||||
nglEndOcclusionQueryNV();
|
||||
else
|
||||
nglEndQueryARB(GL_SAMPLES_PASSED);
|
||||
Driver->_CurrentOcclusionQuery = NULL;
|
||||
#endif
|
||||
}
|
||||
|
@ -2767,15 +2787,25 @@ IOcclusionQuery::TOcclusionType COcclusionQueryGL::getOcclusionType()
|
|||
nlassert(Driver->_CurrentOcclusionQuery != this); // can't query result between a begin/end pair!
|
||||
if (OcclusionType == NotAvailable)
|
||||
{
|
||||
GLuint result;
|
||||
// retrieve result
|
||||
nglGetOcclusionQueryuivNV(ID, GL_PIXEL_COUNT_AVAILABLE_NV, &result);
|
||||
if (result != GL_FALSE)
|
||||
if (Driver->_Extensions.NVOcclusionQuery)
|
||||
{
|
||||
nglGetOcclusionQueryuivNV(ID, GL_PIXEL_COUNT_NV, &result);
|
||||
GLuint result;
|
||||
// retrieve result
|
||||
nglGetOcclusionQueryuivNV(ID, GL_PIXEL_COUNT_AVAILABLE_NV, &result);
|
||||
if (result != GL_FALSE)
|
||||
{
|
||||
nglGetOcclusionQueryuivNV(ID, GL_PIXEL_COUNT_NV, &result);
|
||||
OcclusionType = result != 0 ? NotOccluded : Occluded;
|
||||
VisibleCount = (uint) result;
|
||||
// Note : we could return the exact number of pixels that passed the z-test, but this value is not supported by all implementation (Direct3D ...)
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
GLuint result;
|
||||
nglGetQueryObjectuivARB(ID, GL_QUERY_RESULT, &result);
|
||||
OcclusionType = result != 0 ? NotOccluded : Occluded;
|
||||
VisibleCount = (uint) result;
|
||||
// Note : we could return the exact number of pixels that passed the z-test, but this value is not supported by all implementation (Direct3D ...)
|
||||
}
|
||||
}
|
||||
#endif
|
||||
|
|
|
@ -1,2 +1,4 @@
|
|||
EXPORTS NL3D_createIDriverInstance
|
||||
EXPORTS NL3D_interfaceVersion
|
||||
LIBRARY nel_drv_opengl_win_r
|
||||
EXPORTS
|
||||
NL3D_createIDriverInstance
|
||||
NL3D_interfaceVersion
|
|
@ -304,7 +304,7 @@ public:
|
|||
|
||||
virtual bool isLost() const { return false; } // there's no notion of 'lost device" in OpenGL
|
||||
|
||||
virtual bool init (uint windowIcon = 0, emptyProc exitFunc = 0);
|
||||
virtual bool init (uintptr_t windowIcon = 0, emptyProc exitFunc = 0);
|
||||
|
||||
virtual void disableHardwareVertexProgram();
|
||||
virtual void disableHardwarePixelProgram();
|
||||
|
@ -632,7 +632,7 @@ public:
|
|||
|
||||
virtual void swapTextureHandle(ITexture &tex0, ITexture &tex1);
|
||||
|
||||
virtual uint getTextureHandle(const ITexture&tex);
|
||||
virtual uintptr_t getTextureHandle(const ITexture&tex);
|
||||
|
||||
/// \name Material multipass.
|
||||
/** NB: setupMaterial() must be called before thoses methods.
|
||||
|
@ -1591,6 +1591,7 @@ private:
|
|||
// @}
|
||||
// misc
|
||||
public:
|
||||
friend class COcclusionQueryGL;
|
||||
static GLenum NLCubeFaceToGLCubeFace[6];
|
||||
static CMaterial::CTexEnv _TexEnvReplace;
|
||||
// occlusion query
|
||||
|
|
File diff suppressed because it is too large
Load diff
|
@ -58,6 +58,7 @@ struct CGlExtensions
|
|||
bool EXTVertexShader;
|
||||
bool NVTextureShader;
|
||||
bool NVOcclusionQuery;
|
||||
bool ARBOcclusionQuery;
|
||||
bool NVTextureRectangle;
|
||||
bool EXTTextureRectangle;
|
||||
bool ARBTextureRectangle;
|
||||
|
@ -99,9 +100,11 @@ struct CGlExtensions
|
|||
bool ARBTextureCompression;
|
||||
bool ARBFragmentProgram;
|
||||
bool ARBVertexBufferObject;
|
||||
bool ARBMapBufferRange;
|
||||
bool ARBVertexProgram;
|
||||
bool ARBTextureNonPowerOfTwo;
|
||||
bool ARBMultisample;
|
||||
bool ARBFragmentShader;
|
||||
|
||||
// NV Pixel Programs
|
||||
bool NVFragmentProgram2;
|
||||
|
@ -109,6 +112,17 @@ struct CGlExtensions
|
|||
bool OESDrawTexture;
|
||||
bool OESMapBuffer;
|
||||
|
||||
// extensions to get memory info
|
||||
|
||||
// GL_NVX_gpu_memory_info
|
||||
bool NVXGPUMemoryInfo;
|
||||
|
||||
// GL_ATI_meminfo
|
||||
bool ATIMeminfo;
|
||||
|
||||
// WGL_AMD_gpu_association
|
||||
bool WGLAMDGPUAssociation;
|
||||
|
||||
public:
|
||||
|
||||
/// \name Disable Hardware feature. False by default. setuped by IDriver
|
||||
|
@ -151,12 +165,12 @@ public:
|
|||
ATIVertexArrayObject= false;
|
||||
ATIEnvMapBumpMap = false;
|
||||
ATIFragmentShader = false;
|
||||
ATIVertexArrayObject = false;
|
||||
ATIMapObjectBuffer = false;
|
||||
ATIVertexAttribArrayObject = false;
|
||||
EXTVertexShader= false;
|
||||
ARBFragmentProgram = false;
|
||||
ARBVertexBufferObject = false;
|
||||
ARBMapBufferRange = false;
|
||||
ARBVertexProgram = false;
|
||||
NVTextureRectangle = false;
|
||||
EXTTextureRectangle = false;
|
||||
|
@ -165,7 +179,9 @@ public:
|
|||
ARBTextureRectangle = false;
|
||||
ARBTextureNonPowerOfTwo = false;
|
||||
ARBMultisample = false;
|
||||
ARBFragmentShader = false;
|
||||
NVOcclusionQuery = false;
|
||||
ARBOcclusionQuery = false;
|
||||
FrameBufferObject = false;
|
||||
FrameBufferBlit = false;
|
||||
FrameBufferMultisample = false;
|
||||
|
@ -176,6 +192,10 @@ public:
|
|||
OESDrawTexture = false;
|
||||
OESMapBuffer = false;
|
||||
|
||||
NVXGPUMemoryInfo = false;
|
||||
ATIMeminfo = false;
|
||||
WGLAMDGPUAssociation = false;
|
||||
|
||||
/// \name Disable Hardware feature. False by default. setuped by IDriver
|
||||
DisableHardwareVertexProgram= false;
|
||||
DisableHardwarePixelProgram= false;
|
||||
|
@ -223,14 +243,18 @@ public:
|
|||
result += EXTSecondaryColor ? "EXTSecondaryColor " : "";
|
||||
result += EXTBlendColor ? "EXTBlendColor " : "";
|
||||
result += NVOcclusionQuery ? "NVOcclusionQuery " : "";
|
||||
result += ARBOcclusionQuery ? "ARBOcclusionQuery " : "";
|
||||
result += NVStateVARWithoutFlush ? "NVStateVARWithoutFlush " : "";
|
||||
result += ARBMultisample ? "ARBMultisample " : "";
|
||||
result += NVXGPUMemoryInfo ? "NVXGPUMemoryInfo " : "";
|
||||
result += ATIMeminfo ? "ATIMeminfo " : "";
|
||||
|
||||
#ifdef NL_OS_WINDOWS
|
||||
result += "\n WindowsGL: ";
|
||||
result += WGLARBPBuffer ? "WGLARBPBuffer " : "";
|
||||
result += WGLARBPixelFormat ? "WGLARBPixelFormat " : "";
|
||||
result += WGLEXTSwapControl ? "WGLEXTSwapControl " : "";
|
||||
result += WGLAMDGPUAssociation ? "WGLAMDGPUAssociation " : "";
|
||||
#elif defined(NL_OS_MAC)
|
||||
#elif defined(NL_OS_UNIX)
|
||||
result += "\n GLX: ";
|
||||
|
@ -245,6 +269,7 @@ public:
|
|||
result += ATIVertexArrayObject ? "ATIVertexArrayObject " : "";
|
||||
result += ATIVertexAttribArrayObject ? "ATIVertexAttribArrayObject " : "";
|
||||
result += ARBVertexBufferObject ? "ARBVertexBufferObject " : "";
|
||||
result += ARBMapBufferRange ? "ARBMapBufferRange " : "";
|
||||
result += ATIMapObjectBuffer ? "ATIMapObjectBuffer " : "";
|
||||
|
||||
result += "\n FBO: ";
|
||||
|
@ -294,230 +319,228 @@ void registerGlExtensions(CGlExtensions &ext);
|
|||
|
||||
// OES_mapbuffer.
|
||||
//===============
|
||||
extern NEL_PFNGLMAPBUFFEROESPROC nglMapBufferOES;
|
||||
extern NEL_PFNGLUNMAPBUFFEROESPROC nglUnmapBufferOES;
|
||||
extern NEL_PFNGLGETBUFFERPOINTERVOESPROC nglGetBufferPointervOES;
|
||||
extern PFNGLMAPBUFFEROESPROC nglMapBufferOES;
|
||||
extern PFNGLUNMAPBUFFEROESPROC nglUnmapBufferOES;
|
||||
extern PFNGLGETBUFFERPOINTERVOESPROC nglGetBufferPointervOES;
|
||||
|
||||
extern NEL_PFNGLBUFFERSUBDATAPROC nglBufferSubData;
|
||||
|
||||
extern PFNGLDRAWTEXFOESPROC nglDrawTexfOES;
|
||||
extern PFNGLDRAWTEXFOESPROC nglDrawTexfOES;
|
||||
|
||||
// GL_OES_framebuffer_object
|
||||
extern NEL_PFNGLISRENDERBUFFEROESPROC nglIsRenderbufferOES;
|
||||
extern NEL_PFNGLBINDRENDERBUFFEROESPROC nglBindRenderbufferOES;
|
||||
extern NEL_PFNGLDELETERENDERBUFFERSOESPROC nglDeleteRenderbuffersOES;
|
||||
extern NEL_PFNGLGENRENDERBUFFERSOESPROC nglGenRenderbuffersOES;
|
||||
extern NEL_PFNGLRENDERBUFFERSTORAGEOESPROC nglRenderbufferStorageOES;
|
||||
extern NEL_PFNGLGETRENDERBUFFERPARAMETERIVOESPROC nglGetRenderbufferParameterivOES;
|
||||
extern NEL_PFNGLISFRAMEBUFFEROESPROC nglIsFramebufferOES;
|
||||
extern NEL_PFNGLBINDFRAMEBUFFEROESPROC nglBindFramebufferOES;
|
||||
extern NEL_PFNGLDELETEFRAMEBUFFERSOESPROC nglDeleteFramebuffersOES;
|
||||
extern NEL_PFNGLGENFRAMEBUFFERSOESPROC nglGenFramebuffersOES;
|
||||
extern NEL_PFNGLCHECKFRAMEBUFFERSTATUSOESPROC nglCheckFramebufferStatusOES;
|
||||
extern NEL_PFNGLFRAMEBUFFERRENDERBUFFEROESPROC nglFramebufferRenderbufferOES;
|
||||
extern NEL_PFNGLFRAMEBUFFERTEXTURE2DOESPROC nglFramebufferTexture2DOES;
|
||||
extern NEL_PFNGLGETFRAMEBUFFERATTACHMENTPARAMETERIVOESPROC nglGetFramebufferAttachmentParameterivOES;
|
||||
extern NEL_PFNGLGENERATEMIPMAPOESPROC nglGenerateMipmapOES;
|
||||
extern PFNGLISRENDERBUFFEROESPROC nglIsRenderbufferOES;
|
||||
extern PFNGLBINDRENDERBUFFEROESPROC nglBindRenderbufferOES;
|
||||
extern PFNGLDELETERENDERBUFFERSOESPROC nglDeleteRenderbuffersOES;
|
||||
extern PFNGLGENRENDERBUFFERSOESPROC nglGenRenderbuffersOES;
|
||||
extern PFNGLRENDERBUFFERSTORAGEOESPROC nglRenderbufferStorageOES;
|
||||
extern PFNGLGETRENDERBUFFERPARAMETERIVOESPROC nglGetRenderbufferParameterivOES;
|
||||
extern PFNGLISFRAMEBUFFEROESPROC nglIsFramebufferOES;
|
||||
extern PFNGLBINDFRAMEBUFFEROESPROC nglBindFramebufferOES;
|
||||
extern PFNGLDELETEFRAMEBUFFERSOESPROC nglDeleteFramebuffersOES;
|
||||
extern PFNGLGENFRAMEBUFFERSOESPROC nglGenFramebuffersOES;
|
||||
extern PFNGLCHECKFRAMEBUFFERSTATUSOESPROC nglCheckFramebufferStatusOES;
|
||||
extern PFNGLFRAMEBUFFERRENDERBUFFEROESPROC nglFramebufferRenderbufferOES;
|
||||
extern PFNGLFRAMEBUFFERTEXTURE2DOESPROC nglFramebufferTexture2DOES;
|
||||
extern PFNGLGETFRAMEBUFFERATTACHMENTPARAMETERIVOESPROC nglGetFramebufferAttachmentParameterivOES;
|
||||
extern PFNGLGENERATEMIPMAPOESPROC nglGenerateMipmapOES;
|
||||
|
||||
// GL_OES_texture_cube_map
|
||||
extern NEL_PFNGLTEXGENFOESPROC nglTexGenfOES;
|
||||
extern NEL_PFNGLTEXGENFVOESPROC nglTexGenfvOES;
|
||||
extern NEL_PFNGLTEXGENIOESPROC nglTexGeniOES;
|
||||
extern NEL_PFNGLTEXGENIVOESPROC nglTexGenivOES;
|
||||
extern NEL_PFNGLTEXGENXOESPROC nglTexGenxOES;
|
||||
extern NEL_PFNGLTEXGENXVOESPROC nglTexGenxvOES;
|
||||
extern NEL_PFNGLGETTEXGENFVOESPROC nglGetTexGenfvOES;
|
||||
extern NEL_PFNGLGETTEXGENIVOESPROC nglGetTexGenivOES;
|
||||
extern NEL_PFNGLGETTEXGENXVOESPROC nglGetTexGenxvOES;
|
||||
extern PFNGLTEXGENFOESPROC nglTexGenfOES;
|
||||
extern PFNGLTEXGENFVOESPROC nglTexGenfvOES;
|
||||
extern PFNGLTEXGENIOESPROC nglTexGeniOES;
|
||||
extern PFNGLTEXGENIVOESPROC nglTexGenivOES;
|
||||
extern PFNGLTEXGENXOESPROC nglTexGenxOES;
|
||||
extern PFNGLTEXGENXVOESPROC nglTexGenxvOES;
|
||||
extern PFNGLGETTEXGENFVOESPROC nglGetTexGenfvOES;
|
||||
extern PFNGLGETTEXGENIVOESPROC nglGetTexGenivOES;
|
||||
extern PFNGLGETTEXGENXVOESPROC nglGetTexGenxvOES;
|
||||
|
||||
#else
|
||||
|
||||
// ARB_multitexture
|
||||
//=================
|
||||
extern NEL_PFNGLACTIVETEXTUREARBPROC nglActiveTextureARB;
|
||||
extern NEL_PFNGLCLIENTACTIVETEXTUREARBPROC nglClientActiveTextureARB;
|
||||
extern PFNGLACTIVETEXTUREARBPROC nglActiveTextureARB;
|
||||
extern PFNGLCLIENTACTIVETEXTUREARBPROC nglClientActiveTextureARB;
|
||||
|
||||
extern NEL_PFNGLMULTITEXCOORD1SARBPROC nglMultiTexCoord1sARB;
|
||||
extern NEL_PFNGLMULTITEXCOORD1IARBPROC nglMultiTexCoord1iARB;
|
||||
extern NEL_PFNGLMULTITEXCOORD1FARBPROC nglMultiTexCoord1fARB;
|
||||
extern NEL_PFNGLMULTITEXCOORD1FARBPROC nglMultiTexCoord1fARB;
|
||||
extern NEL_PFNGLMULTITEXCOORD1DARBPROC nglMultiTexCoord1dARB;
|
||||
extern NEL_PFNGLMULTITEXCOORD2SARBPROC nglMultiTexCoord2sARB;
|
||||
extern NEL_PFNGLMULTITEXCOORD2IARBPROC nglMultiTexCoord2iARB;
|
||||
extern NEL_PFNGLMULTITEXCOORD2FARBPROC nglMultiTexCoord2fARB;
|
||||
extern NEL_PFNGLMULTITEXCOORD2DARBPROC nglMultiTexCoord2dARB;
|
||||
extern NEL_PFNGLMULTITEXCOORD3SARBPROC nglMultiTexCoord3sARB;
|
||||
extern NEL_PFNGLMULTITEXCOORD3IARBPROC nglMultiTexCoord3iARB;
|
||||
extern NEL_PFNGLMULTITEXCOORD3FARBPROC nglMultiTexCoord3fARB;
|
||||
extern NEL_PFNGLMULTITEXCOORD3DARBPROC nglMultiTexCoord3dARB;
|
||||
extern NEL_PFNGLMULTITEXCOORD4SARBPROC nglMultiTexCoord4sARB;
|
||||
extern NEL_PFNGLMULTITEXCOORD4IARBPROC nglMultiTexCoord4iARB;
|
||||
extern NEL_PFNGLMULTITEXCOORD4FARBPROC nglMultiTexCoord4fARB;
|
||||
extern NEL_PFNGLMULTITEXCOORD4DARBPROC nglMultiTexCoord4dARB;
|
||||
extern PFNGLMULTITEXCOORD1SARBPROC nglMultiTexCoord1sARB;
|
||||
extern PFNGLMULTITEXCOORD1IARBPROC nglMultiTexCoord1iARB;
|
||||
extern PFNGLMULTITEXCOORD1FARBPROC nglMultiTexCoord1fARB;
|
||||
extern PFNGLMULTITEXCOORD1FARBPROC nglMultiTexCoord1fARB;
|
||||
extern PFNGLMULTITEXCOORD1DARBPROC nglMultiTexCoord1dARB;
|
||||
extern PFNGLMULTITEXCOORD2SARBPROC nglMultiTexCoord2sARB;
|
||||
extern PFNGLMULTITEXCOORD2IARBPROC nglMultiTexCoord2iARB;
|
||||
extern PFNGLMULTITEXCOORD2FARBPROC nglMultiTexCoord2fARB;
|
||||
extern PFNGLMULTITEXCOORD2DARBPROC nglMultiTexCoord2dARB;
|
||||
extern PFNGLMULTITEXCOORD3SARBPROC nglMultiTexCoord3sARB;
|
||||
extern PFNGLMULTITEXCOORD3IARBPROC nglMultiTexCoord3iARB;
|
||||
extern PFNGLMULTITEXCOORD3FARBPROC nglMultiTexCoord3fARB;
|
||||
extern PFNGLMULTITEXCOORD3DARBPROC nglMultiTexCoord3dARB;
|
||||
extern PFNGLMULTITEXCOORD4SARBPROC nglMultiTexCoord4sARB;
|
||||
extern PFNGLMULTITEXCOORD4IARBPROC nglMultiTexCoord4iARB;
|
||||
extern PFNGLMULTITEXCOORD4FARBPROC nglMultiTexCoord4fARB;
|
||||
extern PFNGLMULTITEXCOORD4DARBPROC nglMultiTexCoord4dARB;
|
||||
|
||||
extern NEL_PFNGLMULTITEXCOORD1SVARBPROC nglMultiTexCoord1svARB;
|
||||
extern NEL_PFNGLMULTITEXCOORD1IVARBPROC nglMultiTexCoord1ivARB;
|
||||
extern NEL_PFNGLMULTITEXCOORD1FVARBPROC nglMultiTexCoord1fvARB;
|
||||
extern NEL_PFNGLMULTITEXCOORD1DVARBPROC nglMultiTexCoord1dvARB;
|
||||
extern NEL_PFNGLMULTITEXCOORD2SVARBPROC nglMultiTexCoord2svARB;
|
||||
extern NEL_PFNGLMULTITEXCOORD2IVARBPROC nglMultiTexCoord2ivARB;
|
||||
extern NEL_PFNGLMULTITEXCOORD2FVARBPROC nglMultiTexCoord2fvARB;
|
||||
extern NEL_PFNGLMULTITEXCOORD2DVARBPROC nglMultiTexCoord2dvARB;
|
||||
extern NEL_PFNGLMULTITEXCOORD3SVARBPROC nglMultiTexCoord3svARB;
|
||||
extern NEL_PFNGLMULTITEXCOORD3IVARBPROC nglMultiTexCoord3ivARB;
|
||||
extern NEL_PFNGLMULTITEXCOORD3FVARBPROC nglMultiTexCoord3fvARB;
|
||||
extern NEL_PFNGLMULTITEXCOORD3DVARBPROC nglMultiTexCoord3dvARB;
|
||||
extern NEL_PFNGLMULTITEXCOORD4SVARBPROC nglMultiTexCoord4svARB;
|
||||
extern NEL_PFNGLMULTITEXCOORD4IVARBPROC nglMultiTexCoord4ivARB;
|
||||
extern NEL_PFNGLMULTITEXCOORD4FVARBPROC nglMultiTexCoord4fvARB;
|
||||
extern NEL_PFNGLMULTITEXCOORD4DVARBPROC nglMultiTexCoord4dvARB;
|
||||
extern PFNGLMULTITEXCOORD1SVARBPROC nglMultiTexCoord1svARB;
|
||||
extern PFNGLMULTITEXCOORD1IVARBPROC nglMultiTexCoord1ivARB;
|
||||
extern PFNGLMULTITEXCOORD1FVARBPROC nglMultiTexCoord1fvARB;
|
||||
extern PFNGLMULTITEXCOORD1DVARBPROC nglMultiTexCoord1dvARB;
|
||||
extern PFNGLMULTITEXCOORD2SVARBPROC nglMultiTexCoord2svARB;
|
||||
extern PFNGLMULTITEXCOORD2IVARBPROC nglMultiTexCoord2ivARB;
|
||||
extern PFNGLMULTITEXCOORD2FVARBPROC nglMultiTexCoord2fvARB;
|
||||
extern PFNGLMULTITEXCOORD2DVARBPROC nglMultiTexCoord2dvARB;
|
||||
extern PFNGLMULTITEXCOORD3SVARBPROC nglMultiTexCoord3svARB;
|
||||
extern PFNGLMULTITEXCOORD3IVARBPROC nglMultiTexCoord3ivARB;
|
||||
extern PFNGLMULTITEXCOORD3FVARBPROC nglMultiTexCoord3fvARB;
|
||||
extern PFNGLMULTITEXCOORD3DVARBPROC nglMultiTexCoord3dvARB;
|
||||
extern PFNGLMULTITEXCOORD4SVARBPROC nglMultiTexCoord4svARB;
|
||||
extern PFNGLMULTITEXCOORD4IVARBPROC nglMultiTexCoord4ivARB;
|
||||
extern PFNGLMULTITEXCOORD4FVARBPROC nglMultiTexCoord4fvARB;
|
||||
extern PFNGLMULTITEXCOORD4DVARBPROC nglMultiTexCoord4dvARB;
|
||||
|
||||
|
||||
// ARB_TextureCompression.
|
||||
//========================
|
||||
extern NEL_PFNGLCOMPRESSEDTEXIMAGE3DARBPROC nglCompressedTexImage3DARB;
|
||||
extern NEL_PFNGLCOMPRESSEDTEXIMAGE2DARBPROC nglCompressedTexImage2DARB;
|
||||
extern NEL_PFNGLCOMPRESSEDTEXIMAGE1DARBPROC nglCompressedTexImage1DARB;
|
||||
extern NEL_PFNGLCOMPRESSEDTEXSUBIMAGE3DARBPROC nglCompressedTexSubImage3DARB;
|
||||
extern NEL_PFNGLCOMPRESSEDTEXSUBIMAGE2DARBPROC nglCompressedTexSubImage2DARB;
|
||||
extern NEL_PFNGLCOMPRESSEDTEXSUBIMAGE1DARBPROC nglCompressedTexSubImage1DARB;
|
||||
extern NEL_PFNGLGETCOMPRESSEDTEXIMAGEARBPROC nglGetCompressedTexImageARB;
|
||||
extern PFNGLCOMPRESSEDTEXIMAGE3DARBPROC nglCompressedTexImage3DARB;
|
||||
extern PFNGLCOMPRESSEDTEXIMAGE2DARBPROC nglCompressedTexImage2DARB;
|
||||
extern PFNGLCOMPRESSEDTEXIMAGE1DARBPROC nglCompressedTexImage1DARB;
|
||||
extern PFNGLCOMPRESSEDTEXSUBIMAGE3DARBPROC nglCompressedTexSubImage3DARB;
|
||||
extern PFNGLCOMPRESSEDTEXSUBIMAGE2DARBPROC nglCompressedTexSubImage2DARB;
|
||||
extern PFNGLCOMPRESSEDTEXSUBIMAGE1DARBPROC nglCompressedTexSubImage1DARB;
|
||||
extern PFNGLGETCOMPRESSEDTEXIMAGEARBPROC nglGetCompressedTexImageARB;
|
||||
|
||||
|
||||
// VertexArrayRangeNV.
|
||||
//====================
|
||||
extern NEL_PFNGLFLUSHVERTEXARRAYRANGENVPROC nglFlushVertexArrayRangeNV;
|
||||
extern NEL_PFNGLVERTEXARRAYRANGENVPROC nglVertexArrayRangeNV;
|
||||
extern PFNGLFLUSHVERTEXARRAYRANGENVPROC nglFlushVertexArrayRangeNV;
|
||||
extern PFNGLVERTEXARRAYRANGENVPROC nglVertexArrayRangeNV;
|
||||
|
||||
#ifdef NL_OS_WINDOWS
|
||||
extern PFNWGLALLOCATEMEMORYNVPROC nwglAllocateMemoryNV;
|
||||
extern PFNWGLFREEMEMORYNVPROC nwglFreeMemoryNV;
|
||||
#elif defined(NL_OS_UNIX) && !defined(NL_OS_MAC)
|
||||
extern NEL_PFNGLXALLOCATEMEMORYNVPROC nglXAllocateMemoryNV;
|
||||
extern NEL_PFNGLXFREEMEMORYNVPROC nglXFreeMemoryNV;
|
||||
extern PFNGLXALLOCATEMEMORYNVPROC nglXAllocateMemoryNV;
|
||||
extern PFNGLXFREEMEMORYNVPROC nglXFreeMemoryNV;
|
||||
#endif
|
||||
|
||||
|
||||
// FenceNV.
|
||||
//====================
|
||||
extern NEL_PFNGLDELETEFENCESNVPROC nglDeleteFencesNV;
|
||||
extern NEL_PFNGLGENFENCESNVPROC nglGenFencesNV;
|
||||
extern NEL_PFNGLISFENCENVPROC nglIsFenceNV;
|
||||
extern NEL_PFNGLTESTFENCENVPROC nglTestFenceNV;
|
||||
extern NEL_PFNGLGETFENCEIVNVPROC nglGetFenceivNV;
|
||||
extern NEL_PFNGLFINISHFENCENVPROC nglFinishFenceNV;
|
||||
extern NEL_PFNGLSETFENCENVPROC nglSetFenceNV;
|
||||
extern PFNGLDELETEFENCESNVPROC nglDeleteFencesNV;
|
||||
extern PFNGLGENFENCESNVPROC nglGenFencesNV;
|
||||
extern PFNGLISFENCENVPROC nglIsFenceNV;
|
||||
extern PFNGLTESTFENCENVPROC nglTestFenceNV;
|
||||
extern PFNGLGETFENCEIVNVPROC nglGetFenceivNV;
|
||||
extern PFNGLFINISHFENCENVPROC nglFinishFenceNV;
|
||||
extern PFNGLSETFENCENVPROC nglSetFenceNV;
|
||||
|
||||
|
||||
// VertexWeighting.
|
||||
//==================
|
||||
extern NEL_PFNGLVERTEXWEIGHTFEXTPROC nglVertexWeightfEXT;
|
||||
extern NEL_PFNGLVERTEXWEIGHTFVEXTPROC nglVertexWeightfvEXT;
|
||||
extern NEL_PFNGLVERTEXWEIGHTPOINTEREXTPROC nglVertexWeightPointerEXT;
|
||||
extern PFNGLVERTEXWEIGHTFEXTPROC nglVertexWeightfEXT;
|
||||
extern PFNGLVERTEXWEIGHTFVEXTPROC nglVertexWeightfvEXT;
|
||||
extern PFNGLVERTEXWEIGHTPOINTEREXTPROC nglVertexWeightPointerEXT;
|
||||
|
||||
|
||||
// VertexProgramExtension.
|
||||
//========================
|
||||
extern NEL_PFNGLAREPROGRAMSRESIDENTNVPROC nglAreProgramsResidentNV;
|
||||
extern NEL_PFNGLBINDPROGRAMNVPROC nglBindProgramNV;
|
||||
extern NEL_PFNGLDELETEPROGRAMSNVPROC nglDeleteProgramsNV;
|
||||
extern NEL_PFNGLEXECUTEPROGRAMNVPROC nglExecuteProgramNV;
|
||||
extern NEL_PFNGLGENPROGRAMSNVPROC nglGenProgramsNV;
|
||||
extern NEL_PFNGLGETPROGRAMPARAMETERDVNVPROC nglGetProgramParameterdvNV;
|
||||
extern NEL_PFNGLGETPROGRAMPARAMETERFVNVPROC nglGetProgramParameterfvNV;
|
||||
extern NEL_PFNGLGETPROGRAMIVNVPROC nglGetProgramivNV;
|
||||
extern NEL_PFNGLGETPROGRAMSTRINGNVPROC nglGetProgramStringNV;
|
||||
extern NEL_PFNGLGETTRACKMATRIXIVNVPROC nglGetTrackMatrixivNV;
|
||||
extern NEL_PFNGLGETVERTEXATTRIBDVNVPROC nglGetVertexAttribdvNV;
|
||||
extern NEL_PFNGLGETVERTEXATTRIBFVNVPROC nglGetVertexAttribfvNV;
|
||||
extern NEL_PFNGLGETVERTEXATTRIBIVNVPROC nglGetVertexAttribivNV;
|
||||
extern NEL_PFNGLGETVERTEXATTRIBPOINTERVNVPROC nglGetVertexAttribPointervNV;
|
||||
extern NEL_PFNGLISPROGRAMNVPROC nglIsProgramNV;
|
||||
extern NEL_PFNGLLOADPROGRAMNVPROC nglLoadProgramNV;
|
||||
extern NEL_PFNGLPROGRAMPARAMETER4DNVPROC nglProgramParameter4dNV;
|
||||
extern NEL_PFNGLPROGRAMPARAMETER4DVNVPROC nglProgramParameter4dvNV;
|
||||
extern NEL_PFNGLPROGRAMPARAMETER4FNVPROC nglProgramParameter4fNV;
|
||||
extern NEL_PFNGLPROGRAMPARAMETER4FVNVPROC nglProgramParameter4fvNV;
|
||||
extern NEL_PFNGLPROGRAMPARAMETERS4DVNVPROC nglProgramParameters4dvNV;
|
||||
extern NEL_PFNGLPROGRAMPARAMETERS4FVNVPROC nglProgramParameters4fvNV;
|
||||
extern NEL_PFNGLREQUESTRESIDENTPROGRAMSNVPROC nglRequestResidentProgramsNV;
|
||||
extern NEL_PFNGLTRACKMATRIXNVPROC nglTrackMatrixNV;
|
||||
extern NEL_PFNGLVERTEXATTRIBPOINTERNVPROC nglVertexAttribPointerNV;
|
||||
extern NEL_PFNGLVERTEXATTRIB1DNVPROC nglVertexAttrib1dNV;
|
||||
extern NEL_PFNGLVERTEXATTRIB1DVNVPROC nglVertexAttrib1dvNV;
|
||||
extern NEL_PFNGLVERTEXATTRIB1FNVPROC nglVertexAttrib1fNV;
|
||||
extern NEL_PFNGLVERTEXATTRIB1FVNVPROC nglVertexAttrib1fvNV;
|
||||
extern NEL_PFNGLVERTEXATTRIB1SNVPROC nglVertexAttrib1sNV;
|
||||
extern NEL_PFNGLVERTEXATTRIB1SVNVPROC nglVertexAttrib1svNV;
|
||||
extern NEL_PFNGLVERTEXATTRIB2DNVPROC nglVertexAttrib2dNV;
|
||||
extern NEL_PFNGLVERTEXATTRIB2DVNVPROC nglVertexAttrib2dvNV;
|
||||
extern NEL_PFNGLVERTEXATTRIB2FNVPROC nglVertexAttrib2fNV;
|
||||
extern NEL_PFNGLVERTEXATTRIB2FVNVPROC nglVertexAttrib2fvNV;
|
||||
extern NEL_PFNGLVERTEXATTRIB2SNVPROC nglVertexAttrib2sNV;
|
||||
extern NEL_PFNGLVERTEXATTRIB2SVNVPROC nglVertexAttrib2svNV;
|
||||
extern NEL_PFNGLVERTEXATTRIB3DNVPROC nglVertexAttrib3dNV;
|
||||
extern NEL_PFNGLVERTEXATTRIB3DVNVPROC nglVertexAttrib3dvNV;
|
||||
extern NEL_PFNGLVERTEXATTRIB3FNVPROC nglVertexAttrib3fNV;
|
||||
extern NEL_PFNGLVERTEXATTRIB3FVNVPROC nglVertexAttrib3fvNV;
|
||||
extern NEL_PFNGLVERTEXATTRIB3SNVPROC nglVertexAttrib3sNV;
|
||||
extern NEL_PFNGLVERTEXATTRIB3SVNVPROC nglVertexAttrib3svNV;
|
||||
extern NEL_PFNGLVERTEXATTRIB4DNVPROC nglVertexAttrib4dNV;
|
||||
extern NEL_PFNGLVERTEXATTRIB4DVNVPROC nglVertexAttrib4dvNV;
|
||||
extern NEL_PFNGLVERTEXATTRIB4FNVPROC nglVertexAttrib4fNV;
|
||||
extern NEL_PFNGLVERTEXATTRIB4FVNVPROC nglVertexAttrib4fvNV;
|
||||
extern NEL_PFNGLVERTEXATTRIB4SNVPROC nglVertexAttrib4sNV;
|
||||
extern NEL_PFNGLVERTEXATTRIB4SVNVPROC nglVertexAttrib4svNV;
|
||||
extern NEL_PFNGLVERTEXATTRIB4UBVNVPROC nglVertexAttrib4ubvNV;
|
||||
extern NEL_PFNGLVERTEXATTRIBS1DVNVPROC nglVertexAttribs1dvNV;
|
||||
extern NEL_PFNGLVERTEXATTRIBS1FVNVPROC nglVertexAttribs1fvNV;
|
||||
extern NEL_PFNGLVERTEXATTRIBS1SVNVPROC nglVertexAttribs1svNV;
|
||||
extern NEL_PFNGLVERTEXATTRIBS2DVNVPROC nglVertexAttribs2dvNV;
|
||||
extern NEL_PFNGLVERTEXATTRIBS2FVNVPROC nglVertexAttribs2fvNV;
|
||||
extern NEL_PFNGLVERTEXATTRIBS2SVNVPROC nglVertexAttribs2svNV;
|
||||
extern NEL_PFNGLVERTEXATTRIBS3DVNVPROC nglVertexAttribs3dvNV;
|
||||
extern NEL_PFNGLVERTEXATTRIBS3FVNVPROC nglVertexAttribs3fvNV;
|
||||
extern NEL_PFNGLVERTEXATTRIBS3SVNVPROC nglVertexAttribs3svNV;
|
||||
extern NEL_PFNGLVERTEXATTRIBS4DVNVPROC nglVertexAttribs4dvNV;
|
||||
extern NEL_PFNGLVERTEXATTRIBS4FVNVPROC nglVertexAttribs4fvNV;
|
||||
extern NEL_PFNGLVERTEXATTRIBS4SVNVPROC nglVertexAttribs4svNV;
|
||||
extern NEL_PFNGLVERTEXATTRIBS4UBVNVPROC nglVertexAttribs4ubvNV;
|
||||
extern PFNGLAREPROGRAMSRESIDENTNVPROC nglAreProgramsResidentNV;
|
||||
extern PFNGLBINDPROGRAMNVPROC nglBindProgramNV;
|
||||
extern PFNGLDELETEPROGRAMSNVPROC nglDeleteProgramsNV;
|
||||
extern PFNGLEXECUTEPROGRAMNVPROC nglExecuteProgramNV;
|
||||
extern PFNGLGENPROGRAMSNVPROC nglGenProgramsNV;
|
||||
extern PFNGLGETPROGRAMPARAMETERDVNVPROC nglGetProgramParameterdvNV;
|
||||
extern PFNGLGETPROGRAMPARAMETERFVNVPROC nglGetProgramParameterfvNV;
|
||||
extern PFNGLGETPROGRAMIVNVPROC nglGetProgramivNV;
|
||||
extern PFNGLGETPROGRAMSTRINGNVPROC nglGetProgramStringNV;
|
||||
extern PFNGLGETTRACKMATRIXIVNVPROC nglGetTrackMatrixivNV;
|
||||
extern PFNGLGETVERTEXATTRIBDVNVPROC nglGetVertexAttribdvNV;
|
||||
extern PFNGLGETVERTEXATTRIBFVNVPROC nglGetVertexAttribfvNV;
|
||||
extern PFNGLGETVERTEXATTRIBIVNVPROC nglGetVertexAttribivNV;
|
||||
extern PFNGLGETVERTEXATTRIBPOINTERVNVPROC nglGetVertexAttribPointervNV;
|
||||
extern PFNGLISPROGRAMNVPROC nglIsProgramNV;
|
||||
extern PFNGLLOADPROGRAMNVPROC nglLoadProgramNV;
|
||||
extern PFNGLPROGRAMPARAMETER4DNVPROC nglProgramParameter4dNV;
|
||||
extern PFNGLPROGRAMPARAMETER4DVNVPROC nglProgramParameter4dvNV;
|
||||
extern PFNGLPROGRAMPARAMETER4FNVPROC nglProgramParameter4fNV;
|
||||
extern PFNGLPROGRAMPARAMETER4FVNVPROC nglProgramParameter4fvNV;
|
||||
extern PFNGLPROGRAMPARAMETERS4DVNVPROC nglProgramParameters4dvNV;
|
||||
extern PFNGLPROGRAMPARAMETERS4FVNVPROC nglProgramParameters4fvNV;
|
||||
extern PFNGLREQUESTRESIDENTPROGRAMSNVPROC nglRequestResidentProgramsNV;
|
||||
extern PFNGLTRACKMATRIXNVPROC nglTrackMatrixNV;
|
||||
extern PFNGLVERTEXATTRIBPOINTERNVPROC nglVertexAttribPointerNV;
|
||||
extern PFNGLVERTEXATTRIB1DNVPROC nglVertexAttrib1dNV;
|
||||
extern PFNGLVERTEXATTRIB1DVNVPROC nglVertexAttrib1dvNV;
|
||||
extern PFNGLVERTEXATTRIB1FNVPROC nglVertexAttrib1fNV;
|
||||
extern PFNGLVERTEXATTRIB1FVNVPROC nglVertexAttrib1fvNV;
|
||||
extern PFNGLVERTEXATTRIB1SNVPROC nglVertexAttrib1sNV;
|
||||
extern PFNGLVERTEXATTRIB1SVNVPROC nglVertexAttrib1svNV;
|
||||
extern PFNGLVERTEXATTRIB2DNVPROC nglVertexAttrib2dNV;
|
||||
extern PFNGLVERTEXATTRIB2DVNVPROC nglVertexAttrib2dvNV;
|
||||
extern PFNGLVERTEXATTRIB2FNVPROC nglVertexAttrib2fNV;
|
||||
extern PFNGLVERTEXATTRIB2FVNVPROC nglVertexAttrib2fvNV;
|
||||
extern PFNGLVERTEXATTRIB2SNVPROC nglVertexAttrib2sNV;
|
||||
extern PFNGLVERTEXATTRIB2SVNVPROC nglVertexAttrib2svNV;
|
||||
extern PFNGLVERTEXATTRIB3DNVPROC nglVertexAttrib3dNV;
|
||||
extern PFNGLVERTEXATTRIB3DVNVPROC nglVertexAttrib3dvNV;
|
||||
extern PFNGLVERTEXATTRIB3FNVPROC nglVertexAttrib3fNV;
|
||||
extern PFNGLVERTEXATTRIB3FVNVPROC nglVertexAttrib3fvNV;
|
||||
extern PFNGLVERTEXATTRIB3SNVPROC nglVertexAttrib3sNV;
|
||||
extern PFNGLVERTEXATTRIB3SVNVPROC nglVertexAttrib3svNV;
|
||||
extern PFNGLVERTEXATTRIB4DNVPROC nglVertexAttrib4dNV;
|
||||
extern PFNGLVERTEXATTRIB4DVNVPROC nglVertexAttrib4dvNV;
|
||||
extern PFNGLVERTEXATTRIB4FNVPROC nglVertexAttrib4fNV;
|
||||
extern PFNGLVERTEXATTRIB4FVNVPROC nglVertexAttrib4fvNV;
|
||||
extern PFNGLVERTEXATTRIB4SNVPROC nglVertexAttrib4sNV;
|
||||
extern PFNGLVERTEXATTRIB4SVNVPROC nglVertexAttrib4svNV;
|
||||
extern PFNGLVERTEXATTRIB4UBVNVPROC nglVertexAttrib4ubvNV;
|
||||
extern PFNGLVERTEXATTRIBS1DVNVPROC nglVertexAttribs1dvNV;
|
||||
extern PFNGLVERTEXATTRIBS1FVNVPROC nglVertexAttribs1fvNV;
|
||||
extern PFNGLVERTEXATTRIBS1SVNVPROC nglVertexAttribs1svNV;
|
||||
extern PFNGLVERTEXATTRIBS2DVNVPROC nglVertexAttribs2dvNV;
|
||||
extern PFNGLVERTEXATTRIBS2FVNVPROC nglVertexAttribs2fvNV;
|
||||
extern PFNGLVERTEXATTRIBS2SVNVPROC nglVertexAttribs2svNV;
|
||||
extern PFNGLVERTEXATTRIBS3DVNVPROC nglVertexAttribs3dvNV;
|
||||
extern PFNGLVERTEXATTRIBS3FVNVPROC nglVertexAttribs3fvNV;
|
||||
extern PFNGLVERTEXATTRIBS3SVNVPROC nglVertexAttribs3svNV;
|
||||
extern PFNGLVERTEXATTRIBS4DVNVPROC nglVertexAttribs4dvNV;
|
||||
extern PFNGLVERTEXATTRIBS4FVNVPROC nglVertexAttribs4fvNV;
|
||||
extern PFNGLVERTEXATTRIBS4SVNVPROC nglVertexAttribs4svNV;
|
||||
extern PFNGLVERTEXATTRIBS4UBVNVPROC nglVertexAttribs4ubvNV;
|
||||
|
||||
// VertexShaderExtension.
|
||||
//========================
|
||||
extern NEL_PFNGLBEGINVERTEXSHADEREXTPROC nglBeginVertexShaderEXT;
|
||||
extern NEL_PFNGLENDVERTEXSHADEREXTPROC nglEndVertexShaderEXT;
|
||||
extern NEL_PFNGLBINDVERTEXSHADEREXTPROC nglBindVertexShaderEXT;
|
||||
extern NEL_PFNGLGENVERTEXSHADERSEXTPROC nglGenVertexShadersEXT;
|
||||
extern NEL_PFNGLDELETEVERTEXSHADEREXTPROC nglDeleteVertexShaderEXT;
|
||||
extern NEL_PFNGLSHADEROP1EXTPROC nglShaderOp1EXT;
|
||||
extern NEL_PFNGLSHADEROP2EXTPROC nglShaderOp2EXT;
|
||||
extern NEL_PFNGLSHADEROP3EXTPROC nglShaderOp3EXT;
|
||||
extern NEL_PFNGLSWIZZLEEXTPROC nglSwizzleEXT;
|
||||
extern NEL_PFNGLWRITEMASKEXTPROC nglWriteMaskEXT;
|
||||
extern NEL_PFNGLINSERTCOMPONENTEXTPROC nglInsertComponentEXT;
|
||||
extern NEL_PFNGLEXTRACTCOMPONENTEXTPROC nglExtractComponentEXT;
|
||||
extern NEL_PFNGLGENSYMBOLSEXTPROC nglGenSymbolsEXT;
|
||||
extern NEL_PFNGLSETINVARIANTEXTPROC nglSetInvariantEXT;
|
||||
extern NEL_PFNGLSETLOCALCONSTANTEXTPROC nglSetLocalConstantEXT;
|
||||
extern NEL_PFNGLVARIANTPOINTEREXTPROC nglVariantPointerEXT;
|
||||
extern NEL_PFNGLENABLEVARIANTCLIENTSTATEEXTPROC nglEnableVariantClientStateEXT;
|
||||
extern NEL_PFNGLDISABLEVARIANTCLIENTSTATEEXTPROC nglDisableVariantClientStateEXT;
|
||||
extern NEL_PFNGLBINDLIGHTPARAMETEREXTPROC nglBindLightParameterEXT;
|
||||
extern NEL_PFNGLBINDMATERIALPARAMETEREXTPROC nglBindMaterialParameterEXT;
|
||||
extern NEL_PFNGLBINDTEXGENPARAMETEREXTPROC nglBindTexGenParameterEXT;
|
||||
extern NEL_PFNGLBINDTEXTUREUNITPARAMETEREXTPROC nglBindTextureUnitParameterEXT;
|
||||
extern NEL_PFNGLBINDPARAMETEREXTPROC nglBindParameterEXT;
|
||||
extern NEL_PFNGLISVARIANTENABLEDEXTPROC nglIsVariantEnabledEXT;
|
||||
extern NEL_PFNGLGETVARIANTBOOLEANVEXTPROC nglGetVariantBooleanvEXT;
|
||||
extern NEL_PFNGLGETVARIANTINTEGERVEXTPROC nglGetVariantIntegervEXT;
|
||||
extern NEL_PFNGLGETVARIANTFLOATVEXTPROC nglGetVariantFloatvEXT;
|
||||
extern NEL_PFNGLGETVARIANTPOINTERVEXTPROC nglGetVariantPointervEXT;
|
||||
extern NEL_PFNGLGETINVARIANTBOOLEANVEXTPROC nglGetInvariantBooleanvEXT;
|
||||
extern NEL_PFNGLGETINVARIANTINTEGERVEXTPROC nglGetInvariantIntegervEXT;
|
||||
extern NEL_PFNGLGETINVARIANTFLOATVEXTPROC nglGetInvariantFloatvEXT;
|
||||
extern NEL_PFNGLGETLOCALCONSTANTBOOLEANVEXTPROC nglGetLocalConstantBooleanvEXT;
|
||||
extern NEL_PFNGLGETLOCALCONSTANTINTEGERVEXTPROC nglGetLocalConstantIntegervEXT;
|
||||
extern NEL_PFNGLGETLOCALCONSTANTFLOATVEXTPROC nglGetLocalConstantFloatvEXT;
|
||||
extern PFNGLBEGINVERTEXSHADEREXTPROC nglBeginVertexShaderEXT;
|
||||
extern PFNGLENDVERTEXSHADEREXTPROC nglEndVertexShaderEXT;
|
||||
extern PFNGLBINDVERTEXSHADEREXTPROC nglBindVertexShaderEXT;
|
||||
extern PFNGLGENVERTEXSHADERSEXTPROC nglGenVertexShadersEXT;
|
||||
extern PFNGLDELETEVERTEXSHADEREXTPROC nglDeleteVertexShaderEXT;
|
||||
extern PFNGLSHADEROP1EXTPROC nglShaderOp1EXT;
|
||||
extern PFNGLSHADEROP2EXTPROC nglShaderOp2EXT;
|
||||
extern PFNGLSHADEROP3EXTPROC nglShaderOp3EXT;
|
||||
extern PFNGLSWIZZLEEXTPROC nglSwizzleEXT;
|
||||
extern PFNGLWRITEMASKEXTPROC nglWriteMaskEXT;
|
||||
extern PFNGLINSERTCOMPONENTEXTPROC nglInsertComponentEXT;
|
||||
extern PFNGLEXTRACTCOMPONENTEXTPROC nglExtractComponentEXT;
|
||||
extern PFNGLGENSYMBOLSEXTPROC nglGenSymbolsEXT;
|
||||
extern PFNGLSETINVARIANTEXTPROC nglSetInvariantEXT;
|
||||
extern PFNGLSETLOCALCONSTANTEXTPROC nglSetLocalConstantEXT;
|
||||
extern PFNGLVARIANTPOINTEREXTPROC nglVariantPointerEXT;
|
||||
extern PFNGLENABLEVARIANTCLIENTSTATEEXTPROC nglEnableVariantClientStateEXT;
|
||||
extern PFNGLDISABLEVARIANTCLIENTSTATEEXTPROC nglDisableVariantClientStateEXT;
|
||||
extern PFNGLBINDLIGHTPARAMETEREXTPROC nglBindLightParameterEXT;
|
||||
extern PFNGLBINDMATERIALPARAMETEREXTPROC nglBindMaterialParameterEXT;
|
||||
extern PFNGLBINDTEXGENPARAMETEREXTPROC nglBindTexGenParameterEXT;
|
||||
extern PFNGLBINDTEXTUREUNITPARAMETEREXTPROC nglBindTextureUnitParameterEXT;
|
||||
extern PFNGLBINDPARAMETEREXTPROC nglBindParameterEXT;
|
||||
extern PFNGLISVARIANTENABLEDEXTPROC nglIsVariantEnabledEXT;
|
||||
extern PFNGLGETVARIANTBOOLEANVEXTPROC nglGetVariantBooleanvEXT;
|
||||
extern PFNGLGETVARIANTINTEGERVEXTPROC nglGetVariantIntegervEXT;
|
||||
extern PFNGLGETVARIANTFLOATVEXTPROC nglGetVariantFloatvEXT;
|
||||
extern PFNGLGETVARIANTPOINTERVEXTPROC nglGetVariantPointervEXT;
|
||||
extern PFNGLGETINVARIANTBOOLEANVEXTPROC nglGetInvariantBooleanvEXT;
|
||||
extern PFNGLGETINVARIANTINTEGERVEXTPROC nglGetInvariantIntegervEXT;
|
||||
extern PFNGLGETINVARIANTFLOATVEXTPROC nglGetInvariantFloatvEXT;
|
||||
extern PFNGLGETLOCALCONSTANTBOOLEANVEXTPROC nglGetLocalConstantBooleanvEXT;
|
||||
extern PFNGLGETLOCALCONSTANTINTEGERVEXTPROC nglGetLocalConstantIntegervEXT;
|
||||
extern PFNGLGETLOCALCONSTANTFLOATVEXTPROC nglGetLocalConstantFloatvEXT;
|
||||
|
||||
|
||||
// ATI_envmap_bumpmap extension
|
||||
|
@ -530,100 +553,100 @@ extern PFNGLGETTEXBUMPPARAMETERFVATIPROC nglGetTexBumpParameterfvATI;
|
|||
|
||||
// SecondaryColor extension
|
||||
//========================
|
||||
extern NEL_PFNGLSECONDARYCOLOR3BEXTPROC nglSecondaryColor3bEXT;
|
||||
extern NEL_PFNGLSECONDARYCOLOR3BVEXTPROC nglSecondaryColor3bvEXT;
|
||||
extern NEL_PFNGLSECONDARYCOLOR3DEXTPROC nglSecondaryColor3dEXT;
|
||||
extern NEL_PFNGLSECONDARYCOLOR3DVEXTPROC nglSecondaryColor3dvEXT;
|
||||
extern NEL_PFNGLSECONDARYCOLOR3FEXTPROC nglSecondaryColor3fEXT;
|
||||
extern NEL_PFNGLSECONDARYCOLOR3FVEXTPROC nglSecondaryColor3fvEXT;
|
||||
extern NEL_PFNGLSECONDARYCOLOR3IEXTPROC nglSecondaryColor3iEXT;
|
||||
extern NEL_PFNGLSECONDARYCOLOR3IVEXTPROC nglSecondaryColor3ivEXT;
|
||||
extern NEL_PFNGLSECONDARYCOLOR3SEXTPROC nglSecondaryColor3sEXT;
|
||||
extern NEL_PFNGLSECONDARYCOLOR3SVEXTPROC nglSecondaryColor3svEXT;
|
||||
extern NEL_PFNGLSECONDARYCOLOR3UBEXTPROC nglSecondaryColor3ubEXT;
|
||||
extern NEL_PFNGLSECONDARYCOLOR3UBVEXTPROC nglSecondaryColor3ubvEXT;
|
||||
extern NEL_PFNGLSECONDARYCOLOR3UIEXTPROC nglSecondaryColor3uiEXT;
|
||||
extern NEL_PFNGLSECONDARYCOLOR3UIVEXTPROC nglSecondaryColor3uivEXT;
|
||||
extern NEL_PFNGLSECONDARYCOLOR3USEXTPROC nglSecondaryColor3usEXT;
|
||||
extern NEL_PFNGLSECONDARYCOLOR3USVEXTPROC nglSecondaryColor3usvEXT;
|
||||
extern NEL_PFNGLSECONDARYCOLORPOINTEREXTPROC nglSecondaryColorPointerEXT;
|
||||
extern PFNGLSECONDARYCOLOR3BEXTPROC nglSecondaryColor3bEXT;
|
||||
extern PFNGLSECONDARYCOLOR3BVEXTPROC nglSecondaryColor3bvEXT;
|
||||
extern PFNGLSECONDARYCOLOR3DEXTPROC nglSecondaryColor3dEXT;
|
||||
extern PFNGLSECONDARYCOLOR3DVEXTPROC nglSecondaryColor3dvEXT;
|
||||
extern PFNGLSECONDARYCOLOR3FEXTPROC nglSecondaryColor3fEXT;
|
||||
extern PFNGLSECONDARYCOLOR3FVEXTPROC nglSecondaryColor3fvEXT;
|
||||
extern PFNGLSECONDARYCOLOR3IEXTPROC nglSecondaryColor3iEXT;
|
||||
extern PFNGLSECONDARYCOLOR3IVEXTPROC nglSecondaryColor3ivEXT;
|
||||
extern PFNGLSECONDARYCOLOR3SEXTPROC nglSecondaryColor3sEXT;
|
||||
extern PFNGLSECONDARYCOLOR3SVEXTPROC nglSecondaryColor3svEXT;
|
||||
extern PFNGLSECONDARYCOLOR3UBEXTPROC nglSecondaryColor3ubEXT;
|
||||
extern PFNGLSECONDARYCOLOR3UBVEXTPROC nglSecondaryColor3ubvEXT;
|
||||
extern PFNGLSECONDARYCOLOR3UIEXTPROC nglSecondaryColor3uiEXT;
|
||||
extern PFNGLSECONDARYCOLOR3UIVEXTPROC nglSecondaryColor3uivEXT;
|
||||
extern PFNGLSECONDARYCOLOR3USEXTPROC nglSecondaryColor3usEXT;
|
||||
extern PFNGLSECONDARYCOLOR3USVEXTPROC nglSecondaryColor3usvEXT;
|
||||
extern PFNGLSECONDARYCOLORPOINTEREXTPROC nglSecondaryColorPointerEXT;
|
||||
|
||||
|
||||
// BlendColor extension
|
||||
//========================
|
||||
extern NEL_PFNGLBLENDCOLOREXTPROC nglBlendColorEXT;
|
||||
extern PFNGLBLENDCOLOREXTPROC nglBlendColorEXT;
|
||||
|
||||
|
||||
// GL_ATI_vertex_array_object extension
|
||||
//========================
|
||||
extern NEL_PFNGLNEWOBJECTBUFFERATIPROC nglNewObjectBufferATI;
|
||||
extern NEL_PFNGLISOBJECTBUFFERATIPROC nglIsObjectBufferATI;
|
||||
extern NEL_PFNGLUPDATEOBJECTBUFFERATIPROC nglUpdateObjectBufferATI;
|
||||
extern NEL_PFNGLGETOBJECTBUFFERFVATIPROC nglGetObjectBufferfvATI;
|
||||
extern NEL_PFNGLGETOBJECTBUFFERIVATIPROC nglGetObjectBufferivATI;
|
||||
extern NEL_PFNGLDELETEOBJECTBUFFERATIPROC nglDeleteObjectBufferATI;
|
||||
extern NEL_PFNGLARRAYOBJECTATIPROC nglArrayObjectATI;
|
||||
extern NEL_PFNGLGETARRAYOBJECTFVATIPROC nglGetArrayObjectfvATI;
|
||||
extern NEL_PFNGLGETARRAYOBJECTIVATIPROC nglGetArrayObjectivATI;
|
||||
extern NEL_PFNGLVARIANTARRAYOBJECTATIPROC nglVariantArrayObjectATI;
|
||||
extern NEL_PFNGLGETVARIANTARRAYOBJECTFVATIPROC nglGetVariantArrayObjectfvATI;
|
||||
extern NEL_PFNGLGETVARIANTARRAYOBJECTIVATIPROC nglGetVariantArrayObjectivATI;
|
||||
extern PFNGLNEWOBJECTBUFFERATIPROC nglNewObjectBufferATI;
|
||||
extern PFNGLISOBJECTBUFFERATIPROC nglIsObjectBufferATI;
|
||||
extern PFNGLUPDATEOBJECTBUFFERATIPROC nglUpdateObjectBufferATI;
|
||||
extern PFNGLGETOBJECTBUFFERFVATIPROC nglGetObjectBufferfvATI;
|
||||
extern PFNGLGETOBJECTBUFFERIVATIPROC nglGetObjectBufferivATI;
|
||||
extern PFNGLFREEOBJECTBUFFERATIPROC nglFreeObjectBufferATI;
|
||||
extern PFNGLARRAYOBJECTATIPROC nglArrayObjectATI;
|
||||
extern PFNGLGETARRAYOBJECTFVATIPROC nglGetArrayObjectfvATI;
|
||||
extern PFNGLGETARRAYOBJECTIVATIPROC nglGetArrayObjectivATI;
|
||||
extern PFNGLVARIANTARRAYOBJECTATIPROC nglVariantArrayObjectATI;
|
||||
extern PFNGLGETVARIANTARRAYOBJECTFVATIPROC nglGetVariantArrayObjectfvATI;
|
||||
extern PFNGLGETVARIANTARRAYOBJECTIVATIPROC nglGetVariantArrayObjectivATI;
|
||||
|
||||
// GL_ATI_map_object_buffer
|
||||
//===================================
|
||||
|
||||
extern NEL_PFNGLMAPOBJECTBUFFERATIPROC nglMapObjectBufferATI;
|
||||
extern NEL_PFNGLUNMAPOBJECTBUFFERATIPROC nglUnmapObjectBufferATI;
|
||||
extern PFNGLMAPOBJECTBUFFERATIPROC nglMapObjectBufferATI;
|
||||
extern PFNGLUNMAPOBJECTBUFFERATIPROC nglUnmapObjectBufferATI;
|
||||
|
||||
|
||||
// GL_ATI_fragment_shader extension
|
||||
//===================================
|
||||
|
||||
extern NEL_PFNGLGENFRAGMENTSHADERSATIPROC nglGenFragmentShadersATI;
|
||||
extern NEL_PFNGLBINDFRAGMENTSHADERATIPROC nglBindFragmentShaderATI;
|
||||
extern NEL_PFNGLDELETEFRAGMENTSHADERATIPROC nglDeleteFragmentShaderATI;
|
||||
extern NEL_PFNGLBEGINFRAGMENTSHADERATIPROC nglBeginFragmentShaderATI;
|
||||
extern NEL_PFNGLENDFRAGMENTSHADERATIPROC nglEndFragmentShaderATI;
|
||||
extern NEL_PFNGLPASSTEXCOORDATIPROC nglPassTexCoordATI;
|
||||
extern NEL_PFNGLSAMPLEMAPATIPROC nglSampleMapATI;
|
||||
extern NEL_PFNGLCOLORFRAGMENTOP1ATIPROC nglColorFragmentOp1ATI;
|
||||
extern NEL_PFNGLCOLORFRAGMENTOP2ATIPROC nglColorFragmentOp2ATI;
|
||||
extern NEL_PFNGLCOLORFRAGMENTOP3ATIPROC nglColorFragmentOp3ATI;
|
||||
extern NEL_PFNGLALPHAFRAGMENTOP1ATIPROC nglAlphaFragmentOp1ATI;
|
||||
extern NEL_PFNGLALPHAFRAGMENTOP2ATIPROC nglAlphaFragmentOp2ATI;
|
||||
extern NEL_PFNGLALPHAFRAGMENTOP3ATIPROC nglAlphaFragmentOp3ATI;
|
||||
extern NEL_PFNGLSETFRAGMENTSHADERCONSTANTATIPROC nglSetFragmentShaderConstantATI;
|
||||
extern PFNGLGENFRAGMENTSHADERSATIPROC nglGenFragmentShadersATI;
|
||||
extern PFNGLBINDFRAGMENTSHADERATIPROC nglBindFragmentShaderATI;
|
||||
extern PFNGLDELETEFRAGMENTSHADERATIPROC nglDeleteFragmentShaderATI;
|
||||
extern PFNGLBEGINFRAGMENTSHADERATIPROC nglBeginFragmentShaderATI;
|
||||
extern PFNGLENDFRAGMENTSHADERATIPROC nglEndFragmentShaderATI;
|
||||
extern PFNGLPASSTEXCOORDATIPROC nglPassTexCoordATI;
|
||||
extern PFNGLSAMPLEMAPATIPROC nglSampleMapATI;
|
||||
extern PFNGLCOLORFRAGMENTOP1ATIPROC nglColorFragmentOp1ATI;
|
||||
extern PFNGLCOLORFRAGMENTOP2ATIPROC nglColorFragmentOp2ATI;
|
||||
extern PFNGLCOLORFRAGMENTOP3ATIPROC nglColorFragmentOp3ATI;
|
||||
extern PFNGLALPHAFRAGMENTOP1ATIPROC nglAlphaFragmentOp1ATI;
|
||||
extern PFNGLALPHAFRAGMENTOP2ATIPROC nglAlphaFragmentOp2ATI;
|
||||
extern PFNGLALPHAFRAGMENTOP3ATIPROC nglAlphaFragmentOp3ATI;
|
||||
extern PFNGLSETFRAGMENTSHADERCONSTANTATIPROC nglSetFragmentShaderConstantATI;
|
||||
|
||||
// GL_ATI_vertex_attrib_array_object
|
||||
//==================================
|
||||
extern NEL_PFNGLVERTEXATTRIBARRAYOBJECTATIPROC nglVertexAttribArrayObjectATI;
|
||||
extern NEL_PFNGLGETVERTEXATTRIBARRAYOBJECTFVATIPROC nglGetVertexAttribArrayObjectfvATI;
|
||||
extern NEL_PFNGLGETVERTEXATTRIBARRAYOBJECTIVATIPROC nglGetVertexAttribArrayObjectivATI;
|
||||
extern PFNGLVERTEXATTRIBARRAYOBJECTATIPROC nglVertexAttribArrayObjectATI;
|
||||
extern PFNGLGETVERTEXATTRIBARRAYOBJECTFVATIPROC nglGetVertexAttribArrayObjectfvATI;
|
||||
extern PFNGLGETVERTEXATTRIBARRAYOBJECTIVATIPROC nglGetVertexAttribArrayObjectivATI;
|
||||
|
||||
|
||||
|
||||
|
||||
// GL_ARB_fragment_shader_extension
|
||||
//==================================
|
||||
extern NEL_PFNGLPROGRAMSTRINGARBPROC nglProgramStringARB;
|
||||
extern NEL_PFNGLBINDPROGRAMARBPROC nglBindProgramARB;
|
||||
extern NEL_PFNGLDELETEPROGRAMSARBPROC nglDeleteProgramsARB;
|
||||
extern NEL_PFNGLGENPROGRAMSARBPROC nglGenProgramsARB;
|
||||
extern NEL_PFNGLPROGRAMENVPARAMETER4DARBPROC nglProgramEnvParameter4dARB;
|
||||
extern NEL_PFNGLPROGRAMENVPARAMETER4DVARBPROC nglProgramEnvParameter4dvARB;
|
||||
extern NEL_PFNGLPROGRAMENVPARAMETER4FARBPROC nglProgramEnvParameter4fARB;
|
||||
extern NEL_PFNGLPROGRAMENVPARAMETER4FVARBPROC nglProgramEnvParameter4fvARB;
|
||||
extern NEL_PFNGLPROGRAMLOCALPARAMETER4DARBPROC nglGetProgramLocalParameter4dARB;
|
||||
extern NEL_PFNGLPROGRAMLOCALPARAMETER4DVARBPROC nglGetProgramLocalParameter4dvARB;
|
||||
extern NEL_PFNGLPROGRAMLOCALPARAMETER4FARBPROC nglGetProgramLocalParameter4fARB;
|
||||
extern NEL_PFNGLPROGRAMLOCALPARAMETER4FVARBPROC nglGetProgramLocalParameter4fvARB;
|
||||
extern NEL_PFNGLGETPROGRAMENVPARAMETERDVARBPROC nglGetProgramEnvParameterdvARB;
|
||||
extern NEL_PFNGLGETPROGRAMENVPARAMETERFVARBPROC nglGetProgramEnvParameterfvARB;
|
||||
extern NEL_PFNGLGETPROGRAMLOCALPARAMETERDVARBPROC nglGetProgramLocalParameterdvARB;
|
||||
extern NEL_PFNGLGETPROGRAMLOCALPARAMETERFVARBPROC nglGetProgramLocalParameterfvARB;
|
||||
extern NEL_PFNGLGETPROGRAMIVARBPROC nglGetProgramivARB;
|
||||
extern NEL_PFNGLGETPROGRAMSTRINGARBPROC nglGetProgramStringARB;
|
||||
extern NEL_PFNGLISPROGRAMARBPROC nglIsProgramARB;
|
||||
extern PFNGLPROGRAMSTRINGARBPROC nglProgramStringARB;
|
||||
extern PFNGLBINDPROGRAMARBPROC nglBindProgramARB;
|
||||
extern PFNGLDELETEPROGRAMSARBPROC nglDeleteProgramsARB;
|
||||
extern PFNGLGENPROGRAMSARBPROC nglGenProgramsARB;
|
||||
extern PFNGLPROGRAMENVPARAMETER4DARBPROC nglProgramEnvParameter4dARB;
|
||||
extern PFNGLPROGRAMENVPARAMETER4DVARBPROC nglProgramEnvParameter4dvARB;
|
||||
extern PFNGLPROGRAMENVPARAMETER4FARBPROC nglProgramEnvParameter4fARB;
|
||||
extern PFNGLPROGRAMENVPARAMETER4FVARBPROC nglProgramEnvParameter4fvARB;
|
||||
extern PFNGLPROGRAMLOCALPARAMETER4DARBPROC nglGetProgramLocalParameter4dARB;
|
||||
extern PFNGLPROGRAMLOCALPARAMETER4DVARBPROC nglGetProgramLocalParameter4dvARB;
|
||||
extern PFNGLPROGRAMLOCALPARAMETER4FARBPROC nglGetProgramLocalParameter4fARB;
|
||||
extern PFNGLPROGRAMLOCALPARAMETER4FVARBPROC nglGetProgramLocalParameter4fvARB;
|
||||
extern PFNGLGETPROGRAMENVPARAMETERDVARBPROC nglGetProgramEnvParameterdvARB;
|
||||
extern PFNGLGETPROGRAMENVPARAMETERFVARBPROC nglGetProgramEnvParameterfvARB;
|
||||
extern PFNGLGETPROGRAMLOCALPARAMETERDVARBPROC nglGetProgramLocalParameterdvARB;
|
||||
extern PFNGLGETPROGRAMLOCALPARAMETERFVARBPROC nglGetProgramLocalParameterfvARB;
|
||||
extern PFNGLGETPROGRAMIVARBPROC nglGetProgramivARB;
|
||||
extern PFNGLGETPROGRAMSTRINGARBPROC nglGetProgramStringARB;
|
||||
extern PFNGLISPROGRAMARBPROC nglIsProgramARB;
|
||||
|
||||
// GL_ARB_vertex_buffer_object
|
||||
//==================================
|
||||
|
@ -639,7 +662,10 @@ extern PFNGLUNMAPBUFFERARBPROC nglUnmapBufferARB;
|
|||
extern PFNGLGETBUFFERPARAMETERIVARBPROC nglGetBufferParameterivARB;
|
||||
extern PFNGLGETBUFFERPOINTERVARBPROC nglGetBufferPointervARB;
|
||||
|
||||
|
||||
// GL_ARB_map_buffer_range
|
||||
//==================================
|
||||
extern PFNGLMAPBUFFERRANGEPROC nglMapBufferRange;
|
||||
extern PFNGLFLUSHMAPPEDBUFFERRANGEPROC nglFlushMappedBufferRange;
|
||||
|
||||
// GL_ARB_vertex_program
|
||||
//==================================
|
||||
|
@ -708,15 +734,24 @@ extern PFNGLISPROGRAMARBPROC nglIsProgramARB;
|
|||
|
||||
// GL_NV_occlusion_query
|
||||
//==================================
|
||||
extern NEL_PFNGLGENOCCLUSIONQUERIESNVPROC nglGenOcclusionQueriesNV;
|
||||
extern NEL_PFNGLDELETEOCCLUSIONQUERIESNVPROC nglDeleteOcclusionQueriesNV;
|
||||
extern NEL_PFNGLISOCCLUSIONQUERYNVPROC nglIsOcclusionQueryNV;
|
||||
extern NEL_PFNGLBEGINOCCLUSIONQUERYNVPROC nglBeginOcclusionQueryNV;
|
||||
extern NEL_PFNGLENDOCCLUSIONQUERYNVPROC nglEndOcclusionQueryNV;
|
||||
extern NEL_PFNGLGETOCCLUSIONQUERYIVNVPROC nglGetOcclusionQueryivNV;
|
||||
extern NEL_PFNGLGETOCCLUSIONQUERYUIVNVPROC nglGetOcclusionQueryuivNV;
|
||||
|
||||
extern PFNGLGENOCCLUSIONQUERIESNVPROC nglGenOcclusionQueriesNV;
|
||||
extern PFNGLDELETEOCCLUSIONQUERIESNVPROC nglDeleteOcclusionQueriesNV;
|
||||
extern PFNGLISOCCLUSIONQUERYNVPROC nglIsOcclusionQueryNV;
|
||||
extern PFNGLBEGINOCCLUSIONQUERYNVPROC nglBeginOcclusionQueryNV;
|
||||
extern PFNGLENDOCCLUSIONQUERYNVPROC nglEndOcclusionQueryNV;
|
||||
extern PFNGLGETOCCLUSIONQUERYIVNVPROC nglGetOcclusionQueryivNV;
|
||||
extern PFNGLGETOCCLUSIONQUERYUIVNVPROC nglGetOcclusionQueryuivNV;
|
||||
|
||||
// ARB_occlusion_query
|
||||
//==================================
|
||||
extern PFNGLGENQUERIESPROC nglGenQueriesARB;
|
||||
extern PFNGLDELETEQUERIESPROC nglDeleteQueriesARB;
|
||||
extern PFNGLISQUERYPROC nglIsQueryARB;
|
||||
extern PFNGLBEGINQUERYPROC nglBeginQueryARB;
|
||||
extern PFNGLENDQUERYPROC nglEndQueryARB;
|
||||
extern PFNGLGETQUERYIVPROC nglGetQueryivARB;
|
||||
extern PFNGLGETQUERYOBJECTIVPROC nglGetQueryObjectivARB;
|
||||
extern PFNGLGETQUERYOBJECTUIVPROC nglGetQueryObjectuivARB;
|
||||
|
||||
#ifdef NL_OS_WINDOWS
|
||||
|
||||
|
@ -743,46 +778,60 @@ extern PFNWGLGETSWAPINTERVALEXTPROC nwglGetSwapIntervalEXT;
|
|||
|
||||
|
||||
// WGL_ARB_extensions_string
|
||||
extern PFNWGLGETEXTENSIONSSTRINGARBPROC nwglGetExtensionsStringARB;
|
||||
extern PFNWGLGETEXTENSIONSSTRINGARBPROC nwglGetExtensionsStringARB;
|
||||
|
||||
|
||||
// WGL_AMD_gpu_association
|
||||
//========================
|
||||
extern PFNWGLGETGPUIDSAMDPROC nwglGetGPUIDsAMD;
|
||||
extern PFNWGLGETGPUINFOAMDPROC nwglGetGPUInfoAMD;
|
||||
extern PFNWGLGETCONTEXTGPUIDAMDPROC nwglGetContextGPUIDAMD;
|
||||
extern PFNWGLCREATEASSOCIATEDCONTEXTAMDPROC nwglCreateAssociatedContextAMD;
|
||||
extern PFNWGLCREATEASSOCIATEDCONTEXTATTRIBSAMDPROC nwglCreateAssociatedContextAttribsAMD;
|
||||
extern PFNWGLDELETEASSOCIATEDCONTEXTAMDPROC nwglDeleteAssociatedContextAMD;
|
||||
extern PFNWGLMAKEASSOCIATEDCONTEXTCURRENTAMDPROC nwglMakeAssociatedContextCurrentAMD;
|
||||
extern PFNWGLGETCURRENTASSOCIATEDCONTEXTAMDPROC nwglGetCurrentAssociatedContextAMD;
|
||||
extern PFNWGLBLITCONTEXTFRAMEBUFFERAMDPROC nwglBlitContextFramebufferAMD;
|
||||
|
||||
|
||||
#elif defined(NL_OS_MAC)
|
||||
#elif defined(NL_OS_UNIX)
|
||||
|
||||
// Swap control extensions
|
||||
//===========================
|
||||
extern NEL_PFNGLXSWAPINTERVALEXTPROC nglXSwapIntervalEXT;
|
||||
extern PFNGLXSWAPINTERVALEXTPROC nglXSwapIntervalEXT;
|
||||
|
||||
extern PFNGLXSWAPINTERVALSGIPROC nglXSwapIntervalSGI;
|
||||
extern PFNGLXSWAPINTERVALSGIPROC nglXSwapIntervalSGI;
|
||||
|
||||
extern NEL_PFNGLXSWAPINTERVALMESAPROC nglXSwapIntervalMESA;
|
||||
extern NEL_PFNGLXGETSWAPINTERVALMESAPROC nglXGetSwapIntervalMESA;
|
||||
extern PFNGLXSWAPINTERVALMESAPROC nglXSwapIntervalMESA;
|
||||
extern PFNGLXGETSWAPINTERVALMESAPROC nglXGetSwapIntervalMESA;
|
||||
|
||||
#endif
|
||||
|
||||
// GL_EXT_framebuffer_object
|
||||
extern NEL_PFNGLISRENDERBUFFEREXTPROC nglIsRenderbufferEXT;
|
||||
extern NEL_PFNGLISFRAMEBUFFEREXTPROC nglIsFramebufferEXT;
|
||||
extern NEL_PFNGLCHECKFRAMEBUFFERSTATUSEXTPROC nglCheckFramebufferStatusEXT;
|
||||
extern NEL_PFNGLGENFRAMEBUFFERSEXTPROC nglGenFramebuffersEXT;
|
||||
extern NEL_PFNGLBINDFRAMEBUFFEREXTPROC nglBindFramebufferEXT;
|
||||
extern NEL_PFNGLFRAMEBUFFERTEXTURE2DEXTPROC nglFramebufferTexture2DEXT;
|
||||
extern NEL_PFNGLGENRENDERBUFFERSEXTPROC nglGenRenderbuffersEXT;
|
||||
extern NEL_PFNGLBINDRENDERBUFFEREXTPROC nglBindRenderbufferEXT;
|
||||
extern NEL_PFNGLRENDERBUFFERSTORAGEEXTPROC nglRenderbufferStorageEXT;
|
||||
extern NEL_PFNGLFRAMEBUFFERRENDERBUFFEREXTPROC nglFramebufferRenderbufferEXT;
|
||||
extern NEL_PFNGLDELETERENDERBUFFERSEXTPROC nglDeleteRenderbuffersEXT;
|
||||
extern NEL_PFNGLDELETEFRAMEBUFFERSEXTPROC nglDeleteFramebuffersEXT;
|
||||
extern NEL_PFNGETRENDERBUFFERPARAMETERIVEXTPROC nglGetRenderbufferParameterivEXT;
|
||||
extern NEL_PFNGENERATEMIPMAPEXTPROC nglGenerateMipmapEXT;
|
||||
extern PFNGLISRENDERBUFFEREXTPROC nglIsRenderbufferEXT;
|
||||
extern PFNGLISFRAMEBUFFEREXTPROC nglIsFramebufferEXT;
|
||||
extern PFNGLCHECKFRAMEBUFFERSTATUSEXTPROC nglCheckFramebufferStatusEXT;
|
||||
extern PFNGLGENFRAMEBUFFERSEXTPROC nglGenFramebuffersEXT;
|
||||
extern PFNGLBINDFRAMEBUFFEREXTPROC nglBindFramebufferEXT;
|
||||
extern PFNGLFRAMEBUFFERTEXTURE2DEXTPROC nglFramebufferTexture2DEXT;
|
||||
extern PFNGLGENRENDERBUFFERSEXTPROC nglGenRenderbuffersEXT;
|
||||
extern PFNGLBINDRENDERBUFFEREXTPROC nglBindRenderbufferEXT;
|
||||
extern PFNGLRENDERBUFFERSTORAGEEXTPROC nglRenderbufferStorageEXT;
|
||||
extern PFNGLFRAMEBUFFERRENDERBUFFEREXTPROC nglFramebufferRenderbufferEXT;
|
||||
extern PFNGLDELETERENDERBUFFERSEXTPROC nglDeleteRenderbuffersEXT;
|
||||
extern PFNGLDELETEFRAMEBUFFERSEXTPROC nglDeleteFramebuffersEXT;
|
||||
extern PFNGLGETRENDERBUFFERPARAMETERIVEXTPROC nglGetRenderbufferParameterivEXT;
|
||||
extern PFNGLGENERATEMIPMAPEXTPROC nglGenerateMipmapEXT;
|
||||
|
||||
// GL_EXT_framebuffer_blit
|
||||
extern NEL_PFNGLBLITFRAMEBUFFEREXTPROC nglBlitFramebufferEXT;
|
||||
extern PFNGLBLITFRAMEBUFFEREXTPROC nglBlitFramebufferEXT;
|
||||
|
||||
// GL_EXT_framebuffer_multisample
|
||||
extern NEL_PFNGLRENDERBUFFERSTORAGEMULTISAMPLEEXTPROC nglRenderbufferStorageMultisampleEXT;
|
||||
extern PFNGLRENDERBUFFERSTORAGEMULTISAMPLEEXTPROC nglRenderbufferStorageMultisampleEXT;
|
||||
|
||||
// GL_ARB_multisample
|
||||
extern NEL_PFNGLSAMPLECOVERAGEARBPROC nglSampleCoverageARB;
|
||||
extern PFNGLSAMPLECOVERAGEARBPROC nglSampleCoverageARB;
|
||||
|
||||
#endif // USE_OPENGLES
|
||||
|
||||
|
|
|
@ -25,44 +25,8 @@ extern "C" {
|
|||
#endif
|
||||
|
||||
#ifdef USE_OPENGLES
|
||||
// OES_mapbuffer
|
||||
//==============
|
||||
typedef void* (APIENTRY * NEL_PFNGLMAPBUFFEROESPROC) (GLenum target, GLenum access);
|
||||
typedef GLboolean (APIENTRY * NEL_PFNGLUNMAPBUFFEROESPROC) (GLenum target);
|
||||
typedef void (APIENTRY * NEL_PFNGLGETBUFFERPOINTERVOESPROC) (GLenum target, GLenum pname, void** params);
|
||||
|
||||
typedef void (APIENTRY * NEL_PFNGLBUFFERSUBDATAPROC) (GLenum target, GLintptr offset, GLsizeiptr size, const GLvoid *data);
|
||||
|
||||
// GL_OES_framebuffer_object
|
||||
//==================================
|
||||
typedef GLboolean (APIENTRY * NEL_PFNGLISRENDERBUFFEROESPROC) (GLuint renderbuffer);
|
||||
typedef void (APIENTRY * NEL_PFNGLBINDRENDERBUFFEROESPROC) (GLenum target, GLuint renderbuffer);
|
||||
typedef void (APIENTRY * NEL_PFNGLDELETERENDERBUFFERSOESPROC) (GLsizei n, const GLuint* renderbuffers);
|
||||
typedef void (APIENTRY * NEL_PFNGLGENRENDERBUFFERSOESPROC) (GLsizei n, GLuint* renderbuffers);
|
||||
typedef void (APIENTRY * NEL_PFNGLRENDERBUFFERSTORAGEOESPROC) (GLenum target, GLenum internalformat, GLsizei width, GLsizei height);
|
||||
typedef void (APIENTRY * NEL_PFNGLGETRENDERBUFFERPARAMETERIVOESPROC) (GLenum target, GLenum pname, GLint* params);
|
||||
typedef GLboolean (APIENTRY * NEL_PFNGLISFRAMEBUFFEROESPROC) (GLuint framebuffer);
|
||||
typedef void (APIENTRY * NEL_PFNGLBINDFRAMEBUFFEROESPROC) (GLenum target, GLuint framebuffer);
|
||||
typedef void (APIENTRY * NEL_PFNGLDELETEFRAMEBUFFERSOESPROC) (GLsizei n, const GLuint* framebuffers);
|
||||
typedef void (APIENTRY * NEL_PFNGLGENFRAMEBUFFERSOESPROC) (GLsizei n, GLuint* framebuffers);
|
||||
typedef GLenum (APIENTRY * NEL_PFNGLCHECKFRAMEBUFFERSTATUSOESPROC) (GLenum target);
|
||||
typedef void (APIENTRY * NEL_PFNGLFRAMEBUFFERRENDERBUFFEROESPROC) (GLenum target, GLenum attachment, GLenum renderbuffertarget, GLuint renderbuffer);
|
||||
typedef void (APIENTRY * NEL_PFNGLFRAMEBUFFERTEXTURE2DOESPROC) (GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level);
|
||||
typedef void (APIENTRY * NEL_PFNGLGETFRAMEBUFFERATTACHMENTPARAMETERIVOESPROC) (GLenum target, GLenum attachment, GLenum pname, GLint* params);
|
||||
typedef void (APIENTRY * NEL_PFNGLGENERATEMIPMAPOESPROC) (GLenum target);
|
||||
|
||||
// GL_OES_texture_cube_map
|
||||
//==================================
|
||||
typedef void (APIENTRY * NEL_PFNGLTEXGENFOESPROC) (GLenum coord, GLenum pname, GLfloat param);
|
||||
typedef void (APIENTRY * NEL_PFNGLTEXGENFVOESPROC) (GLenum coord, GLenum pname, const GLfloat *params);
|
||||
typedef void (APIENTRY * NEL_PFNGLTEXGENIOESPROC) (GLenum coord, GLenum pname, GLint param);
|
||||
typedef void (APIENTRY * NEL_PFNGLTEXGENIVOESPROC) (GLenum coord, GLenum pname, const GLint *params);
|
||||
typedef void (APIENTRY * NEL_PFNGLTEXGENXOESPROC) (GLenum coord, GLenum pname, GLfixed param);
|
||||
typedef void (APIENTRY * NEL_PFNGLTEXGENXVOESPROC) (GLenum coord, GLenum pname, const GLfixed *params);
|
||||
typedef void (APIENTRY * NEL_PFNGLGETTEXGENFVOESPROC) (GLenum coord, GLenum pname, GLfloat *params);
|
||||
typedef void (APIENTRY * NEL_PFNGLGETTEXGENIVOESPROC) (GLenum coord, GLenum pname, GLint *params);
|
||||
typedef void (APIENTRY * NEL_PFNGLGETTEXGENXVOESPROC) (GLenum coord, GLenum pname, GLfixed *params);
|
||||
|
||||
// use same defines for OpenGL and OpenGL ES to simplify the code
|
||||
#define GL_MULTISAMPLE_ARB GL_MULTISAMPLE
|
||||
#define GL_TEXTURE_CUBE_MAP_ARB GL_TEXTURE_CUBE_MAP_OES
|
||||
#define GL_NONE 0
|
||||
|
@ -86,346 +50,6 @@ typedef void (APIENTRY * NEL_PFNGLGETTEXGENXVOESPROC) (GLenum coord, GLenum pnam
|
|||
|
||||
#else
|
||||
|
||||
// ***************************************************************************
|
||||
// ***************************************************************************
|
||||
// The NEL Functions Typedefs.
|
||||
// Must do it for compatibilities with futures version of gl.h
|
||||
// eg: version 1.2 does not define PFNGLACTIVETEXTUREARBPROC. Hence, do it now, with our special name
|
||||
// ***************************************************************************
|
||||
// ***************************************************************************
|
||||
|
||||
#define WGL_COVERAGE_SAMPLES_NV 0x2042
|
||||
#define WGL_COLOR_SAMPLES_NV 0x20B9
|
||||
|
||||
// ARB_multitexture
|
||||
//=================
|
||||
typedef void (APIENTRY * NEL_PFNGLACTIVETEXTUREARBPROC) (GLenum texture);
|
||||
typedef void (APIENTRY * NEL_PFNGLCLIENTACTIVETEXTUREARBPROC) (GLenum texture);
|
||||
typedef void (APIENTRY * NEL_PFNGLMULTITEXCOORD1DARBPROC) (GLenum target, GLdouble s);
|
||||
typedef void (APIENTRY * NEL_PFNGLMULTITEXCOORD1DVARBPROC) (GLenum target, const GLdouble *v);
|
||||
typedef void (APIENTRY * NEL_PFNGLMULTITEXCOORD1FARBPROC) (GLenum target, GLfloat s);
|
||||
typedef void (APIENTRY * NEL_PFNGLMULTITEXCOORD1FVARBPROC) (GLenum target, const GLfloat *v);
|
||||
typedef void (APIENTRY * NEL_PFNGLMULTITEXCOORD1IARBPROC) (GLenum target, GLint s);
|
||||
typedef void (APIENTRY * NEL_PFNGLMULTITEXCOORD1IVARBPROC) (GLenum target, const GLint *v);
|
||||
typedef void (APIENTRY * NEL_PFNGLMULTITEXCOORD1SARBPROC) (GLenum target, GLshort s);
|
||||
typedef void (APIENTRY * NEL_PFNGLMULTITEXCOORD1SVARBPROC) (GLenum target, const GLshort *v);
|
||||
typedef void (APIENTRY * NEL_PFNGLMULTITEXCOORD2DARBPROC) (GLenum target, GLdouble s, GLdouble t);
|
||||
typedef void (APIENTRY * NEL_PFNGLMULTITEXCOORD2DVARBPROC) (GLenum target, const GLdouble *v);
|
||||
typedef void (APIENTRY * NEL_PFNGLMULTITEXCOORD2FARBPROC) (GLenum target, GLfloat s, GLfloat t);
|
||||
typedef void (APIENTRY * NEL_PFNGLMULTITEXCOORD2FVARBPROC) (GLenum target, const GLfloat *v);
|
||||
typedef void (APIENTRY * NEL_PFNGLMULTITEXCOORD2IARBPROC) (GLenum target, GLint s, GLint t);
|
||||
typedef void (APIENTRY * NEL_PFNGLMULTITEXCOORD2IVARBPROC) (GLenum target, const GLint *v);
|
||||
typedef void (APIENTRY * NEL_PFNGLMULTITEXCOORD2SARBPROC) (GLenum target, GLshort s, GLshort t);
|
||||
typedef void (APIENTRY * NEL_PFNGLMULTITEXCOORD2SVARBPROC) (GLenum target, const GLshort *v);
|
||||
typedef void (APIENTRY * NEL_PFNGLMULTITEXCOORD3DARBPROC) (GLenum target, GLdouble s, GLdouble t, GLdouble r);
|
||||
typedef void (APIENTRY * NEL_PFNGLMULTITEXCOORD3DVARBPROC) (GLenum target, const GLdouble *v);
|
||||
typedef void (APIENTRY * NEL_PFNGLMULTITEXCOORD3FARBPROC) (GLenum target, GLfloat s, GLfloat t, GLfloat r);
|
||||
typedef void (APIENTRY * NEL_PFNGLMULTITEXCOORD3FVARBPROC) (GLenum target, const GLfloat *v);
|
||||
typedef void (APIENTRY * NEL_PFNGLMULTITEXCOORD3IARBPROC) (GLenum target, GLint s, GLint t, GLint r);
|
||||
typedef void (APIENTRY * NEL_PFNGLMULTITEXCOORD3IVARBPROC) (GLenum target, const GLint *v);
|
||||
typedef void (APIENTRY * NEL_PFNGLMULTITEXCOORD3SARBPROC) (GLenum target, GLshort s, GLshort t, GLshort r);
|
||||
typedef void (APIENTRY * NEL_PFNGLMULTITEXCOORD3SVARBPROC) (GLenum target, const GLshort *v);
|
||||
typedef void (APIENTRY * NEL_PFNGLMULTITEXCOORD4DARBPROC) (GLenum target, GLdouble s, GLdouble t, GLdouble r, GLdouble q);
|
||||
typedef void (APIENTRY * NEL_PFNGLMULTITEXCOORD4DVARBPROC) (GLenum target, const GLdouble *v);
|
||||
typedef void (APIENTRY * NEL_PFNGLMULTITEXCOORD4FARBPROC) (GLenum target, GLfloat s, GLfloat t, GLfloat r, GLfloat q);
|
||||
typedef void (APIENTRY * NEL_PFNGLMULTITEXCOORD4FVARBPROC) (GLenum target, const GLfloat *v);
|
||||
typedef void (APIENTRY * NEL_PFNGLMULTITEXCOORD4IARBPROC) (GLenum target, GLint s, GLint t, GLint r, GLint q);
|
||||
typedef void (APIENTRY * NEL_PFNGLMULTITEXCOORD4IVARBPROC) (GLenum target, const GLint *v);
|
||||
typedef void (APIENTRY * NEL_PFNGLMULTITEXCOORD4SARBPROC) (GLenum target, GLshort s, GLshort t, GLshort r, GLshort q);
|
||||
typedef void (APIENTRY * NEL_PFNGLMULTITEXCOORD4SVARBPROC) (GLenum target, const GLshort *v);
|
||||
|
||||
|
||||
// ARB_TextureCompression.
|
||||
//========================
|
||||
typedef void (APIENTRY * NEL_PFNGLCOMPRESSEDTEXIMAGE3DARBPROC) (GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth, GLint border, GLsizei imageSize, const GLvoid *data);
|
||||
typedef void (APIENTRY * NEL_PFNGLCOMPRESSEDTEXIMAGE2DARBPROC) (GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLint border, GLsizei imageSize, const GLvoid *data);
|
||||
typedef void (APIENTRY * NEL_PFNGLCOMPRESSEDTEXIMAGE1DARBPROC) (GLenum target, GLint level, GLenum internalformat, GLsizei width, GLint border, GLsizei imageSize, const GLvoid *data);
|
||||
typedef void (APIENTRY * NEL_PFNGLCOMPRESSEDTEXSUBIMAGE3DARBPROC) (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLsizei imageSize, const GLvoid *data);
|
||||
typedef void (APIENTRY * NEL_PFNGLCOMPRESSEDTEXSUBIMAGE2DARBPROC) (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLsizei imageSize, const GLvoid *data);
|
||||
typedef void (APIENTRY * NEL_PFNGLCOMPRESSEDTEXSUBIMAGE1DARBPROC) (GLenum target, GLint level, GLint xoffset, GLsizei width, GLenum format, GLsizei imageSize, const GLvoid *data);
|
||||
typedef void (APIENTRY * NEL_PFNGLGETCOMPRESSEDTEXIMAGEARBPROC) (GLenum target, GLint level, void *img);
|
||||
|
||||
|
||||
// VertexArrayRangeNV.
|
||||
//====================
|
||||
typedef void (APIENTRY * NEL_PFNGLFLUSHVERTEXARRAYRANGENVPROC) (void);
|
||||
typedef void (APIENTRY * NEL_PFNGLVERTEXARRAYRANGENVPROC) (GLsizei size, const GLvoid *pointer);
|
||||
|
||||
|
||||
// FenceNV.
|
||||
//====================
|
||||
typedef void (APIENTRY * NEL_PFNGLDELETEFENCESNVPROC) (GLsizei n, const GLuint *fences);
|
||||
typedef void (APIENTRY * NEL_PFNGLGENFENCESNVPROC) (GLsizei n, GLuint *fences);
|
||||
typedef GLboolean (APIENTRY * NEL_PFNGLISFENCENVPROC) (GLuint fence);
|
||||
typedef GLboolean (APIENTRY * NEL_PFNGLTESTFENCENVPROC) (GLuint fence);
|
||||
typedef void (APIENTRY * NEL_PFNGLGETFENCEIVNVPROC) (GLuint fence, GLenum pname, GLint *params);
|
||||
typedef void (APIENTRY * NEL_PFNGLFINISHFENCENVPROC) (GLuint fence);
|
||||
typedef void (APIENTRY * NEL_PFNGLSETFENCENVPROC) (GLuint fence, GLenum condition);
|
||||
|
||||
|
||||
// VertexWeighting.
|
||||
//==================
|
||||
typedef void (APIENTRY * NEL_PFNGLVERTEXWEIGHTFEXTPROC) (GLfloat weight);
|
||||
typedef void (APIENTRY * NEL_PFNGLVERTEXWEIGHTFVEXTPROC) (const GLfloat *weight);
|
||||
typedef void (APIENTRY * NEL_PFNGLVERTEXWEIGHTPOINTEREXTPROC) (GLsizei size, GLenum type, GLsizei stride, const GLvoid *pointer);
|
||||
|
||||
|
||||
// VertexProgramExtension.
|
||||
//========================
|
||||
typedef GLboolean (APIENTRY * NEL_PFNGLAREPROGRAMSRESIDENTNVPROC) (GLsizei n, const GLuint *programs, GLboolean *residences);
|
||||
typedef void (APIENTRY * NEL_PFNGLBINDPROGRAMNVPROC) (GLenum target, GLuint id);
|
||||
typedef void (APIENTRY * NEL_PFNGLDELETEPROGRAMSNVPROC) (GLsizei n, const GLuint *programs);
|
||||
typedef void (APIENTRY * NEL_PFNGLEXECUTEPROGRAMNVPROC) (GLenum target, GLuint id, const GLfloat *params);
|
||||
typedef void (APIENTRY * NEL_PFNGLGENPROGRAMSNVPROC) (GLsizei n, GLuint *programs);
|
||||
typedef void (APIENTRY * NEL_PFNGLGETPROGRAMPARAMETERDVNVPROC) (GLenum target, GLuint index, GLenum pname, GLdouble *params);
|
||||
typedef void (APIENTRY * NEL_PFNGLGETPROGRAMPARAMETERFVNVPROC) (GLenum target, GLuint index, GLenum pname, GLfloat *params);
|
||||
typedef void (APIENTRY * NEL_PFNGLGETPROGRAMIVNVPROC) (GLuint id, GLenum pname, GLint *params);
|
||||
typedef void (APIENTRY * NEL_PFNGLGETPROGRAMSTRINGNVPROC) (GLuint id, GLenum pname, GLubyte *program);
|
||||
typedef void (APIENTRY * NEL_PFNGLGETTRACKMATRIXIVNVPROC) (GLenum target, GLuint address, GLenum pname, GLint *params);
|
||||
typedef void (APIENTRY * NEL_PFNGLGETVERTEXATTRIBDVNVPROC) (GLuint index, GLenum pname, GLdouble *params);
|
||||
typedef void (APIENTRY * NEL_PFNGLGETVERTEXATTRIBFVNVPROC) (GLuint index, GLenum pname, GLfloat *params);
|
||||
typedef void (APIENTRY * NEL_PFNGLGETVERTEXATTRIBIVNVPROC) (GLuint index, GLenum pname, GLint *params);
|
||||
typedef void (APIENTRY * NEL_PFNGLGETVERTEXATTRIBPOINTERVNVPROC) (GLuint index, GLenum pname, GLvoid* *pointer);
|
||||
typedef GLboolean (APIENTRY * NEL_PFNGLISPROGRAMNVPROC) (GLuint id);
|
||||
typedef void (APIENTRY * NEL_PFNGLLOADPROGRAMNVPROC) (GLenum target, GLuint id, GLsizei len, const GLubyte *program);
|
||||
typedef void (APIENTRY * NEL_PFNGLPROGRAMPARAMETER4DNVPROC) (GLenum target, GLuint index, GLdouble x, GLdouble y, GLdouble z, GLdouble w);
|
||||
typedef void (APIENTRY * NEL_PFNGLPROGRAMPARAMETER4DVNVPROC) (GLenum target, GLuint index, const GLdouble *v);
|
||||
typedef void (APIENTRY * NEL_PFNGLPROGRAMPARAMETER4FNVPROC) (GLenum target, GLuint index, GLfloat x, GLfloat y, GLfloat z, GLfloat w);
|
||||
typedef void (APIENTRY * NEL_PFNGLPROGRAMPARAMETER4FVNVPROC) (GLenum target, GLuint index, const GLfloat *v);
|
||||
typedef void (APIENTRY * NEL_PFNGLPROGRAMPARAMETERS4DVNVPROC) (GLenum target, GLuint index, GLsizei count, const GLdouble *v);
|
||||
typedef void (APIENTRY * NEL_PFNGLPROGRAMPARAMETERS4FVNVPROC) (GLenum target, GLuint index, GLsizei count, const GLfloat *v);
|
||||
typedef void (APIENTRY * NEL_PFNGLREQUESTRESIDENTPROGRAMSNVPROC) (GLsizei n, const GLuint *programs);
|
||||
typedef void (APIENTRY * NEL_PFNGLTRACKMATRIXNVPROC) (GLenum target, GLuint address, GLenum matrix, GLenum transform);
|
||||
typedef void (APIENTRY * NEL_PFNGLVERTEXATTRIBPOINTERNVPROC) (GLuint index, GLint fsize, GLenum type, GLsizei stride, const GLvoid *pointer);
|
||||
typedef void (APIENTRY * NEL_PFNGLVERTEXATTRIB1DNVPROC) (GLuint index, GLdouble x);
|
||||
typedef void (APIENTRY * NEL_PFNGLVERTEXATTRIB1DVNVPROC) (GLuint index, const GLdouble *v);
|
||||
typedef void (APIENTRY * NEL_PFNGLVERTEXATTRIB1FNVPROC) (GLuint index, GLfloat x);
|
||||
typedef void (APIENTRY * NEL_PFNGLVERTEXATTRIB1FVNVPROC) (GLuint index, const GLfloat *v);
|
||||
typedef void (APIENTRY * NEL_PFNGLVERTEXATTRIB1SNVPROC) (GLuint index, GLshort x);
|
||||
typedef void (APIENTRY * NEL_PFNGLVERTEXATTRIB1SVNVPROC) (GLuint index, const GLshort *v);
|
||||
typedef void (APIENTRY * NEL_PFNGLVERTEXATTRIB2DNVPROC) (GLuint index, GLdouble x, GLdouble y);
|
||||
typedef void (APIENTRY * NEL_PFNGLVERTEXATTRIB2DVNVPROC) (GLuint index, const GLdouble *v);
|
||||
typedef void (APIENTRY * NEL_PFNGLVERTEXATTRIB2FNVPROC) (GLuint index, GLfloat x, GLfloat y);
|
||||
typedef void (APIENTRY * NEL_PFNGLVERTEXATTRIB2FVNVPROC) (GLuint index, const GLfloat *v);
|
||||
typedef void (APIENTRY * NEL_PFNGLVERTEXATTRIB2SNVPROC) (GLuint index, GLshort x, GLshort y);
|
||||
typedef void (APIENTRY * NEL_PFNGLVERTEXATTRIB2SVNVPROC) (GLuint index, const GLshort *v);
|
||||
typedef void (APIENTRY * NEL_PFNGLVERTEXATTRIB3DNVPROC) (GLuint index, GLdouble x, GLdouble y, GLdouble z);
|
||||
typedef void (APIENTRY * NEL_PFNGLVERTEXATTRIB3DVNVPROC) (GLuint index, const GLdouble *v);
|
||||
typedef void (APIENTRY * NEL_PFNGLVERTEXATTRIB3FNVPROC) (GLuint index, GLfloat x, GLfloat y, GLfloat z);
|
||||
typedef void (APIENTRY * NEL_PFNGLVERTEXATTRIB3FVNVPROC) (GLuint index, const GLfloat *v);
|
||||
typedef void (APIENTRY * NEL_PFNGLVERTEXATTRIB3SNVPROC) (GLuint index, GLshort x, GLshort y, GLshort z);
|
||||
typedef void (APIENTRY * NEL_PFNGLVERTEXATTRIB3SVNVPROC) (GLuint index, const GLshort *v);
|
||||
typedef void (APIENTRY * NEL_PFNGLVERTEXATTRIB4DNVPROC) (GLuint index, GLdouble x, GLdouble y, GLdouble z, GLdouble w);
|
||||
typedef void (APIENTRY * NEL_PFNGLVERTEXATTRIB4DVNVPROC) (GLuint index, const GLdouble *v);
|
||||
typedef void (APIENTRY * NEL_PFNGLVERTEXATTRIB4FNVPROC) (GLuint index, GLfloat x, GLfloat y, GLfloat z, GLfloat w);
|
||||
typedef void (APIENTRY * NEL_PFNGLVERTEXATTRIB4FVNVPROC) (GLuint index, const GLfloat *v);
|
||||
typedef void (APIENTRY * NEL_PFNGLVERTEXATTRIB4SNVPROC) (GLuint index, GLshort x, GLshort y, GLshort z, GLshort w);
|
||||
typedef void (APIENTRY * NEL_PFNGLVERTEXATTRIB4SVNVPROC) (GLuint index, const GLshort *v);
|
||||
typedef void (APIENTRY * NEL_PFNGLVERTEXATTRIB4UBVNVPROC) (GLuint index, const GLubyte *v);
|
||||
typedef void (APIENTRY * NEL_PFNGLVERTEXATTRIBS1DVNVPROC) (GLuint index, GLsizei count, const GLdouble *v);
|
||||
typedef void (APIENTRY * NEL_PFNGLVERTEXATTRIBS1FVNVPROC) (GLuint index, GLsizei count, const GLfloat *v);
|
||||
typedef void (APIENTRY * NEL_PFNGLVERTEXATTRIBS1SVNVPROC) (GLuint index, GLsizei count, const GLshort *v);
|
||||
typedef void (APIENTRY * NEL_PFNGLVERTEXATTRIBS2DVNVPROC) (GLuint index, GLsizei count, const GLdouble *v);
|
||||
typedef void (APIENTRY * NEL_PFNGLVERTEXATTRIBS2FVNVPROC) (GLuint index, GLsizei count, const GLfloat *v);
|
||||
typedef void (APIENTRY * NEL_PFNGLVERTEXATTRIBS2SVNVPROC) (GLuint index, GLsizei count, const GLshort *v);
|
||||
typedef void (APIENTRY * NEL_PFNGLVERTEXATTRIBS3DVNVPROC) (GLuint index, GLsizei count, const GLdouble *v);
|
||||
typedef void (APIENTRY * NEL_PFNGLVERTEXATTRIBS3FVNVPROC) (GLuint index, GLsizei count, const GLfloat *v);
|
||||
typedef void (APIENTRY * NEL_PFNGLVERTEXATTRIBS3SVNVPROC) (GLuint index, GLsizei count, const GLshort *v);
|
||||
typedef void (APIENTRY * NEL_PFNGLVERTEXATTRIBS4DVNVPROC) (GLuint index, GLsizei count, const GLdouble *v);
|
||||
typedef void (APIENTRY * NEL_PFNGLVERTEXATTRIBS4FVNVPROC) (GLuint index, GLsizei count, const GLfloat *v);
|
||||
typedef void (APIENTRY * NEL_PFNGLVERTEXATTRIBS4SVNVPROC) (GLuint index, GLsizei count, const GLshort *v);
|
||||
typedef void (APIENTRY * NEL_PFNGLVERTEXATTRIBS4UBVNVPROC) (GLuint index, GLsizei count, const GLubyte *v);
|
||||
|
||||
// VertexShaderExtension (EXT)
|
||||
//============================
|
||||
typedef void (APIENTRY * NEL_PFNGLBEGINVERTEXSHADEREXTPROC) ( void );
|
||||
typedef void (APIENTRY * NEL_PFNGLENDVERTEXSHADEREXTPROC) ( void );
|
||||
typedef void (APIENTRY * NEL_PFNGLBINDVERTEXSHADEREXTPROC) ( GLuint id );
|
||||
typedef GLuint (APIENTRY * NEL_PFNGLGENVERTEXSHADERSEXTPROC) ( GLuint range );
|
||||
typedef void (APIENTRY * NEL_PFNGLDELETEVERTEXSHADEREXTPROC) ( GLuint id );
|
||||
typedef void (APIENTRY * NEL_PFNGLSHADEROP1EXTPROC) ( GLenum op, GLuint res, GLuint arg1 );
|
||||
typedef void (APIENTRY * NEL_PFNGLSHADEROP2EXTPROC) ( GLenum op, GLuint res, GLuint arg1, GLuint arg2 );
|
||||
typedef void (APIENTRY * NEL_PFNGLSHADEROP3EXTPROC) ( GLenum op, GLuint res, GLuint arg1, GLuint arg2, GLuint arg3 );
|
||||
typedef void (APIENTRY * NEL_PFNGLSWIZZLEEXTPROC) ( GLuint res, GLuint in, GLenum outX, GLenum outY, GLenum outZ, GLenum outW );
|
||||
typedef void (APIENTRY * NEL_PFNGLWRITEMASKEXTPROC) ( GLuint res, GLuint in, GLenum outX, GLenum outY, GLenum outZ, GLenum outW );
|
||||
typedef void (APIENTRY * NEL_PFNGLINSERTCOMPONENTEXTPROC) ( GLuint res, GLuint src, GLuint num );
|
||||
typedef void (APIENTRY * NEL_PFNGLEXTRACTCOMPONENTEXTPROC) ( GLuint res, GLuint src, GLuint num );
|
||||
typedef GLuint (APIENTRY * NEL_PFNGLGENSYMBOLSEXTPROC) ( GLenum datatype, GLenum storagetype, GLenum range, GLuint components ) ;
|
||||
typedef void (APIENTRY * NEL_PFNGLSETINVARIANTEXTPROC) ( GLuint id, GLenum type, void *addr );
|
||||
typedef void (APIENTRY * NEL_PFNGLSETLOCALCONSTANTEXTPROC) ( GLuint id, GLenum type, void *addr );
|
||||
typedef void (APIENTRY * NEL_PFNGLVARIANTPOINTEREXTPROC) ( GLuint id, GLenum type, GLuint stride, void *addr );
|
||||
typedef void (APIENTRY * NEL_PFNGLENABLEVARIANTCLIENTSTATEEXTPROC) ( GLuint id);
|
||||
typedef void (APIENTRY * NEL_PFNGLDISABLEVARIANTCLIENTSTATEEXTPROC) ( GLuint id);
|
||||
typedef GLuint (APIENTRY * NEL_PFNGLBINDLIGHTPARAMETEREXTPROC) ( GLenum light, GLenum value);
|
||||
typedef GLuint (APIENTRY * NEL_PFNGLBINDMATERIALPARAMETEREXTPROC) ( GLenum face, GLenum value);
|
||||
typedef GLuint (APIENTRY * NEL_PFNGLBINDTEXGENPARAMETEREXTPROC) ( GLenum unit, GLenum coord, GLenum value);
|
||||
typedef GLuint (APIENTRY * NEL_PFNGLBINDTEXTUREUNITPARAMETEREXTPROC) ( GLenum unit, GLenum value);
|
||||
typedef GLuint (APIENTRY * NEL_PFNGLBINDPARAMETEREXTPROC) ( GLenum value);
|
||||
typedef GLboolean (APIENTRY * NEL_PFNGLISVARIANTENABLEDEXTPROC) ( GLuint id, GLenum cap);
|
||||
typedef void (APIENTRY * NEL_PFNGLGETVARIANTBOOLEANVEXTPROC) ( GLuint id, GLenum value, GLboolean *data);
|
||||
typedef void (APIENTRY * NEL_PFNGLGETVARIANTINTEGERVEXTPROC) ( GLuint id, GLenum value, GLint *data);
|
||||
typedef void (APIENTRY * NEL_PFNGLGETVARIANTFLOATVEXTPROC) ( GLuint id, GLenum value, GLfloat *data);
|
||||
typedef void (APIENTRY * NEL_PFNGLGETVARIANTPOINTERVEXTPROC) ( GLuint id, GLenum value, void **data);
|
||||
typedef void (APIENTRY * NEL_PFNGLGETINVARIANTBOOLEANVEXTPROC) ( GLuint id, GLenum value, GLboolean *data);
|
||||
typedef void (APIENTRY * NEL_PFNGLGETINVARIANTINTEGERVEXTPROC) ( GLuint id, GLenum value, GLint *data);
|
||||
typedef void (APIENTRY * NEL_PFNGLGETINVARIANTFLOATVEXTPROC) ( GLuint id, GLenum value, GLfloat *data);
|
||||
typedef void (APIENTRY * NEL_PFNGLGETLOCALCONSTANTBOOLEANVEXTPROC) ( GLuint id, GLenum value, GLboolean *data);
|
||||
typedef void (APIENTRY * NEL_PFNGLGETLOCALCONSTANTINTEGERVEXTPROC) ( GLuint id, GLenum value, GLint *data);
|
||||
typedef void (APIENTRY * NEL_PFNGLGETLOCALCONSTANTFLOATVEXTPROC) ( GLuint id, GLenum value, GLfloat *data);
|
||||
|
||||
|
||||
// SecondaryColor extension
|
||||
//========================
|
||||
typedef void (APIENTRY * NEL_PFNGLSECONDARYCOLOR3BEXTPROC) (GLbyte red, GLbyte green, GLbyte blue);
|
||||
typedef void (APIENTRY * NEL_PFNGLSECONDARYCOLOR3BVEXTPROC) (const GLbyte *v);
|
||||
typedef void (APIENTRY * NEL_PFNGLSECONDARYCOLOR3DEXTPROC) (GLdouble red, GLdouble green, GLdouble blue);
|
||||
typedef void (APIENTRY * NEL_PFNGLSECONDARYCOLOR3DVEXTPROC) (const GLdouble *v);
|
||||
typedef void (APIENTRY * NEL_PFNGLSECONDARYCOLOR3FEXTPROC) (GLfloat red, GLfloat green, GLfloat blue);
|
||||
typedef void (APIENTRY * NEL_PFNGLSECONDARYCOLOR3FVEXTPROC) (const GLfloat *v);
|
||||
typedef void (APIENTRY * NEL_PFNGLSECONDARYCOLOR3IEXTPROC) (GLint red, GLint green, GLint blue);
|
||||
typedef void (APIENTRY * NEL_PFNGLSECONDARYCOLOR3IVEXTPROC) (const GLint *v);
|
||||
typedef void (APIENTRY * NEL_PFNGLSECONDARYCOLOR3SEXTPROC) (GLshort red, GLshort green, GLshort blue);
|
||||
typedef void (APIENTRY * NEL_PFNGLSECONDARYCOLOR3SVEXTPROC) (const GLshort *v);
|
||||
typedef void (APIENTRY * NEL_PFNGLSECONDARYCOLOR3UBEXTPROC) (GLubyte red, GLubyte green, GLubyte blue);
|
||||
typedef void (APIENTRY * NEL_PFNGLSECONDARYCOLOR3UBVEXTPROC) (const GLubyte *v);
|
||||
typedef void (APIENTRY * NEL_PFNGLSECONDARYCOLOR3UIEXTPROC) (GLuint red, GLuint green, GLuint blue);
|
||||
typedef void (APIENTRY * NEL_PFNGLSECONDARYCOLOR3UIVEXTPROC) (const GLuint *v);
|
||||
typedef void (APIENTRY * NEL_PFNGLSECONDARYCOLOR3USEXTPROC) (GLushort red, GLushort green, GLushort blue);
|
||||
typedef void (APIENTRY * NEL_PFNGLSECONDARYCOLOR3USVEXTPROC) (const GLushort *v);
|
||||
typedef void (APIENTRY * NEL_PFNGLSECONDARYCOLORPOINTEREXTPROC) (GLint size, GLenum type, GLsizei stride, GLvoid *pointer);
|
||||
|
||||
|
||||
// BlendColor extension
|
||||
//========================
|
||||
typedef void (APIENTRY * NEL_PFNGLBLENDCOLOREXTPROC) (GLclampf red, GLclampf green, GLclampf blue, GLclampf alpha);
|
||||
|
||||
|
||||
// GL_ATI_vertex_array_object extension
|
||||
//========================
|
||||
typedef GLuint (APIENTRY * NEL_PFNGLNEWOBJECTBUFFERATIPROC) (GLsizei size, const GLvoid *pointer, GLenum usage);
|
||||
typedef GLboolean (APIENTRY * NEL_PFNGLISOBJECTBUFFERATIPROC) (GLuint buffer);
|
||||
typedef void (APIENTRY * NEL_PFNGLUPDATEOBJECTBUFFERATIPROC) (GLuint buffer, GLuint offset, GLsizei size, const GLvoid *pointer, GLenum preserve);
|
||||
typedef void (APIENTRY * NEL_PFNGLGETOBJECTBUFFERFVATIPROC) (GLuint buffer, GLenum pname, GLfloat *params);
|
||||
typedef void (APIENTRY * NEL_PFNGLGETOBJECTBUFFERIVATIPROC) (GLuint buffer, GLenum pname, GLint *params);
|
||||
typedef void (APIENTRY * NEL_PFNGLDELETEOBJECTBUFFERATIPROC) (GLuint buffer);
|
||||
typedef void (APIENTRY * NEL_PFNGLARRAYOBJECTATIPROC) (GLenum array, GLint size, GLenum type, GLsizei stride, GLuint buffer, GLuint offset);
|
||||
typedef void (APIENTRY * NEL_PFNGLGETARRAYOBJECTFVATIPROC) (GLenum array, GLenum pname, GLfloat *params);
|
||||
typedef void (APIENTRY * NEL_PFNGLGETARRAYOBJECTIVATIPROC) (GLenum array, GLenum pname, GLint *params);
|
||||
typedef void (APIENTRY * NEL_PFNGLVARIANTARRAYOBJECTATIPROC) (GLuint id, GLenum type, GLsizei stride, GLuint buffer, GLuint offset);
|
||||
typedef void (APIENTRY * NEL_PFNGLGETVARIANTARRAYOBJECTFVATIPROC) (GLuint id, GLenum pname, GLfloat *params);
|
||||
typedef void (APIENTRY * NEL_PFNGLGETVARIANTARRAYOBJECTIVATIPROC) (GLuint id, GLenum pname, GLint *params);
|
||||
|
||||
|
||||
// GL_ATI_fragment_shader extension
|
||||
//==================================
|
||||
typedef GLuint (APIENTRY *NEL_PFNGLGENFRAGMENTSHADERSATIPROC)(GLuint range);
|
||||
typedef GLvoid (APIENTRY *NEL_PFNGLBINDFRAGMENTSHADERATIPROC)(GLuint id);
|
||||
typedef GLvoid (APIENTRY *NEL_PFNGLDELETEFRAGMENTSHADERATIPROC)(GLuint id);
|
||||
typedef GLvoid (APIENTRY *NEL_PFNGLBEGINFRAGMENTSHADERATIPROC)();
|
||||
typedef GLvoid (APIENTRY *NEL_PFNGLENDFRAGMENTSHADERATIPROC)();
|
||||
typedef GLvoid (APIENTRY *NEL_PFNGLPASSTEXCOORDATIPROC)(GLuint dst, GLuint coord, GLenum swizzle);
|
||||
typedef GLvoid (APIENTRY *NEL_PFNGLSAMPLEMAPATIPROC)(GLuint dst, GLuint interp, GLenum swizzle);
|
||||
typedef GLvoid (APIENTRY *NEL_PFNGLCOLORFRAGMENTOP1ATIPROC)(GLenum op, GLuint dst, GLuint dstMask,
|
||||
GLuint dstMod, GLuint arg1, GLuint arg1Rep,
|
||||
GLuint arg1Mod);
|
||||
typedef GLvoid (APIENTRY *NEL_PFNGLCOLORFRAGMENTOP2ATIPROC)(GLenum op, GLuint dst, GLuint dstMask,
|
||||
GLuint dstMod, GLuint arg1, GLuint arg1Rep,
|
||||
GLuint arg1Mod, GLuint arg2, GLuint arg2Rep,
|
||||
GLuint arg2Mod);
|
||||
typedef GLvoid (APIENTRY *NEL_PFNGLCOLORFRAGMENTOP3ATIPROC)(GLenum op, GLuint dst, GLuint dstMask,
|
||||
GLuint dstMod, GLuint arg1, GLuint arg1Rep,
|
||||
GLuint arg1Mod, GLuint arg2, GLuint arg2Rep,
|
||||
GLuint arg2Mod, GLuint arg3, GLuint arg3Rep,
|
||||
GLuint arg3Mod);
|
||||
typedef GLvoid (APIENTRY *NEL_PFNGLALPHAFRAGMENTOP1ATIPROC)(GLenum op, GLuint dst, GLuint dstMod,
|
||||
GLuint arg1, GLuint arg1Rep, GLuint arg1Mod);
|
||||
typedef GLvoid (APIENTRY *NEL_PFNGLALPHAFRAGMENTOP2ATIPROC)(GLenum op, GLuint dst, GLuint dstMod,
|
||||
GLuint arg1, GLuint arg1Rep, GLuint arg1Mod,
|
||||
GLuint arg2, GLuint arg2Rep, GLuint arg2Mod);
|
||||
typedef GLvoid (APIENTRY *NEL_PFNGLALPHAFRAGMENTOP3ATIPROC)(GLenum op, GLuint dst, GLuint dstMod,
|
||||
GLuint arg1, GLuint arg1Rep, GLuint arg1Mod,
|
||||
GLuint arg2, GLuint arg2Rep, GLuint arg2Mod,
|
||||
GLuint arg3, GLuint arg3Rep, GLuint arg3Mod);
|
||||
typedef GLvoid (APIENTRY *NEL_PFNGLSETFRAGMENTSHADERCONSTANTATIPROC)(GLuint dst, const GLfloat *value);
|
||||
|
||||
|
||||
|
||||
// GL_ATI_map_object_buffer
|
||||
//==================================
|
||||
typedef void *(APIENTRY * NEL_PFNGLMAPOBJECTBUFFERATIPROC)(GLuint buffer);
|
||||
typedef void (APIENTRY * NEL_PFNGLUNMAPOBJECTBUFFERATIPROC)(GLuint buffer);
|
||||
|
||||
|
||||
// GL_ATI_vertex_attrib_array_object
|
||||
//==================================
|
||||
|
||||
typedef GLvoid (APIENTRY * NEL_PFNGLVERTEXATTRIBARRAYOBJECTATIPROC)(GLuint index, GLint size, GLenum type, GLboolean normalized, GLsizei stride, GLuint buffer, GLuint offset);
|
||||
typedef GLvoid (APIENTRY * NEL_PFNGLGETVERTEXATTRIBARRAYOBJECTFVATIPROC)(GLuint index, GLenum pname, GLfloat *params);
|
||||
typedef GLvoid (APIENTRY * NEL_PFNGLGETVERTEXATTRIBARRAYOBJECTIVATIPROC)(GLuint index, GLenum pname, GLint *params);
|
||||
|
||||
|
||||
|
||||
|
||||
// GL_ARB_fragment_program
|
||||
//==================================
|
||||
typedef GLvoid (APIENTRY *NEL_PFNGLPROGRAMSTRINGARBPROC)(GLenum target, GLenum format, GLsizei len,const GLvoid *string);
|
||||
typedef GLvoid (APIENTRY *NEL_PFNGLBINDPROGRAMARBPROC)(GLenum target, GLuint program);
|
||||
typedef GLvoid (APIENTRY *NEL_PFNGLDELETEPROGRAMSARBPROC)(GLsizei n, const GLuint *programs);
|
||||
typedef GLvoid (APIENTRY *NEL_PFNGLGENPROGRAMSARBPROC)(GLsizei n, GLuint *programs);
|
||||
typedef GLvoid (APIENTRY *NEL_PFNGLPROGRAMENVPARAMETER4DARBPROC)(GLenum target, GLuint index, GLdouble x, GLdouble y, GLdouble z, GLdouble w);
|
||||
typedef GLvoid (APIENTRY *NEL_PFNGLPROGRAMENVPARAMETER4DVARBPROC)(GLenum target, GLuint index, const GLdouble *params);
|
||||
typedef GLvoid (APIENTRY *NEL_PFNGLPROGRAMENVPARAMETER4FARBPROC)(GLenum target, GLuint index, GLfloat x, GLfloat y, GLfloat z, GLfloat w);
|
||||
typedef GLvoid (APIENTRY *NEL_PFNGLPROGRAMENVPARAMETER4FVARBPROC)(GLenum target, GLuint index, const GLfloat *params);
|
||||
typedef GLvoid (APIENTRY *NEL_PFNGLPROGRAMLOCALPARAMETER4DARBPROC)(GLenum target, GLuint index, GLdouble x, GLdouble y, GLdouble z, GLdouble w);
|
||||
typedef GLvoid (APIENTRY *NEL_PFNGLPROGRAMLOCALPARAMETER4DVARBPROC)(GLenum target, GLuint index, const GLdouble *params);
|
||||
typedef GLvoid (APIENTRY *NEL_PFNGLPROGRAMLOCALPARAMETER4FARBPROC)(GLenum target, GLuint index, GLfloat x, GLfloat y, GLfloat z, GLfloat w);
|
||||
typedef GLvoid (APIENTRY *NEL_PFNGLPROGRAMLOCALPARAMETER4FVARBPROC)(GLenum target, GLuint index, const GLfloat *params);
|
||||
typedef GLvoid (APIENTRY *NEL_PFNGLGETPROGRAMENVPARAMETERDVARBPROC)(GLenum target, GLuint index, GLdouble *params);
|
||||
typedef GLvoid (APIENTRY *NEL_PFNGLGETPROGRAMENVPARAMETERFVARBPROC)(GLenum target, GLuint index, GLfloat *params);
|
||||
typedef GLvoid (APIENTRY *NEL_PFNGLGETPROGRAMLOCALPARAMETERDVARBPROC)(GLenum target, GLuint index, GLdouble *params);
|
||||
typedef GLvoid (APIENTRY *NEL_PFNGLGETPROGRAMLOCALPARAMETERFVARBPROC)(GLenum target, GLuint index, GLfloat *params);
|
||||
typedef GLvoid (APIENTRY *NEL_PFNGLGETPROGRAMIVARBPROC)(GLenum target, GLenum pname, int *params);
|
||||
typedef GLvoid (APIENTRY *NEL_PFNGLGETPROGRAMSTRINGARBPROC)(GLenum target, GLenum pname, GLvoid *string);
|
||||
typedef GLboolean (APIENTRY *NEL_PFNGLISPROGRAMARBPROC)(GLuint program);
|
||||
|
||||
|
||||
typedef GLboolean (APIENTRY * NEL_PFNGLISRENDERBUFFEREXTPROC) (GLuint renderbuffer);
|
||||
typedef GLboolean (APIENTRY * NEL_PFNGLISFRAMEBUFFEREXTPROC) (GLuint framebuffer);
|
||||
typedef GLenum (APIENTRY * NEL_PFNGLCHECKFRAMEBUFFERSTATUSEXTPROC) (GLenum pname);
|
||||
typedef GLvoid (APIENTRY * NEL_PFNGLGENFRAMEBUFFERSEXTPROC) (GLsizei n, GLuint *framebuffers);
|
||||
typedef GLvoid (APIENTRY * NEL_PFNGLBINDFRAMEBUFFEREXTPROC) (GLenum target, GLuint framebuffer);
|
||||
typedef GLvoid (APIENTRY * NEL_PFNGLFRAMEBUFFERTEXTURE2DEXTPROC) (GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level);
|
||||
typedef GLvoid (APIENTRY * NEL_PFNGLGENRENDERBUFFERSEXTPROC) (GLsizei n, GLuint *renderbuffers);
|
||||
typedef GLvoid (APIENTRY * NEL_PFNGLBINDRENDERBUFFEREXTPROC) (GLenum target, GLuint renderbuffer);
|
||||
typedef GLvoid (APIENTRY * NEL_PFNGLRENDERBUFFERSTORAGEEXTPROC) (GLenum target, GLenum internalformat, GLsizei width, GLsizei height);
|
||||
typedef GLvoid (APIENTRY * NEL_PFNGLFRAMEBUFFERRENDERBUFFEREXTPROC) (GLenum target, GLenum attachment, GLenum renderbuffertarget, GLuint renderbuffer);
|
||||
typedef GLvoid (APIENTRY * NEL_PFNGLDELETERENDERBUFFERSEXTPROC) (GLsizei n, const GLuint *renderbuffers);
|
||||
typedef GLvoid (APIENTRY * NEL_PFNGLDELETEFRAMEBUFFERSEXTPROC) (GLsizei n, const GLuint *framebuffers);
|
||||
typedef GLvoid (APIENTRY * NEL_PFNGETRENDERBUFFERPARAMETERIVEXTPROC) (GLenum target, GLenum pname, GLint *params);
|
||||
typedef GLvoid (APIENTRY * NEL_PFNGENERATEMIPMAPEXTPROC) (GLenum target);
|
||||
|
||||
typedef GLvoid (APIENTRY * NEL_PFNGLBLITFRAMEBUFFEREXTPROC) (GLint srcX0, GLint srcY0, GLint srcX1, GLint srcY1, GLint dstX0, GLint dstY0, GLint dstX1, GLint dstY1, GLbitfield mask, GLenum filter);
|
||||
|
||||
typedef GLvoid (APIENTRY * NEL_PFNGLRENDERBUFFERSTORAGEMULTISAMPLEEXTPROC) (GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height);
|
||||
|
||||
#ifndef NL_GL_NV_occlusion_query
|
||||
#define NL_GL_NV_occlusion_query 1
|
||||
|
||||
typedef GLvoid (APIENTRY * NEL_PFNGLGENOCCLUSIONQUERIESNVPROC) (GLsizei n, GLuint *ids);
|
||||
typedef GLvoid (APIENTRY * NEL_PFNGLDELETEOCCLUSIONQUERIESNVPROC) (GLsizei n, const GLuint *ids);
|
||||
typedef GLboolean (APIENTRY * NEL_PFNGLISOCCLUSIONQUERYNVPROC) (GLuint id);
|
||||
typedef GLvoid (APIENTRY * NEL_PFNGLBEGINOCCLUSIONQUERYNVPROC) (GLuint id);
|
||||
typedef GLvoid (APIENTRY * NEL_PFNGLENDOCCLUSIONQUERYNVPROC) ();
|
||||
typedef GLvoid (APIENTRY * NEL_PFNGLGETOCCLUSIONQUERYIVNVPROC) (GLuint id, GLenum pname, GLint *params);
|
||||
typedef GLvoid (APIENTRY * NEL_PFNGLGETOCCLUSIONQUERYUIVNVPROC) (GLuint id, GLenum pname, GLuint *params);
|
||||
|
||||
#endif /* GL_NV_occlusion_query */
|
||||
|
||||
#ifndef NL_GL_ARB_multisample
|
||||
#define NL_GL_ARB_multisample 1
|
||||
typedef GLvoid (APIENTRY * NEL_PFNGLSAMPLECOVERAGEARBPROC) (GLclampf value, GLboolean invert);
|
||||
#endif
|
||||
|
||||
#if defined(NL_OS_MAC)
|
||||
|
||||
// Mac GL extensions
|
||||
|
@ -433,18 +57,6 @@ typedef GLvoid (APIENTRY * NEL_PFNGLSAMPLECOVERAGEARBPROC) (GLclampf value, G
|
|||
#elif defined(NL_OS_UNIX)
|
||||
|
||||
// GLX extensions
|
||||
#ifndef NL_GLX_EXT_swap_control
|
||||
#define NL_GLX_EXT_swap_control 1
|
||||
|
||||
#ifndef GLX_EXT_swap_control
|
||||
#define GLX_SWAP_INTERVAL_EXT 0x20F1
|
||||
#define GLX_MAX_SWAP_INTERVAL_EXT 0x20F2
|
||||
#endif
|
||||
|
||||
typedef GLint (APIENTRY * NEL_PFNGLXSWAPINTERVALEXTPROC) (Display *dpy, GLXDrawable drawable, GLint interval);
|
||||
|
||||
#endif // NL_GLX_EXT_swap_control
|
||||
|
||||
#ifndef NL_GLX_MESA_swap_control
|
||||
#define NL_GLX_MESA_swap_control 1
|
||||
|
||||
|
|
|
@ -799,9 +799,7 @@ uint CDriverGL::getDoubleClickDelay(bool hardwareMouse)
|
|||
}
|
||||
|
||||
#elif defined(NL_OS_MAC)
|
||||
# warning "OpenGL Driver: Missing Mac Implementation for getDoubleClickDelay"
|
||||
nlwarning("OpenGL Driver: Missing Mac Implementation for getDoubleClickDelay");
|
||||
|
||||
// TODO: Missing Mac Implementation for getDoubleClickDelay
|
||||
#elif defined (NL_OS_UNIX)
|
||||
|
||||
// TODO for Linux
|
||||
|
|
|
@ -70,13 +70,16 @@ CPixelProgamDrvInfosGL::CPixelProgamDrvInfosGL (CDriverGL *drv, ItGPUPrgDrvInfoP
|
|||
|
||||
bool CDriverGL::supportPixelProgram(CPixelProgram::TProfile profile) const
|
||||
{
|
||||
H_AUTO_OGL(CPixelProgamDrvInfosGL_supportPixelProgram_profile)
|
||||
H_AUTO_OGL(CPixelProgamDrvInfosGL_supportPixelProgram_profile);
|
||||
|
||||
switch (profile)
|
||||
{
|
||||
case CPixelProgram::arbfp1:
|
||||
return _Extensions.ARBFragmentProgram;
|
||||
case CPixelProgram::fp40:
|
||||
return _Extensions.NVFragmentProgram2;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
|
|
@ -2269,7 +2269,7 @@ void CDriverGL::swapTextureHandle(ITexture &tex0, ITexture &tex1)
|
|||
|
||||
|
||||
// ***************************************************************************
|
||||
uint CDriverGL::getTextureHandle(const ITexture &tex)
|
||||
uintptr_t CDriverGL::getTextureHandle(const ITexture &tex)
|
||||
{
|
||||
H_AUTO_OGL(CDriverGL_getTextureHandle)
|
||||
// If DrvShare not setuped
|
||||
|
|
|
@ -60,6 +60,8 @@ inline void CDriverGL::setUniform4fInl(TProgram program, uint index, float f0, f
|
|||
nglProgramEnvParameter4fARB(GL_FRAGMENT_PROGRAM_ARB, index, f0, f1, f2, f3);
|
||||
}
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
#endif
|
||||
}
|
||||
|
@ -100,6 +102,8 @@ inline void CDriverGL::setUniform4fvInl(TProgram program, uint index, size_t num
|
|||
}
|
||||
}
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
#endif
|
||||
}
|
||||
|
|
|
@ -147,9 +147,9 @@ bool CDriverGL::setupVertexBuffer(CVertexBuffer& VB)
|
|||
CVBDrvInfosGL *info = new CVBDrvInfosGL(this, it, &VB);
|
||||
*it= VB.DrvInfos = info;
|
||||
|
||||
// Preferred memory
|
||||
// Preferred memory, AGPVolatile only goes through when ARBMapBufferRange is available
|
||||
CVertexBuffer::TPreferredMemory preferred = VB.getPreferredMemory ();
|
||||
if ((preferred == CVertexBuffer::RAMVolatile) || (preferred == CVertexBuffer::AGPVolatile))
|
||||
if ((preferred == CVertexBuffer::RAMVolatile) || (preferred == CVertexBuffer::AGPVolatile && !_Extensions.ARBMapBufferRange))
|
||||
preferred = CVertexBuffer::RAMPreferred;
|
||||
const uint size = VB.capacity()*VB.getVertexSize();
|
||||
uint preferredMemory = _Extensions.DisableHardwareVertexArrayAGP ? CVertexBuffer::RAMPreferred : preferred;
|
||||
|
@ -159,6 +159,12 @@ bool CDriverGL::setupVertexBuffer(CVertexBuffer& VB)
|
|||
info->_VBHard = createVertexBufferHard(size, VB.capacity(), (CVertexBuffer::TPreferredMemory)preferredMemory, &VB);
|
||||
if (info->_VBHard)
|
||||
break;
|
||||
|
||||
if ((CVertexBuffer::TPreferredMemory)preferredMemory == CVertexBuffer::AGPVolatile)
|
||||
{
|
||||
preferredMemory = CVertexBuffer::RAMPreferred;
|
||||
break;
|
||||
}
|
||||
preferredMemory--;
|
||||
}
|
||||
|
||||
|
@ -170,7 +176,7 @@ bool CDriverGL::setupVertexBuffer(CVertexBuffer& VB)
|
|||
}
|
||||
|
||||
// Upload the data
|
||||
VB.setLocation ((CVertexBuffer::TLocation)preferredMemory);
|
||||
VB.setLocation(preferredMemory == CVertexBuffer::AGPVolatile ? CVertexBuffer::AGPResident : (CVertexBuffer::TLocation)preferredMemory);
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -740,7 +746,7 @@ bool CDriverGL::supportVertexBufferHard() const
|
|||
bool CDriverGL::supportVolatileVertexBuffer() const
|
||||
{
|
||||
H_AUTO_OGL(CDriverGL_supportVolatileVertexBuffer)
|
||||
return false;
|
||||
return _Extensions.ARBMapBufferRange;
|
||||
}
|
||||
|
||||
|
||||
|
@ -769,6 +775,7 @@ IVertexBufferHardGL *CDriverGL::createVertexBufferHard(uint size, uint numVertic
|
|||
IVertexArrayRange *vertexArrayRange= NULL;
|
||||
switch(vbType)
|
||||
{
|
||||
case CVertexBuffer::AGPVolatile:
|
||||
case CVertexBuffer::AGPPreferred:
|
||||
vertexArrayRange= _AGPVertexArrayRange;
|
||||
break;
|
||||
|
@ -1809,7 +1816,7 @@ void CDriverGL::fenceOnCurVBHardIfNeeded(IVertexBufferHardGL *newVBHard)
|
|||
|
||||
#ifndef USE_OPENGLES
|
||||
// If old is not a VBHard, or if not a NVidia VBHard, no-op.
|
||||
if( _CurrentVertexBufferHard==NULL || !_CurrentVertexBufferHard->VBType == IVertexBufferHardGL::NVidiaVB)
|
||||
if( _CurrentVertexBufferHard==NULL || _CurrentVertexBufferHard->VBType != IVertexBufferHardGL::NVidiaVB)
|
||||
return;
|
||||
|
||||
// if we do not activate the same (NB: newVBHard==NULL if not a VBHard).
|
||||
|
|
|
@ -551,7 +551,7 @@ void CVertexArrayRangeATI::free()
|
|||
_HeapMemory.reset();
|
||||
|
||||
// Free special memory.
|
||||
nglDeleteObjectBufferATI(_VertexObjectId);
|
||||
nglFreeObjectBufferATI(_VertexObjectId);
|
||||
|
||||
_Allocated= false;
|
||||
_VertexArraySize= 0;
|
||||
|
@ -839,7 +839,7 @@ bool CVertexArrayRangeMapObjectATI::allocate(uint32 size, CVertexBuffer::TPrefer
|
|||
if (vertexObjectId)
|
||||
{
|
||||
// free the object
|
||||
nglDeleteObjectBufferATI(vertexObjectId);
|
||||
nglFreeObjectBufferATI(vertexObjectId);
|
||||
//
|
||||
_SizeAllocated = size;
|
||||
_VBType = vbType;
|
||||
|
@ -924,7 +924,7 @@ CVertexBufferHardGLMapObjectATI::CVertexBufferHardGLMapObjectATI(CDriverGL *drv,
|
|||
CVertexBufferHardGLMapObjectATI::~CVertexBufferHardGLMapObjectATI()
|
||||
{
|
||||
H_AUTO_OGL(CVertexBufferHardGLMapObjectATI_CVertexBufferHardGLMapObjectATIDtor)
|
||||
if (_VertexObjectId) nglDeleteObjectBufferATI(_VertexObjectId);
|
||||
if (_VertexObjectId) nglFreeObjectBufferATI(_VertexObjectId);
|
||||
#ifdef NL_DEBUG
|
||||
if (_VertexPtr)
|
||||
{
|
||||
|
@ -1114,7 +1114,7 @@ void CVertexArrayRangeMapObjectATI::updateLostBuffers()
|
|||
{
|
||||
nlassert((*it)->_VertexObjectId);
|
||||
nlassert(nglIsObjectBufferATI((*it)->_VertexObjectId));
|
||||
nglDeleteObjectBufferATI((*it)->_VertexObjectId);
|
||||
nglFreeObjectBufferATI((*it)->_VertexObjectId);
|
||||
(*it)->_VertexObjectId = 0;
|
||||
(*it)->VB->setLocation(CVertexBuffer::NotResident);
|
||||
}
|
||||
|
@ -1174,6 +1174,9 @@ bool CVertexArrayRangeARB::allocate(uint32 size, CVertexBuffer::TPreferredMemory
|
|||
|
||||
switch(vbType)
|
||||
{
|
||||
case CVertexBuffer::AGPVolatile:
|
||||
glBufferDataARB(GL_ARRAY_BUFFER_ARB, size, NULL, GL_STREAM_DRAW_ARB);
|
||||
break;
|
||||
case CVertexBuffer::AGPPreferred:
|
||||
glBufferDataARB(GL_ARRAY_BUFFER_ARB, size, NULL, GL_DYNAMIC_DRAW_ARB);
|
||||
break;
|
||||
|
@ -1221,13 +1224,14 @@ IVertexBufferHardGL *CVertexArrayRangeARB::createVBHardGL(uint size, CVertexBuff
|
|||
|
||||
if (glGetError() != GL_NO_ERROR) return NULL;
|
||||
_Driver->_DriverGLStates.forceBindARBVertexBuffer(vertexBufferID);
|
||||
switch(_VBType)
|
||||
CVertexBuffer::TPreferredMemory preferred = vb->getPreferredMemory();
|
||||
switch (preferred)
|
||||
{
|
||||
case CVertexBuffer::AGPPreferred:
|
||||
case CVertexBuffer::AGPVolatile:
|
||||
#ifdef USE_OPENGLES
|
||||
glBufferData(GL_ARRAY_BUFFER, size, NULL, GL_DYNAMIC_DRAW);
|
||||
glBufferData(GL_ARRAY_BUFFER, size, NULL, GL_STREAM_DRAW);
|
||||
#else
|
||||
nglBufferDataARB(GL_ARRAY_BUFFER_ARB, size, NULL, GL_DYNAMIC_DRAW_ARB);
|
||||
nglBufferDataARB(GL_ARRAY_BUFFER_ARB, size, NULL, GL_STREAM_DRAW_ARB);
|
||||
#endif
|
||||
break;
|
||||
case CVertexBuffer::StaticPreferred:
|
||||
|
@ -1244,8 +1248,13 @@ IVertexBufferHardGL *CVertexArrayRangeARB::createVBHardGL(uint size, CVertexBuff
|
|||
nglBufferDataARB(GL_ARRAY_BUFFER_ARB, size, NULL, GL_DYNAMIC_DRAW_ARB);
|
||||
#endif
|
||||
break;
|
||||
// case CVertexBuffer::AGPPreferred:
|
||||
default:
|
||||
nlassert(0);
|
||||
#ifdef USE_OPENGLES
|
||||
glBufferData(GL_ARRAY_BUFFER, size, NULL, GL_DYNAMIC_DRAW);
|
||||
#else
|
||||
nglBufferDataARB(GL_ARRAY_BUFFER_ARB, size, NULL, GL_DYNAMIC_DRAW_ARB);
|
||||
#endif
|
||||
break;
|
||||
}
|
||||
if (glGetError() != GL_NO_ERROR)
|
||||
|
@ -1259,7 +1268,7 @@ IVertexBufferHardGL *CVertexArrayRangeARB::createVBHardGL(uint size, CVertexBuff
|
|||
return NULL;
|
||||
}
|
||||
CVertexBufferHardARB *newVbHard= new CVertexBufferHardARB(_Driver, vb);
|
||||
newVbHard->initGL(vertexBufferID, this, _VBType);
|
||||
newVbHard->initGL(vertexBufferID, this, preferred);
|
||||
_Driver->_DriverGLStates.forceBindARBVertexBuffer(0);
|
||||
return newVbHard;
|
||||
}
|
||||
|
@ -1393,6 +1402,7 @@ void *CVertexBufferHardARB::lock()
|
|||
H_AUTO_OGL(CVertexBufferHardARB_lock);
|
||||
|
||||
if (_VertexPtr) return _VertexPtr; // already locked
|
||||
const uint size = VB->getNumVertices() * VB->getVertexSize();
|
||||
if (_Invalid)
|
||||
{
|
||||
if (VB->getLocation() != CVertexBuffer::NotResident)
|
||||
|
@ -1414,15 +1424,14 @@ void *CVertexBufferHardARB::lock()
|
|||
_Driver->incrementResetCounter();
|
||||
return &_DummyVB[0];
|
||||
}
|
||||
const uint size = VB->getNumVertices() * VB->getVertexSize();
|
||||
_Driver->_DriverGLStates.forceBindARBVertexBuffer(vertexBufferID);
|
||||
switch(_MemType)
|
||||
{
|
||||
case CVertexBuffer::AGPPreferred:
|
||||
case CVertexBuffer::AGPVolatile:
|
||||
#ifdef USE_OPENGLES
|
||||
glBufferData(GL_ARRAY_BUFFER, size, NULL, GL_DYNAMIC_DRAW);
|
||||
glBufferData(GL_ARRAY_BUFFER, size, NULL, GL_STREAM_DRAW);
|
||||
#else
|
||||
nglBufferDataARB(GL_ARRAY_BUFFER_ARB, size, NULL, GL_DYNAMIC_DRAW_ARB);
|
||||
nglBufferDataARB(GL_ARRAY_BUFFER_ARB, size, NULL, GL_STREAM_DRAW_ARB);
|
||||
#endif
|
||||
break;
|
||||
case CVertexBuffer::StaticPreferred:
|
||||
|
@ -1439,8 +1448,13 @@ void *CVertexBufferHardARB::lock()
|
|||
nglBufferDataARB(GL_ARRAY_BUFFER_ARB, size, NULL, GL_DYNAMIC_DRAW_ARB);
|
||||
#endif
|
||||
break;
|
||||
// case CVertexBuffer::AGPPreferred:
|
||||
default:
|
||||
nlassert(0);
|
||||
#ifdef USE_OPENGLES
|
||||
glBufferData(GL_ARRAY_BUFFER, size, NULL, GL_DYNAMIC_DRAW);
|
||||
#else
|
||||
nglBufferDataARB(GL_ARRAY_BUFFER_ARB, size, NULL, GL_DYNAMIC_DRAW_ARB);
|
||||
#endif
|
||||
break;
|
||||
}
|
||||
if (glGetError() != GL_NO_ERROR)
|
||||
|
@ -1499,7 +1513,14 @@ void *CVertexBufferHardARB::lock()
|
|||
_LastBufferSize = size;
|
||||
}
|
||||
#else
|
||||
_VertexPtr = nglMapBufferARB(GL_ARRAY_BUFFER_ARB, GL_WRITE_ONLY_ARB);
|
||||
if (_MemType == CVertexBuffer::AGPVolatile)
|
||||
{
|
||||
_VertexPtr = nglMapBufferRange(GL_ARRAY_BUFFER, 0, size, GL_MAP_WRITE_BIT | GL_MAP_INVALIDATE_BUFFER_BIT);
|
||||
}
|
||||
else
|
||||
{
|
||||
_VertexPtr = nglMapBufferARB(GL_ARRAY_BUFFER_ARB, GL_WRITE_ONLY_ARB);
|
||||
}
|
||||
if (!_VertexPtr)
|
||||
{
|
||||
nglUnmapBufferARB(GL_ARRAY_BUFFER_ARB);
|
||||
|
|
|
@ -296,7 +296,7 @@ bool GlWndProc(CDriverGL *driver, XEvent &e)
|
|||
#endif // NL_OS_UNIX
|
||||
|
||||
// ***************************************************************************
|
||||
bool CDriverGL::init (uint windowIcon, emptyProc exitFunc)
|
||||
bool CDriverGL::init (uintptr_t windowIcon, emptyProc exitFunc)
|
||||
{
|
||||
H_AUTO_OGL(CDriverGL_init)
|
||||
|
||||
|
@ -2347,7 +2347,7 @@ void CDriverGL::showWindow(bool show)
|
|||
|
||||
#elif defined(NL_OS_MAC)
|
||||
|
||||
# warning "OpenGL Driver: Missing Mac Implementation for showWindow"
|
||||
// TODO: Missing Mac Implementation for showWindow
|
||||
|
||||
#elif defined (NL_OS_UNIX)
|
||||
|
||||
|
@ -2771,7 +2771,7 @@ bool CDriverGL::isActive()
|
|||
res = (IsWindow(_win) != FALSE);
|
||||
|
||||
#elif defined(NL_OS_MAC)
|
||||
# warning "OpenGL Driver: Missing Mac Implementation for isActive (always true if a window is set)"
|
||||
// TODO: Missing Mac Implementation for isActive (always true if a window is set)
|
||||
#elif defined (NL_OS_UNIX)
|
||||
|
||||
// check if our window is still active
|
||||
|
|
|
@ -14,6 +14,9 @@
|
|||
// You should have received a copy of the GNU Affero General Public License
|
||||
// along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
#ifndef STDOPENGL_H
|
||||
#define STDOPENGL_H
|
||||
|
||||
#include "nel/misc/types_nl.h"
|
||||
|
||||
#include <cstdlib>
|
||||
|
@ -34,7 +37,9 @@
|
|||
|
||||
#ifdef NL_OS_WINDOWS
|
||||
# define WIN32_LEAN_AND_MEAN
|
||||
# define NOMINMAX
|
||||
# ifndef NL_COMP_MINGW
|
||||
# define NOMINMAX
|
||||
# endif
|
||||
# include <windows.h>
|
||||
# include <windowsx.h>
|
||||
#endif
|
||||
|
@ -67,5 +72,33 @@
|
|||
#include "nel/misc/mem_stream.h"
|
||||
#include "nel/misc/time_nl.h"
|
||||
#include "nel/misc/command.h"
|
||||
#include "nel/misc/matrix.h"
|
||||
#include "nel/misc/smart_ptr.h"
|
||||
#include "nel/misc/rgba.h"
|
||||
#include "nel/misc/event_emitter.h"
|
||||
#include "nel/misc/bit_set.h"
|
||||
#include "nel/misc/hierarchical_timer.h"
|
||||
#include "nel/misc/bitmap.h"
|
||||
#include "nel/misc/heap_memory.h"
|
||||
#include "nel/misc/event_emitter_multi.h"
|
||||
#include "nel/misc/time_nl.h"
|
||||
#include "nel/misc/rect.h"
|
||||
#include "nel/misc/mouse_device.h"
|
||||
#include "nel/misc/dynloadlib.h"
|
||||
#include "nel/misc/file.h"
|
||||
|
||||
#include "nel/3d/driver.h"
|
||||
#include "nel/3d/material.h"
|
||||
#include "nel/3d/vertex_buffer.h"
|
||||
#include "nel/3d/ptr_set.h"
|
||||
#include "nel/3d/texture_cube.h"
|
||||
#include "nel/3d/vertex_program_parse.h"
|
||||
#include "nel/3d/viewport.h"
|
||||
#include "nel/3d/scissor.h"
|
||||
#include "nel/3d/light.h"
|
||||
#include "nel/3d/occlusion_query.h"
|
||||
#include "nel/3d/u_driver.h"
|
||||
#include "nel/3d/light.h"
|
||||
#include "nel/3d/index_buffer.h"
|
||||
|
||||
#endif
|
||||
|
|
|
@ -82,13 +82,13 @@ void UDriver::setMatrixMode2D43()
|
|||
}
|
||||
|
||||
// ***************************************************************************
|
||||
UDriver *UDriver::createDriver(uint windowIcon, bool direct3d, emptyProc exitFunc)
|
||||
UDriver *UDriver::createDriver(uintptr_t windowIcon, bool direct3d, emptyProc exitFunc)
|
||||
{
|
||||
return new CDriverUser (windowIcon, direct3d ? CDriverUser::Direct3d:CDriverUser::OpenGl, exitFunc);
|
||||
}
|
||||
|
||||
// ***************************************************************************
|
||||
UDriver *UDriver::createDriver(uint windowIcon, TDriver driver, emptyProc exitFunc)
|
||||
UDriver *UDriver::createDriver(uintptr_t windowIcon, TDriver driver, emptyProc exitFunc)
|
||||
{
|
||||
return new CDriverUser (windowIcon, (CDriverUser::TDriver)driver, exitFunc);
|
||||
}
|
||||
|
@ -114,7 +114,7 @@ bool CDriverUser::_StaticInit= false;
|
|||
|
||||
|
||||
// ***************************************************************************
|
||||
CDriverUser::CDriverUser (uint windowIcon, TDriver driver, emptyProc exitFunc)
|
||||
CDriverUser::CDriverUser (uintptr_t windowIcon, TDriver driver, emptyProc exitFunc)
|
||||
{
|
||||
// The enum of IDriver and UDriver MUST be the same!!!
|
||||
nlassert((uint)IDriver::idCount == (uint)UDriver::idCount);
|
||||
|
|
|
@ -35,7 +35,9 @@
|
|||
#endif // HAVE_CONFIG_H
|
||||
|
||||
#ifdef NL_OS_WINDOWS
|
||||
# define NOMINMAX
|
||||
# ifndef NL_COMP_MINGW
|
||||
# define NOMINMAX
|
||||
# endif
|
||||
# include <windows.h>
|
||||
#else // NL_OS_WINDOWS
|
||||
# include <dlfcn.h>
|
||||
|
@ -253,6 +255,7 @@ void CDRU::drawBitmap (float x, float y, float width, float height, ITexture& te
|
|||
if (vb.getName().empty()) vb.setName("CDRU::drawBitmap");
|
||||
vb.setVertexFormat (CVertexBuffer::PositionFlag|CVertexBuffer::TexCoord0Flag);
|
||||
vb.setNumVertices (4);
|
||||
vb.setPreferredMemory (CVertexBuffer::RAMVolatile, false);
|
||||
{
|
||||
CVertexBufferReadWrite vba;
|
||||
vb.lock (vba);
|
||||
|
@ -271,6 +274,7 @@ void CDRU::drawBitmap (float x, float y, float width, float height, ITexture& te
|
|||
if (pb.getName().empty()) NL_SET_IB_NAME(pb, "CDRU::drawBitmap");
|
||||
pb.setFormat(NL_DEFAULT_INDEX_BUFFER_FORMAT);
|
||||
pb.setNumIndexes (6);
|
||||
pb.setPreferredMemory (CIndexBuffer::RAMVolatile, false);
|
||||
{
|
||||
CIndexBufferReadWrite iba;
|
||||
pb.lock (iba);
|
||||
|
@ -305,6 +309,7 @@ void CDRU::drawLine (float x0, float y0, float x1, float y1, IDriver& driver, CR
|
|||
if (vb.getName().empty()) vb.setName("CDRU::drawLine");
|
||||
vb.setVertexFormat (CVertexBuffer::PositionFlag);
|
||||
vb.setNumVertices (2);
|
||||
vb.setPreferredMemory (CVertexBuffer::RAMVolatile, false);
|
||||
{
|
||||
CVertexBufferReadWrite vba;
|
||||
vb.lock (vba);
|
||||
|
@ -317,6 +322,7 @@ void CDRU::drawLine (float x0, float y0, float x1, float y1, IDriver& driver, CR
|
|||
if (pb.getName().empty()) NL_SET_IB_NAME(pb, "CDRU::drawLine");
|
||||
pb.setFormat(NL_DEFAULT_INDEX_BUFFER_FORMAT);
|
||||
pb.setNumIndexes (2);
|
||||
pb.setPreferredMemory (CIndexBuffer::RAMVolatile, false);
|
||||
{
|
||||
CIndexBufferReadWrite iba;
|
||||
pb.lock (iba);
|
||||
|
@ -350,6 +356,7 @@ void CDRU::drawTriangle (float x0, float y0, float x1, float y1, float x2, float
|
|||
if (vb.getName().empty()) vb.setName("CDRU::drawTriangle");
|
||||
vb.setVertexFormat (CVertexBuffer::PositionFlag);
|
||||
vb.setNumVertices (3);
|
||||
vb.setPreferredMemory (CVertexBuffer::RAMVolatile, false);
|
||||
{
|
||||
CVertexBufferReadWrite vba;
|
||||
vb.lock (vba);
|
||||
|
@ -363,6 +370,7 @@ void CDRU::drawTriangle (float x0, float y0, float x1, float y1, float x2, float
|
|||
if (pb.getName().empty()) NL_SET_IB_NAME(pb, "CDRU::drawTriangle");
|
||||
pb.setFormat(NL_DEFAULT_INDEX_BUFFER_FORMAT);
|
||||
pb.setNumIndexes (3);
|
||||
pb.setPreferredMemory (CIndexBuffer::RAMVolatile, false);
|
||||
{
|
||||
CIndexBufferReadWrite iba;
|
||||
pb.lock (iba);
|
||||
|
@ -397,6 +405,7 @@ void CDRU::drawQuad (float x0, float y0, float x1, float y1, IDriver& driver, CR
|
|||
if (vb.getName().empty()) vb.setName("CDRU::drawQuad");
|
||||
vb.setVertexFormat (CVertexBuffer::PositionFlag);
|
||||
vb.setNumVertices (4);
|
||||
vb.setPreferredMemory (CVertexBuffer::RAMVolatile, false);
|
||||
{
|
||||
CVertexBufferReadWrite vba;
|
||||
vb.lock (vba);
|
||||
|
@ -433,6 +442,7 @@ void CDRU::drawQuad (float xcenter, float ycenter, float radius, IDriver& driver
|
|||
if (vb.getName().empty()) vb.setName("CDRU::drawQuad");
|
||||
vb.setVertexFormat (CVertexBuffer::PositionFlag);
|
||||
vb.setNumVertices (4);
|
||||
vb.setPreferredMemory (CVertexBuffer::RAMVolatile, false);
|
||||
{
|
||||
CVertexBufferReadWrite vba;
|
||||
vb.lock (vba);
|
||||
|
@ -482,10 +492,12 @@ void CDRU::drawTrianglesUnlit(const NLMISC::CTriangleUV *trilist, sint ntris,
|
|||
if (vb.getName().empty()) vb.setName("CDRU::drawTrianglesUnlit");
|
||||
vb.setVertexFormat (CVertexBuffer::PositionFlag | CVertexBuffer::TexCoord0Flag);
|
||||
vb.setNumVertices (ntris*3);
|
||||
vb.setPreferredMemory (CVertexBuffer::RAMVolatile, false);
|
||||
|
||||
static CIndexBuffer pb;
|
||||
pb.setFormat(NL_DEFAULT_INDEX_BUFFER_FORMAT);
|
||||
pb.setNumIndexes(ntris*3);
|
||||
pb.setPreferredMemory (CIndexBuffer::RAMVolatile, false);
|
||||
if (pb.getFormat() == CIndexBuffer::Indices16)
|
||||
{
|
||||
nlassert(ntris * 3 <= 0xffff);
|
||||
|
@ -530,10 +542,12 @@ void CDRU::drawLinesUnlit(const NLMISC::CLine *linelist, sint nlines, CMateria
|
|||
if (vb.getName().empty()) vb.setName("CDRU::drawLinesUnlit");
|
||||
vb.setVertexFormat (CVertexBuffer::PositionFlag);
|
||||
vb.setNumVertices (nlines*2);
|
||||
vb.setPreferredMemory (CVertexBuffer::RAMVolatile, false);
|
||||
|
||||
static CIndexBuffer pb;
|
||||
pb.setFormat(NL_DEFAULT_INDEX_BUFFER_FORMAT);
|
||||
pb.setNumIndexes(nlines*2);
|
||||
pb.setPreferredMemory (CIndexBuffer::RAMVolatile, false);
|
||||
|
||||
|
||||
{
|
||||
|
@ -601,6 +615,7 @@ void CDRU::drawQuad (float x0, float y0, float x1, float y1, CRGBA col0, CRGBA
|
|||
if (vb.getName().empty()) vb.setName("CDRU::drawQuad");
|
||||
vb.setVertexFormat (CVertexBuffer::PositionFlag|CVertexBuffer::PrimaryColorFlag);
|
||||
vb.setNumVertices (4);
|
||||
vb.setPreferredMemory (CVertexBuffer::RAMVolatile, false);
|
||||
{
|
||||
CVertexBufferReadWrite vba;
|
||||
vb.lock (vba);
|
||||
|
|
|
@ -109,7 +109,7 @@ CRGBA CFastHLSModifier::convert(uint H, uint L, uint S)
|
|||
return col;
|
||||
}
|
||||
|
||||
#if defined(NL_COMP_VC) && NL_COMP_VC_VERSION >= 71
|
||||
#if defined(NL_COMP_VC) && (NL_COMP_VC_VERSION >= 71)
|
||||
# pragma warning( push )
|
||||
# pragma warning( disable : 4799 )
|
||||
#endif
|
||||
|
@ -124,7 +124,6 @@ uint16 CFastHLSModifier::applyHLSMod(uint16 colorIn, uint8 dHue, uint dLum, uin
|
|||
static uint64 mmBlank = 0;
|
||||
static uint64 mmOne = INT64_CONSTANT(0x00FF00FF00FF00FF);
|
||||
static uint64 mmGray = INT64_CONSTANT(0x0080008000800080);
|
||||
static uint64 mmInterpBufer[4]= {0,0,0,INT64_CONSTANT(0x00FF00FF00FF00FF)};
|
||||
|
||||
/*
|
||||
dLum is actually 0xFFFFFF00 + realDLum
|
||||
|
@ -136,6 +135,8 @@ uint16 CFastHLSModifier::applyHLSMod(uint16 colorIn, uint8 dHue, uint dLum, uin
|
|||
#if defined(NL_OS_WINDOWS) && !defined(NL_NO_ASM)
|
||||
if(CSystemInfo::hasMMX())
|
||||
{
|
||||
static uint64 mmInterpBufer[4]= {0,0,0,INT64_CONSTANT(0x00FF00FF00FF00FF)};
|
||||
|
||||
__asm
|
||||
{
|
||||
mov edi, offset mmInterpBufer
|
||||
|
@ -262,7 +263,7 @@ uint16 CFastHLSModifier::applyHLSMod(uint16 colorIn, uint8 dHue, uint dLum, uin
|
|||
#pragma managed(pop)
|
||||
#endif
|
||||
|
||||
#if defined(NL_COMP_VC) && NL_COMP_VC_VERSION >= 71
|
||||
#if defined(NL_COMP_VC) && (NL_COMP_VC_VERSION >= 71)
|
||||
# pragma warning( pop )
|
||||
#endif
|
||||
|
||||
|
|
|
@ -271,7 +271,7 @@ void CFlareModel::traverseRender()
|
|||
float depthRangeNear, depthRangeFar;
|
||||
drv->getDepthRange(depthRangeNear, depthRangeFar);
|
||||
z = (depthRangeFar - depthRangeNear) * z + depthRangeNear;
|
||||
if (!v.size() || z > v[0]) // test against z-buffer
|
||||
if (v.empty() || z > v[0]) // test against z-buffer
|
||||
{
|
||||
visibilityRatio = 0.f;
|
||||
}
|
||||
|
|
|
@ -354,7 +354,7 @@ void CLodCharacterShape::buildMesh(const std::string &name, const CLodCharacte
|
|||
const vector<CVector> &normals= lodBuild.Normals;
|
||||
|
||||
nlassert(numVertices>0);
|
||||
nlassert(triangleIndices.size()>0);
|
||||
nlassert(!triangleIndices.empty());
|
||||
nlassert((triangleIndices.size()%3)==0);
|
||||
nlassert(skinWeights.size() == numVertices);
|
||||
nlassert(uvs.size() == numVertices);
|
||||
|
|
|
@ -16,6 +16,10 @@
|
|||
|
||||
#include "std3d.h"
|
||||
|
||||
#ifdef NL_HAS_SSE2
|
||||
# include <xmmintrin.h>
|
||||
#endif
|
||||
|
||||
#include "nel/misc/bsphere.h"
|
||||
#include "nel/misc/fast_mem.h"
|
||||
#include "nel/misc/system_info.h"
|
||||
|
@ -39,124 +43,6 @@ namespace NL3D
|
|||
{
|
||||
|
||||
|
||||
// ***************************************************************************
|
||||
// ***************************************************************************
|
||||
// CMatrix3x4SSE array correctly aligned
|
||||
// ***************************************************************************
|
||||
// ***************************************************************************
|
||||
|
||||
|
||||
|
||||
// ***************************************************************************
|
||||
#define NL3D_SSE_ALIGNEMENT 16
|
||||
/**
|
||||
* A CMatrix3x4SSE array correctly aligned
|
||||
* NB: SSE is no more used (no speed gain, some memory problem), but keep it for possible future usage.
|
||||
*/
|
||||
class CMatrix3x4SSEArray
|
||||
{
|
||||
private:
|
||||
void *_AllocData;
|
||||
void *_Data;
|
||||
uint _Size;
|
||||
uint _Capacity;
|
||||
|
||||
public:
|
||||
CMatrix3x4SSEArray()
|
||||
{
|
||||
_AllocData= NULL;
|
||||
_Data= NULL;
|
||||
_Size= 0;
|
||||
_Capacity= 0;
|
||||
}
|
||||
~CMatrix3x4SSEArray()
|
||||
{
|
||||
clear();
|
||||
}
|
||||
CMatrix3x4SSEArray(const CMatrix3x4SSEArray &other)
|
||||
{
|
||||
_AllocData= NULL;
|
||||
_Data= NULL;
|
||||
_Size= 0;
|
||||
_Capacity= 0;
|
||||
*this= other;
|
||||
}
|
||||
CMatrix3x4SSEArray &operator=(const CMatrix3x4SSEArray &other)
|
||||
{
|
||||
if( this == &other)
|
||||
return *this;
|
||||
resize(other.size());
|
||||
// copy data from aligned pointers to aligned pointers.
|
||||
memcpy(_Data, other._Data, size() * sizeof(CMatrix3x4SSE) );
|
||||
|
||||
return *this;
|
||||
}
|
||||
|
||||
|
||||
CMatrix3x4SSE *getPtr()
|
||||
{
|
||||
return (CMatrix3x4SSE*)_Data;
|
||||
}
|
||||
|
||||
void clear()
|
||||
{
|
||||
delete [] ((uint8 *)_AllocData);
|
||||
_AllocData= NULL;
|
||||
_Data= NULL;
|
||||
_Size= 0;
|
||||
_Capacity= 0;
|
||||
}
|
||||
|
||||
void resize(uint n)
|
||||
{
|
||||
// reserve ??
|
||||
if(n>_Capacity)
|
||||
reserve( max(2*_Capacity, n));
|
||||
_Size= n;
|
||||
}
|
||||
|
||||
void reserve(uint n)
|
||||
{
|
||||
if(n==0)
|
||||
clear();
|
||||
else if(n>_Capacity)
|
||||
{
|
||||
// Alloc new data.
|
||||
void *newAllocData;
|
||||
void *newData;
|
||||
|
||||
// Alloc for alignement.
|
||||
newAllocData= new uint8 [n * sizeof(CMatrix3x4SSE) + NL3D_SSE_ALIGNEMENT-1];
|
||||
if(newAllocData==NULL)
|
||||
throw Exception("SSE Allocation Failed");
|
||||
|
||||
// Align ptr
|
||||
newData= (void*) ( ((ptrdiff_t)newAllocData+NL3D_SSE_ALIGNEMENT-1) & (~(NL3D_SSE_ALIGNEMENT-1)) );
|
||||
|
||||
// copy valid data from old to new.
|
||||
memcpy(newData, _Data, size() * sizeof(CMatrix3x4SSE) );
|
||||
|
||||
// release old.
|
||||
if(_AllocData)
|
||||
delete [] ((uint8*)_AllocData);
|
||||
|
||||
// change ptrs and capacity.
|
||||
_Data= newData;
|
||||
_AllocData= newAllocData;
|
||||
_Capacity= n;
|
||||
|
||||
// TestYoyo
|
||||
//nlwarning("YOYO Tst SSE P4: %X, %d", _Data, n);
|
||||
}
|
||||
}
|
||||
|
||||
uint size() const {return _Size;}
|
||||
|
||||
|
||||
CMatrix3x4SSE &operator[](uint i) {return ((CMatrix3x4SSE*)_Data)[i];}
|
||||
};
|
||||
|
||||
|
||||
|
||||
// ***************************************************************************
|
||||
// ***************************************************************************
|
||||
|
|
|
@ -39,7 +39,23 @@ static void applyArraySkinNormalT(uint numMatrixes, uint32 *infPtr, CMesh::CSkin
|
|||
{
|
||||
/* Prefetch all vertex/normal before, it is to be faster.
|
||||
*/
|
||||
#if defined(NL_OS_WINDOWS) && !defined(NL_NO_ASM)
|
||||
#ifdef NL_HAS_SSE2
|
||||
{
|
||||
uint nInfTmp= nInf;
|
||||
uint32 *infTmpPtr= infPtr;
|
||||
for(;nInfTmp>0;nInfTmp--, infTmpPtr++)
|
||||
{
|
||||
uint index= *infTmpPtr;
|
||||
CMesh::CSkinWeight *srcSkin= srcSkinPtr + index;
|
||||
CVector *srcVertex= srcVertexPtr + index;
|
||||
CVector *srcNormal= srcNormalPtr + index;
|
||||
|
||||
_mm_prefetch((const char *)(void *)srcSkin, _MM_HINT_T1);
|
||||
_mm_prefetch((const char *)(void *)srcVertex, _MM_HINT_T1);
|
||||
_mm_prefetch((const char *)(void *)srcNormal, _MM_HINT_T1);
|
||||
}
|
||||
}
|
||||
#elif defined(NL_OS_WINDOWS) && !defined(NL_NO_ASM)
|
||||
{
|
||||
uint nInfTmp= nInf;
|
||||
uint32 *infTmpPtr= infPtr;
|
||||
|
@ -176,7 +192,25 @@ static void applyArraySkinTangentSpaceT(uint numMatrixes, uint32 *infPtr, CMesh:
|
|||
{
|
||||
/* Prefetch all vertex/normal/tgSpace before, it is faster.
|
||||
*/
|
||||
#if defined(NL_OS_WINDOWS) && !defined(NL_NO_ASM)
|
||||
#ifdef NL_HAS_SSE2
|
||||
{
|
||||
uint nInfTmp= nInf;
|
||||
uint32 *infTmpPtr= infPtr;
|
||||
for(;nInfTmp>0;nInfTmp--, infTmpPtr++)
|
||||
{
|
||||
uint index= *infTmpPtr;
|
||||
CMesh::CSkinWeight *srcSkin= srcSkinPtr + index;
|
||||
CVector *srcVertex= srcVertexPtr + index;
|
||||
CVector *srcNormal= srcNormalPtr + index;
|
||||
CVector *srcTgSpace= tgSpacePtr + index;
|
||||
|
||||
_mm_prefetch((const char *)(void *)srcSkin, _MM_HINT_T1);
|
||||
_mm_prefetch((const char *)(void *)srcVertex, _MM_HINT_T1);
|
||||
_mm_prefetch((const char *)(void *)srcNormal, _MM_HINT_T1);
|
||||
_mm_prefetch((const char *)(void *)srcTgSpace, _MM_HINT_T1);
|
||||
}
|
||||
}
|
||||
#elif defined(NL_OS_WINDOWS) && !defined(NL_NO_ASM)
|
||||
{
|
||||
uint nInfTmp= nInf;
|
||||
uint32 *infTmpPtr= infPtr;
|
||||
|
|
|
@ -2247,123 +2247,6 @@ void CMeshMRMSkinnedGeom::getSkinWeights (std::vector<CMesh::CSkinWeight> &skinW
|
|||
}
|
||||
}
|
||||
|
||||
// ***************************************************************************
|
||||
// ***************************************************************************
|
||||
// CMatrix3x4SSE array correctly aligned
|
||||
// ***************************************************************************
|
||||
// ***************************************************************************
|
||||
|
||||
|
||||
|
||||
// ***************************************************************************
|
||||
#define NL3D_SSE_ALIGNEMENT 16
|
||||
/**
|
||||
* A CMatrix3x4SSEArray array correctly aligned
|
||||
* NB: SSE is no more used (no speed gain, some memory problem), but keep it for possible future usage.
|
||||
*/
|
||||
class CMatrix3x4SSEArray
|
||||
{
|
||||
private:
|
||||
void *_AllocData;
|
||||
void *_Data;
|
||||
uint _Size;
|
||||
uint _Capacity;
|
||||
|
||||
public:
|
||||
CMatrix3x4SSEArray()
|
||||
{
|
||||
_AllocData= NULL;
|
||||
_Data= NULL;
|
||||
_Size= 0;
|
||||
_Capacity= 0;
|
||||
}
|
||||
~CMatrix3x4SSEArray()
|
||||
{
|
||||
clear();
|
||||
}
|
||||
CMatrix3x4SSEArray(const CMatrix3x4SSEArray &other)
|
||||
{
|
||||
_AllocData= NULL;
|
||||
_Data= NULL;
|
||||
_Size= 0;
|
||||
_Capacity= 0;
|
||||
*this= other;
|
||||
}
|
||||
CMatrix3x4SSEArray &operator=(const CMatrix3x4SSEArray &other)
|
||||
{
|
||||
if( this == &other)
|
||||
return *this;
|
||||
resize(other.size());
|
||||
// copy data from aligned pointers to aligned pointers.
|
||||
memcpy(_Data, other._Data, size() * sizeof(CMatrix3x4SSE) );
|
||||
|
||||
return *this;
|
||||
}
|
||||
|
||||
|
||||
CMatrix3x4SSE *getPtr()
|
||||
{
|
||||
return (CMatrix3x4SSE*)_Data;
|
||||
}
|
||||
|
||||
void clear()
|
||||
{
|
||||
delete [] ((uint8 *) _AllocData);
|
||||
_AllocData= NULL;
|
||||
_Data= NULL;
|
||||
_Size= 0;
|
||||
_Capacity= 0;
|
||||
}
|
||||
|
||||
void resize(uint n)
|
||||
{
|
||||
// reserve ??
|
||||
if(n>_Capacity)
|
||||
reserve( max(2*_Capacity, n));
|
||||
_Size= n;
|
||||
}
|
||||
|
||||
void reserve(uint n)
|
||||
{
|
||||
if(n==0)
|
||||
clear();
|
||||
else if(n>_Capacity)
|
||||
{
|
||||
// Alloc new data.
|
||||
void *newAllocData;
|
||||
void *newData;
|
||||
|
||||
// Alloc for alignement.
|
||||
newAllocData= new uint8 [n * sizeof(CMatrix3x4SSE) + NL3D_SSE_ALIGNEMENT-1];
|
||||
if(newAllocData==NULL)
|
||||
throw Exception("SSE Allocation Failed");
|
||||
|
||||
// Align ptr
|
||||
newData= (void*) ( ((ptrdiff_t)newAllocData+NL3D_SSE_ALIGNEMENT-1) & (~(NL3D_SSE_ALIGNEMENT-1)) );
|
||||
|
||||
// copy valid data from old to new.
|
||||
memcpy(newData, _Data, size() * sizeof(CMatrix3x4SSE) );
|
||||
|
||||
// release old.
|
||||
if(_AllocData)
|
||||
delete [] ((uint8*)_AllocData);
|
||||
|
||||
// change ptrs and capacity.
|
||||
_Data= newData;
|
||||
_AllocData= newAllocData;
|
||||
_Capacity= n;
|
||||
|
||||
// TestYoyo
|
||||
//nlwarning("YOYO Tst SSE P4: %X, %d", _Data, n);
|
||||
}
|
||||
}
|
||||
|
||||
uint size() const {return _Size;}
|
||||
|
||||
|
||||
CMatrix3x4SSE &operator[](uint i) {return ((CMatrix3x4SSE*)_Data)[i];}
|
||||
};
|
||||
|
||||
|
||||
// ***************************************************************************
|
||||
// ***************************************************************************
|
||||
|
|
|
@ -791,17 +791,20 @@ void CMeshMultiLod::compileCoarseMeshes()
|
|||
{
|
||||
slotRef.CoarseTriangles.resize(slotRef.CoarseNumTris * 3);
|
||||
TCoarseMeshIndexType *dstPtr= &slotRef.CoarseTriangles[0];
|
||||
uint totalTris = 0;
|
||||
for(uint i=0;i<meshGeom->getNbRdrPass(0);i++)
|
||||
{
|
||||
const CIndexBuffer &pb= meshGeom->getRdrPassPrimitiveBlock(0, i);
|
||||
CIndexBufferRead ibaRead;
|
||||
pb.lock (ibaRead);
|
||||
uint numTris= pb.getNumIndexes()/3;
|
||||
totalTris += numTris;
|
||||
if (pb.getFormat() == CIndexBuffer::Indices16)
|
||||
{
|
||||
if (sizeof(TCoarseMeshIndexType) == sizeof(uint16))
|
||||
{
|
||||
memcpy(dstPtr, (uint16 *) ibaRead.getPtr(), numTris*3*sizeof(uint16));
|
||||
dstPtr+= numTris*3;
|
||||
}
|
||||
else
|
||||
{
|
||||
|
@ -820,6 +823,7 @@ void CMeshMultiLod::compileCoarseMeshes()
|
|||
if (sizeof(TCoarseMeshIndexType) == sizeof(uint32))
|
||||
{
|
||||
memcpy(dstPtr, (uint32 *) ibaRead.getPtr(), numTris*3*sizeof(uint32));
|
||||
dstPtr+= numTris*3;
|
||||
}
|
||||
else
|
||||
{
|
||||
|
@ -836,8 +840,8 @@ void CMeshMultiLod::compileCoarseMeshes()
|
|||
}
|
||||
}
|
||||
}
|
||||
dstPtr+= numTris*3;
|
||||
}
|
||||
nlassert(totalTris == slotRef.CoarseNumTris);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -94,7 +94,7 @@ const char *CProgramIndex::Names[NUM_UNIFORMS] =
|
|||
|
||||
void IProgram::buildInfo(CSource *source)
|
||||
{
|
||||
nlassert(!m_Source);
|
||||
// nlassert(!m_Source); // VALID: When deleting driver and creating new one.
|
||||
|
||||
m_Source = source;
|
||||
|
||||
|
|
|
@ -37,7 +37,9 @@
|
|||
|
||||
#ifdef NL_OS_WINDOWS
|
||||
# define WIN32_LEAN_AND_MEAN
|
||||
# define NOMINMAX
|
||||
# ifndef NL_COMP_MINGW
|
||||
# define NOMINMAX
|
||||
# endif
|
||||
# include <windows.h>
|
||||
# include <winbase.h>
|
||||
#endif // NL_OS_WINDOWS
|
||||
|
|
|
@ -39,6 +39,9 @@ namespace NLGUI
|
|||
// ***************************************************************************
|
||||
bool CCtrlBase::handleEvent(const NLGUI::CEventDescriptor &event)
|
||||
{
|
||||
if( CViewBase::handleEvent( event ) )
|
||||
return true;
|
||||
|
||||
if (event.getType() == NLGUI::CEventDescriptor::system)
|
||||
{
|
||||
NLGUI::CEventDescriptorSystem &eds = (NLGUI::CEventDescriptorSystem&)event;
|
||||
|
@ -78,6 +81,9 @@ namespace NLGUI
|
|||
case TTSpecialWindow:
|
||||
return "special";
|
||||
break;
|
||||
|
||||
default:
|
||||
break;
|
||||
}
|
||||
|
||||
return "";
|
||||
|
|
|
@ -669,12 +669,6 @@ namespace NLGUI
|
|||
if (CWidgetManager::getInstance()->getCapturePointerLeft() != this)
|
||||
return false;
|
||||
|
||||
if( editorMode )
|
||||
{
|
||||
CWidgetManager::getInstance()->setCurrentEditorSelection( getId() );
|
||||
return true;
|
||||
}
|
||||
|
||||
if (_LeftDblClickHandled) // no effect on mouse up after double click has been handled
|
||||
{
|
||||
_LeftDblClickHandled = false;
|
||||
|
@ -801,7 +795,10 @@ namespace NLGUI
|
|||
return "radio_button";
|
||||
break;
|
||||
|
||||
default:
|
||||
break;
|
||||
}
|
||||
|
||||
return "";
|
||||
}
|
||||
|
||||
|
|
|
@ -356,7 +356,7 @@ namespace NLGUI
|
|||
|
||||
|
||||
|
||||
if ( ( _Over && !editorMode ) || editorSelected )
|
||||
if ( ( _Over && !editorMode ) )
|
||||
{
|
||||
|
||||
if( !editorMode && (lastOver == false) && (_AHOnOver != NULL))
|
||||
|
|
|
@ -205,12 +205,12 @@ namespace NLGUI
|
|||
CViewRenderer &rVR = *CViewRenderer::getInstance();
|
||||
if(prop)
|
||||
{
|
||||
string sTmp = NLMISC::strlwr((const char*)prop);
|
||||
string sTmp = NLMISC::toLower((const char*)prop);
|
||||
_Texture = rVR.createTexture (sTmp, 0, 0, 256, 64, false, false);
|
||||
}
|
||||
|
||||
prop = (char*) xmlGetProp( node, (xmlChar*)"onchange" );
|
||||
if (prop) _AHOnChange = NLMISC::strlwr(prop);
|
||||
if (prop) _AHOnChange = NLMISC::toLower((const char*)prop);
|
||||
prop = (char*) xmlGetProp( node, (xmlChar*)"onchange_params" );
|
||||
if (prop) _AHOnChangeParams = string((const char*)prop);
|
||||
|
||||
|
|
|
@ -62,6 +62,17 @@ namespace NLGUI
|
|||
_ForceTextOver = false;
|
||||
}
|
||||
|
||||
CCtrlTextButton::~CCtrlTextButton()
|
||||
{
|
||||
if( _ViewText != NULL )
|
||||
{
|
||||
if( _Parent != NULL )
|
||||
_Parent->delView( _ViewText, true );
|
||||
delete _ViewText;
|
||||
_ViewText = NULL;
|
||||
}
|
||||
}
|
||||
|
||||
std::string CCtrlTextButton::getProperty( const std::string &name ) const
|
||||
{
|
||||
std::string prop;
|
||||
|
@ -113,7 +124,10 @@ namespace NLGUI
|
|||
else
|
||||
if( name == "hardtext" )
|
||||
{
|
||||
return _ViewText->getText().toString();
|
||||
if( _ViewText != NULL )
|
||||
return _ViewText->getText().toString();
|
||||
else
|
||||
return std::string( "" );
|
||||
}
|
||||
else
|
||||
if( name == "text_y" )
|
||||
|
@ -128,7 +142,10 @@ namespace NLGUI
|
|||
else
|
||||
if( name == "text_underlined" )
|
||||
{
|
||||
return toString( _ViewText->getUnderlined() );
|
||||
if( _ViewText != NULL )
|
||||
return toString( _ViewText->getUnderlined() );
|
||||
else
|
||||
return std::string( "" );
|
||||
}
|
||||
else
|
||||
if( name == "text_posref" )
|
||||
|
@ -220,6 +237,11 @@ namespace NLGUI
|
|||
_TextureIdNormal[ 0 ].setTexture( std::string( value + "_l.tga" ).c_str() );
|
||||
_TextureIdNormal[ 1 ].setTexture( std::string( value + "_m.tga" ).c_str() );
|
||||
_TextureIdNormal[ 2 ].setTexture( std::string( value + "_r.tga" ).c_str() );
|
||||
|
||||
CViewRenderer &rVR = *CViewRenderer::getInstance();
|
||||
rVR.getTextureSizeFromId(_TextureIdNormal[0], _BmpLeftW, _BmpH);
|
||||
rVR.getTextureSizeFromId(_TextureIdNormal[1], _BmpMiddleW, _BmpH);
|
||||
rVR.getTextureSizeFromId(_TextureIdNormal[2], _BmpRightW, _BmpH);
|
||||
return;
|
||||
}
|
||||
else
|
||||
|
@ -269,7 +291,8 @@ namespace NLGUI
|
|||
else
|
||||
if( name == "hardtext" )
|
||||
{
|
||||
_ViewText->setText( value );
|
||||
if( _ViewText != NULL )
|
||||
_ViewText->setText( value );
|
||||
return;
|
||||
}
|
||||
else
|
||||
|
@ -292,8 +315,10 @@ namespace NLGUI
|
|||
if( name == "text_underlined" )
|
||||
{
|
||||
bool b;
|
||||
if( fromString( value, b ) )
|
||||
_ViewText->setUnderlined( b );
|
||||
if( _ViewText != NULL )
|
||||
if( fromString( value, b ) )
|
||||
_ViewText->setUnderlined( b );
|
||||
|
||||
return;
|
||||
}
|
||||
else
|
||||
|
@ -766,8 +791,7 @@ namespace NLGUI
|
|||
CCtrlBase *capturePointerLeft = CWidgetManager::getInstance()->getCapturePointerLeft();
|
||||
|
||||
// *** Draw Over
|
||||
if( editorSelected ||
|
||||
( !editorMode && _Over && (_OverWhenPushed || !(_Pushed || capturePointerLeft == this ) ) )
|
||||
if( ( !editorMode && _Over && (_OverWhenPushed || !(_Pushed || capturePointerLeft == this ) ) )
|
||||
)
|
||||
{
|
||||
if( !editorMode && (lastOver == false) && (_AHOnOver != NULL) )
|
||||
|
@ -803,32 +827,35 @@ namespace NLGUI
|
|||
}
|
||||
}
|
||||
// Setup ViewText color
|
||||
if ( pTxId==_TextureIdNormal || editorMode )
|
||||
if( _ViewText != NULL )
|
||||
{
|
||||
if(_TextHeaderColor) viewTextColor.A= _TextColorNormal.A;
|
||||
else viewTextColor= _TextColorNormal;
|
||||
_ViewText->setColor(viewTextColor);
|
||||
_ViewText->setShadowColor(_TextShadowColorNormal);
|
||||
_ViewText->setModulateGlobalColor(_TextModulateGlobalColorNormal);
|
||||
if ( pTxId==_TextureIdNormal || editorMode )
|
||||
{
|
||||
if(_TextHeaderColor) viewTextColor.A= _TextColorNormal.A;
|
||||
else viewTextColor= _TextColorNormal;
|
||||
_ViewText->setColor(viewTextColor);
|
||||
_ViewText->setShadowColor(_TextShadowColorNormal);
|
||||
_ViewText->setModulateGlobalColor(_TextModulateGlobalColorNormal);
|
||||
}
|
||||
else if ( pTxId==_TextureIdPushed )
|
||||
{
|
||||
if(_TextHeaderColor) viewTextColor.A= _TextColorPushed.A;
|
||||
else viewTextColor= _TextColorPushed;
|
||||
_ViewText->setColor(viewTextColor);
|
||||
_ViewText->setShadowColor(_TextShadowColorPushed);
|
||||
_ViewText->setModulateGlobalColor(_TextModulateGlobalColorPushed);
|
||||
}
|
||||
else if ( pTxId==_TextureIdOver )
|
||||
{
|
||||
if(_TextHeaderColor) viewTextColor.A= _TextColorOver.A;
|
||||
else viewTextColor= _TextColorOver;
|
||||
_ViewText->setColor(viewTextColor);
|
||||
_ViewText->setShadowColor(_TextShadowColorOver);
|
||||
_ViewText->setModulateGlobalColor(_TextModulateGlobalColorOver);
|
||||
}
|
||||
if(getFrozen() && getFrozenHalfTone())
|
||||
_ViewText->setAlpha(_ViewText->getAlpha()>>2);
|
||||
}
|
||||
else if ( pTxId==_TextureIdPushed )
|
||||
{
|
||||
if(_TextHeaderColor) viewTextColor.A= _TextColorPushed.A;
|
||||
else viewTextColor= _TextColorPushed;
|
||||
_ViewText->setColor(viewTextColor);
|
||||
_ViewText->setShadowColor(_TextShadowColorPushed);
|
||||
_ViewText->setModulateGlobalColor(_TextModulateGlobalColorPushed);
|
||||
}
|
||||
else if ( pTxId==_TextureIdOver )
|
||||
{
|
||||
if(_TextHeaderColor) viewTextColor.A= _TextColorOver.A;
|
||||
else viewTextColor= _TextColorOver;
|
||||
_ViewText->setColor(viewTextColor);
|
||||
_ViewText->setShadowColor(_TextShadowColorOver);
|
||||
_ViewText->setModulateGlobalColor(_TextModulateGlobalColorOver);
|
||||
}
|
||||
if(getFrozen() && getFrozenHalfTone())
|
||||
_ViewText->setAlpha(_ViewText->getAlpha()>>2);
|
||||
}
|
||||
|
||||
|
||||
|
@ -864,6 +891,16 @@ namespace NLGUI
|
|||
{
|
||||
_Setuped= true;
|
||||
|
||||
if( _ViewText == NULL )
|
||||
{
|
||||
CViewBase *v = CWidgetManager::getInstance()->getParser()->createClass( "text" );
|
||||
nlassert( v != NULL );
|
||||
_ViewText = dynamic_cast< CViewText* >( v );
|
||||
_ViewText->setId( _Id + "_text" );
|
||||
_ViewText->setText( ucstring( "text" ) );
|
||||
_ViewText->setSerializable( false );
|
||||
}
|
||||
|
||||
// setup the viewText and add to parent
|
||||
_ViewText->setParent (getParent());
|
||||
_ViewText->setParentPos (this);
|
||||
|
@ -960,6 +997,19 @@ namespace NLGUI
|
|||
}
|
||||
|
||||
// ***************************************************************************
|
||||
void CCtrlTextButton::onRemoved()
|
||||
{
|
||||
if( _ViewText != NULL )
|
||||
{
|
||||
if( _Parent != NULL )
|
||||
_Parent->delView( _ViewText, true );
|
||||
}
|
||||
}
|
||||
|
||||
void CCtrlTextButton::onWidgetDeleted( CInterfaceElement *e )
|
||||
{
|
||||
if( e == _ViewText )
|
||||
_ViewText = NULL;
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -208,6 +208,9 @@ namespace NLGUI
|
|||
case PlayerName:
|
||||
return "playername";
|
||||
break;
|
||||
|
||||
default:
|
||||
break;
|
||||
}
|
||||
|
||||
return "text";
|
||||
|
@ -497,6 +500,9 @@ namespace NLGUI
|
|||
case PlayerName:
|
||||
e = "playername";
|
||||
break;
|
||||
|
||||
default:
|
||||
break;
|
||||
}
|
||||
|
||||
xmlSetProp( node, BAD_CAST "enter_type", BAD_CAST e.c_str() );
|
||||
|
@ -1411,7 +1417,8 @@ namespace NLGUI
|
|||
// ----------------------------------------------------------------------------
|
||||
void CGroupEditBox::checkCoords()
|
||||
{
|
||||
setupDisplayText();
|
||||
if( !editorMode )
|
||||
setupDisplayText();
|
||||
|
||||
CInterfaceGroup::checkCoords();
|
||||
}
|
||||
|
@ -1530,7 +1537,29 @@ namespace NLGUI
|
|||
_ViewText = dynamic_cast<CViewText *>(CInterfaceGroup::getView("edit_text"));
|
||||
|
||||
if(_ViewText == NULL)
|
||||
{
|
||||
nlwarning("Interface: CGroupEditBox: text 'edit_text' missing or bad type");
|
||||
if( editorMode )
|
||||
{
|
||||
nlwarning( "Trying to create a new 'edit_text' for %s", getId().c_str() );
|
||||
_ViewText = dynamic_cast< CViewText* >( CWidgetManager::getInstance()->getParser()->createClass( "text" ) );
|
||||
if( _ViewText != NULL )
|
||||
{
|
||||
_ViewText->setParent( this );
|
||||
_ViewText->setIdRecurse( "edit_text" );
|
||||
_ViewText->setHardText( "sometext" );
|
||||
_ViewText->setPosRef( Hotspot_TL );
|
||||
_ViewText->setParentPosRef( Hotspot_TL );
|
||||
addView( _ViewText );
|
||||
|
||||
setH( _ViewText->getFontHeight() );
|
||||
setW( _ViewText->getFontWidth() * _ViewText->getText().size() );
|
||||
|
||||
}
|
||||
else
|
||||
nlwarning( "Failed to create new 'edit_text' for %s", getId().c_str() );
|
||||
}
|
||||
}
|
||||
|
||||
// For MultiLine editbox, clip the end space, else weird when edit space at end of line (nothing happens)
|
||||
if(_ViewText)
|
||||
|
|
|
@ -4094,7 +4094,8 @@ namespace NLGUI
|
|||
void CGroupHTML::requestTerminated(HTRequest * request )
|
||||
{
|
||||
// this callback is being called for every request terminated
|
||||
if( request == _LibWWW->Request ){
|
||||
if (request == _LibWWW->Request)
|
||||
{
|
||||
// set the browser as complete
|
||||
_Browsing = false;
|
||||
updateRefreshButton();
|
||||
|
|
|
@ -199,78 +199,78 @@ namespace NLGUI
|
|||
{
|
||||
return toString( _MaxElements );
|
||||
}
|
||||
else
|
||||
|
||||
if( name == "addelt" )
|
||||
{
|
||||
switch( _AddElt )
|
||||
{
|
||||
case Top:
|
||||
return "T";
|
||||
break;
|
||||
|
||||
case Left:
|
||||
return "L";
|
||||
break;
|
||||
|
||||
case Right:
|
||||
return "R";
|
||||
break;
|
||||
|
||||
case Bottom:
|
||||
return "B";
|
||||
}
|
||||
|
||||
return "B";
|
||||
nlassert(false);
|
||||
}
|
||||
else
|
||||
|
||||
if( name == "align" )
|
||||
{
|
||||
switch( _Align )
|
||||
{
|
||||
case Top:
|
||||
return "T";
|
||||
break;
|
||||
|
||||
case Left:
|
||||
return "L";
|
||||
break;
|
||||
|
||||
case Right:
|
||||
return "R";
|
||||
break;
|
||||
|
||||
case Bottom:
|
||||
return "B";
|
||||
}
|
||||
|
||||
return "B";
|
||||
nlassert(false);
|
||||
}
|
||||
else
|
||||
|
||||
if( name == "space" )
|
||||
{
|
||||
return toString( _Space );
|
||||
}
|
||||
else
|
||||
|
||||
if( name == "over" )
|
||||
{
|
||||
return toString( _Over );
|
||||
}
|
||||
else
|
||||
|
||||
if( name == "dynamic_display_size" )
|
||||
{
|
||||
return toString( _DynamicDisplaySize );
|
||||
}
|
||||
else
|
||||
|
||||
if( name == "col_over" )
|
||||
{
|
||||
return toString( _OverColor );
|
||||
}
|
||||
else
|
||||
|
||||
if( name == "hardtext" )
|
||||
{
|
||||
return _HardText;
|
||||
}
|
||||
else
|
||||
|
||||
if( name == "textid" )
|
||||
{
|
||||
return toString( _TextId );
|
||||
}
|
||||
else
|
||||
return CInterfaceGroup::getProperty( name );
|
||||
|
||||
return CInterfaceGroup::getProperty( name );
|
||||
}
|
||||
|
||||
void CGroupList::setProperty( const std::string &name, const std::string &value )
|
||||
|
@ -282,7 +282,7 @@ namespace NLGUI
|
|||
_MaxElements = i;
|
||||
return;
|
||||
}
|
||||
else
|
||||
|
||||
if( name == "addelt" )
|
||||
{
|
||||
if( value == "T" )
|
||||
|
@ -300,7 +300,7 @@ namespace NLGUI
|
|||
setupSizes();
|
||||
return;
|
||||
}
|
||||
else
|
||||
|
||||
if( name == "align" )
|
||||
{
|
||||
if( value == "T" )
|
||||
|
@ -317,7 +317,7 @@ namespace NLGUI
|
|||
|
||||
return;
|
||||
}
|
||||
else
|
||||
|
||||
if( name == "space" )
|
||||
{
|
||||
sint32 i;
|
||||
|
@ -325,7 +325,7 @@ namespace NLGUI
|
|||
_Space = i;
|
||||
return;
|
||||
}
|
||||
else
|
||||
|
||||
if( name == "over" )
|
||||
{
|
||||
bool b;
|
||||
|
@ -333,7 +333,7 @@ namespace NLGUI
|
|||
_Over = b;
|
||||
return;
|
||||
}
|
||||
else
|
||||
|
||||
if( name == "dynamic_display_size" )
|
||||
{
|
||||
bool b;
|
||||
|
@ -341,7 +341,7 @@ namespace NLGUI
|
|||
_DynamicDisplaySize = b;
|
||||
return;
|
||||
}
|
||||
else
|
||||
|
||||
if( name == "col_over" )
|
||||
{
|
||||
CRGBA c;
|
||||
|
@ -349,7 +349,7 @@ namespace NLGUI
|
|||
_OverColor = c;
|
||||
return;
|
||||
}
|
||||
else
|
||||
|
||||
if( name == "hardtext" )
|
||||
{
|
||||
_HardText = value;
|
||||
|
@ -357,7 +357,7 @@ namespace NLGUI
|
|||
onTextChanged();
|
||||
return;
|
||||
}
|
||||
else
|
||||
|
||||
if( name == "textid" )
|
||||
{
|
||||
uint32 i;
|
||||
|
@ -367,8 +367,8 @@ namespace NLGUI
|
|||
onTextChanged();
|
||||
return;
|
||||
}
|
||||
else
|
||||
CInterfaceGroup::setProperty( name, value );
|
||||
|
||||
CInterfaceGroup::setProperty( name, value );
|
||||
}
|
||||
|
||||
|
||||
|
|
|
@ -197,18 +197,18 @@ namespace NLGUI
|
|||
{
|
||||
case Top:
|
||||
return "T";
|
||||
break;
|
||||
|
||||
case Left:
|
||||
return "L";
|
||||
break;
|
||||
|
||||
case Right:
|
||||
return "R";
|
||||
break;
|
||||
|
||||
case Bottom:
|
||||
return "B";
|
||||
}
|
||||
|
||||
return "B";
|
||||
nlassert(false);
|
||||
}
|
||||
else
|
||||
if( name == "align" )
|
||||
|
@ -217,18 +217,18 @@ namespace NLGUI
|
|||
{
|
||||
case Top:
|
||||
return "T";
|
||||
break;
|
||||
|
||||
case Left:
|
||||
return "L";
|
||||
break;
|
||||
|
||||
case Right:
|
||||
return "R";
|
||||
break;
|
||||
|
||||
case Bottom:
|
||||
return "B";
|
||||
}
|
||||
|
||||
return "B";
|
||||
nlassert(false);
|
||||
}
|
||||
else
|
||||
if( name == "space" )
|
||||
|
|
|
@ -80,15 +80,15 @@ namespace NLGUI
|
|||
{
|
||||
case Right:
|
||||
return "right";
|
||||
break;
|
||||
|
||||
case Center:
|
||||
return "center";
|
||||
break;
|
||||
|
||||
case Left:
|
||||
return "left";
|
||||
}
|
||||
|
||||
return "left";
|
||||
|
||||
nlassert(false);
|
||||
}
|
||||
else
|
||||
if( name == "valign" )
|
||||
|
@ -97,14 +97,15 @@ namespace NLGUI
|
|||
{
|
||||
case Middle:
|
||||
return "middle";
|
||||
break;
|
||||
|
||||
case Bottom:
|
||||
return "bottom";
|
||||
break;
|
||||
|
||||
case Top:
|
||||
return "top";
|
||||
}
|
||||
|
||||
return "top";
|
||||
nlassert(false);
|
||||
}
|
||||
else
|
||||
if( name == "left_margin" )
|
||||
|
|
|
@ -34,6 +34,7 @@ using namespace NLMISC;
|
|||
namespace NLGUI
|
||||
{
|
||||
bool CInterfaceElement::editorMode = false;
|
||||
std::vector< CInterfaceElement::IDeletionWatcher* > CInterfaceElement::deletionWatchers;
|
||||
|
||||
// ------------------------------------------------------------------------------------------------
|
||||
CInterfaceElement::~CInterfaceElement()
|
||||
|
@ -46,6 +47,13 @@ namespace NLGUI
|
|||
}
|
||||
delete _Links;
|
||||
}
|
||||
|
||||
if( editorMode )
|
||||
{
|
||||
notifyDeletionWatchers();
|
||||
if( _Parent != NULL )
|
||||
_Parent->onWidgetDeleted( this );
|
||||
}
|
||||
}
|
||||
|
||||
// ------------------------------------------------------------------------------------------------
|
||||
|
@ -993,8 +1001,7 @@ namespace NLGUI
|
|||
// ------------------------------------------------------------------------------------------------
|
||||
bool CInterfaceElement::convertBool (const char *ptr)
|
||||
{
|
||||
std::string str = ptr;
|
||||
NLMISC::strlwr( str );
|
||||
std::string str = toLower(ptr);
|
||||
bool b = false;
|
||||
fromString( str, b );
|
||||
return b;
|
||||
|
@ -1296,6 +1303,11 @@ namespace NLGUI
|
|||
|
||||
}
|
||||
|
||||
void CInterfaceElement::drawHighlight()
|
||||
{
|
||||
CViewRenderer::getInstance()->drawWiredQuad( _XReal, _YReal, _WReal, _HReal );
|
||||
}
|
||||
|
||||
// ***************************************************************************
|
||||
void CInterfaceElement::invalidateContent()
|
||||
{
|
||||
|
@ -1542,6 +1554,36 @@ namespace NLGUI
|
|||
}
|
||||
}
|
||||
|
||||
void CInterfaceElement::registerDeletionWatcher( IDeletionWatcher *watcher )
|
||||
{
|
||||
std::vector< IDeletionWatcher* >::iterator itr
|
||||
= std::find( deletionWatchers.begin(), deletionWatchers.end(), watcher );
|
||||
// Already registered
|
||||
if( itr != deletionWatchers.end() )
|
||||
return;
|
||||
deletionWatchers.push_back( watcher );
|
||||
}
|
||||
|
||||
void CInterfaceElement::unregisterDeletionWatcher( IDeletionWatcher *watcher )
|
||||
{
|
||||
std::vector< IDeletionWatcher* >::iterator itr
|
||||
= std::find( deletionWatchers.begin(), deletionWatchers.end(), watcher );
|
||||
// Not registered
|
||||
if( itr == deletionWatchers.end() )
|
||||
return;
|
||||
deletionWatchers.erase( itr );
|
||||
}
|
||||
|
||||
void CInterfaceElement::notifyDeletionWatchers()
|
||||
{
|
||||
std::vector< IDeletionWatcher* >::iterator itr = deletionWatchers.begin();
|
||||
while( itr != deletionWatchers.end() )
|
||||
{
|
||||
(*itr)->onDeleted( _Id );
|
||||
++itr;
|
||||
}
|
||||
}
|
||||
|
||||
CStringMapper* CStringShared::_UIStringMapper = NULL;
|
||||
|
||||
|
||||
|
|
Some files were not shown because too many files have changed in this diff Show more
Loading…
Reference in a new issue