Commit 07518fba authored by hybrid's avatar hybrid

New glext.h and glxext.h including support in ExtensionHandler for OpenGL 3.0 additions.

git-svn-id: svn://svn.code.sf.net/p/irrlicht/code/trunk@1502 dfc29bdd-3216-0410-991c-e03cc46cb475
parent f1198e2c
...@@ -12,7 +12,7 @@ Changes in version 1.5 (... 2008) ...@@ -12,7 +12,7 @@ Changes in version 1.5 (... 2008)
- Fixed usage of SIrrCreationParameters struct, which dind't have copy constructor and assignment operator anymore, since the Irrlicht version string was made const. - Fixed usage of SIrrCreationParameters struct, which dind't have copy constructor and assignment operator anymore, since the Irrlicht version string was made const.
- New glext.h (version 40) - New glext.h (version 41) and glxext.h (version 20) supporting OpenGL 3.0
- Added support for read-only locking of textures. Can speed up those calls. - Added support for read-only locking of textures. Can speed up those calls.
...@@ -139,6 +139,10 @@ Changes in version 1.5 (... 2008) ...@@ -139,6 +139,10 @@ Changes in version 1.5 (... 2008)
- Fixed a performance bug in ISceneNode constructor reported by izhbq412 - Fixed a performance bug in ISceneNode constructor reported by izhbq412
- Win32 device now makes the cursor invisible immediately when setVisible(false) is called.
- Command line tool for mesh conversion added.
- Added volume light scene node - Added volume light scene node
- .obj files now won't duplicate vertices unnecessarily. This allows recalculation of smooth normals and other things, and is also faster when rendering. The loading is a little slower now. - .obj files now won't duplicate vertices unnecessarily. This allows recalculation of smooth normals and other things, and is also faster when rendering. The loading is a little slower now.
...@@ -151,7 +155,8 @@ Changes in version 1.5 (... 2008) ...@@ -151,7 +155,8 @@ Changes in version 1.5 (... 2008)
- Windows Mobile 6 SDK - Windows Mobile 6 SDK
- Visual Studio 2005 - Visual Studio 2005
- b3d meshes now always contain proper normals. Also some other bugs fixed. - Added checks to avoid buffer overrun in b3d loader. Enabled normals calculation in all cases, previously it was not done for lightmapped meshes.
Fixed transparency support. Added mipmap creation flag support which might disable mipmap creation too often. Should be checked.
- Burningvideo: MipMap Selection repaired - Burningvideo: MipMap Selection repaired
...@@ -159,7 +164,7 @@ Changes in version 1.5 (... 2008) ...@@ -159,7 +164,7 @@ Changes in version 1.5 (... 2008)
- Added collision manager speedup patch by RogerBorg. - Added collision manager speedup patch by RogerBorg.
- The d3d textures don't keep the initial IImage copied, but use the texture data to recover. - D3D drivers now releases the IImage member from initialization, thus freeing lots of memory. The image is accessible via the driver anyway.
- SDL device character handling enhanced. - SDL device character handling enhanced.
...@@ -188,6 +193,8 @@ Changes in version 1.5 (... 2008) ...@@ -188,6 +193,8 @@ Changes in version 1.5 (... 2008)
Nodes are now solid or transparent. ( but still more states are needed ) Nodes are now solid or transparent. ( but still more states are needed )
- GUI: - GUI:
- Editbox didn't draw children
- Checking IsEnabled is now consistent across all GUI elements - Checking IsEnabled is now consistent across all GUI elements
- Move window to front bug fixed. - Move window to front bug fixed.
- Disabling the BMP loader now compiles without the built-in font - Disabling the BMP loader now compiles without the built-in font
...@@ -197,7 +204,6 @@ Changes in version 1.5 (... 2008) ...@@ -197,7 +204,6 @@ Changes in version 1.5 (... 2008)
- Fixed a bug in CGUISpriteBank which caused a crash when a non-looping animated sprite reached the end of its animation. - Fixed a bug in CGUISpriteBank which caused a crash when a non-looping animated sprite reached the end of its animation.
- Modal screens no longer flash invisible children when rejecting a focus change. - Modal screens no longer flash invisible children when rejecting a focus change.
- Finally added StarSonata patch with table element and TabControl additions. Table is based on MultiColor listbox by Acki, and has loads of changes by CuteAlien. - Finally added StarSonata patch with table element and TabControl additions. Table is based on MultiColor listbox by Acki, and has loads of changes by CuteAlien.
- EditBox didn't draw children.
------------------------------------------- -------------------------------------------
Changes in version 1.4.2 (x.x.2008) Changes in version 1.4.2 (x.x.2008)
......
...@@ -81,13 +81,21 @@ static const char* const OpenGLFeatureStrings[] = { ...@@ -81,13 +81,21 @@ static const char* const OpenGLFeatureStrings[] = {
"GL_APPLE_vertex_array_range", "GL_APPLE_vertex_array_range",
"GL_APPLE_ycbcr_422", "GL_APPLE_ycbcr_422",
"GL_ARB_color_buffer_float", "GL_ARB_color_buffer_float",
"GL_ARB_depth_buffer_float",
"GL_ARB_depth_texture", "GL_ARB_depth_texture",
"GL_ARB_draw_buffers", "GL_ARB_draw_buffers",
"GL_ARB_draw_instanced",
"GL_ARB_fragment_program", "GL_ARB_fragment_program",
"GL_ARB_fragment_program_shadow", "GL_ARB_fragment_program_shadow",
"GL_ARB_fragment_shader", "GL_ARB_fragment_shader",
"GL_ARB_framebuffer_object",
"GL_ARB_framebuffer_sRGB",
"GL_ARB_geometry_shader4",
"GL_ARB_half_float_pixel", "GL_ARB_half_float_pixel",
"GL_ARB_half_float_vertex",
"GL_ARB_imaging", "GL_ARB_imaging",
"GL_ARB_instanced_arrays",
"GL_ARB_map_buffer_range",
"GL_ARB_matrix_palette", "GL_ARB_matrix_palette",
"GL_ARB_multisample", "GL_ARB_multisample",
"GL_ARB_multitexture", "GL_ARB_multitexture",
...@@ -100,7 +108,9 @@ static const char* const OpenGLFeatureStrings[] = { ...@@ -100,7 +108,9 @@ static const char* const OpenGLFeatureStrings[] = {
"GL_ARB_shadow", "GL_ARB_shadow",
"GL_ARB_shadow_ambient", "GL_ARB_shadow_ambient",
"GL_ARB_texture_border_clamp", "GL_ARB_texture_border_clamp",
"GL_ARB_texture_buffer_object",
"GL_ARB_texture_compression", "GL_ARB_texture_compression",
"GL_ARB_texture_compression_rgtc",
"GL_ARB_texture_cube_map", "GL_ARB_texture_cube_map",
"GL_ARB_texture_env_add", "GL_ARB_texture_env_add",
"GL_ARB_texture_env_combine", "GL_ARB_texture_env_combine",
...@@ -110,7 +120,9 @@ static const char* const OpenGLFeatureStrings[] = { ...@@ -110,7 +120,9 @@ static const char* const OpenGLFeatureStrings[] = {
"GL_ARB_texture_mirrored_repeat", "GL_ARB_texture_mirrored_repeat",
"GL_ARB_texture_non_power_of_two", "GL_ARB_texture_non_power_of_two",
"GL_ARB_texture_rectangle", "GL_ARB_texture_rectangle",
"GL_ARB_texture_rg",
"GL_ARB_transpose_matrix", "GL_ARB_transpose_matrix",
"GL_ARB_vertex_array_object",
"GL_ARB_vertex_blend", "GL_ARB_vertex_blend",
"GL_ARB_vertex_buffer_object", "GL_ARB_vertex_buffer_object",
"GL_ARB_vertex_program", "GL_ARB_vertex_program",
...@@ -208,6 +220,7 @@ static const char* const OpenGLFeatureStrings[] = { ...@@ -208,6 +220,7 @@ static const char* const OpenGLFeatureStrings[] = {
"GL_EXT_texture_shared_exponent", "GL_EXT_texture_shared_exponent",
"GL_EXT_texture_sRGB", "GL_EXT_texture_sRGB",
"GL_EXT_timer_query", "GL_EXT_timer_query",
"GL_EXT_transform_feedback",
"GL_EXT_vertex_array", "GL_EXT_vertex_array",
"GL_EXT_vertex_shader", "GL_EXT_vertex_shader",
"GL_EXT_vertex_weighting", "GL_EXT_vertex_weighting",
...@@ -235,6 +248,7 @@ static const char* const OpenGLFeatureStrings[] = { ...@@ -235,6 +248,7 @@ static const char* const OpenGLFeatureStrings[] = {
"GL_MESAX_texture_stack", "GL_MESAX_texture_stack",
"GL_MESA_ycbcr_texture", "GL_MESA_ycbcr_texture",
"GL_NV_blend_square", "GL_NV_blend_square",
"GL_NV_conditional_render",
"GL_NV_copy_depth_to_color", "GL_NV_copy_depth_to_color",
"GL_NV_depth_buffer_float", "GL_NV_depth_buffer_float",
"GL_NV_depth_clamp", "GL_NV_depth_clamp",
...@@ -258,6 +272,7 @@ static const char* const OpenGLFeatureStrings[] = { ...@@ -258,6 +272,7 @@ static const char* const OpenGLFeatureStrings[] = {
"GL_NV_parameter_buffer_object", "GL_NV_parameter_buffer_object",
"GL_NV_pixel_data_range", "GL_NV_pixel_data_range",
"GL_NV_point_sprite", "GL_NV_point_sprite",
"GL_NV_present_video",
"GL_NV_primitive_restart", "GL_NV_primitive_restart",
"GL_NV_register_combiners", "GL_NV_register_combiners",
"GL_NV_register_combiners2", "GL_NV_register_combiners2",
...@@ -376,13 +391,21 @@ class COpenGLExtensionHandler ...@@ -376,13 +391,21 @@ class COpenGLExtensionHandler
IRR_APPLE_vertex_array_range, IRR_APPLE_vertex_array_range,
IRR_APPLE_ycbcr_422, IRR_APPLE_ycbcr_422,
IRR_ARB_color_buffer_float, IRR_ARB_color_buffer_float,
IRR_ARB_depth_buffer_float,
IRR_ARB_depth_texture, IRR_ARB_depth_texture,
IRR_ARB_draw_buffers, IRR_ARB_draw_buffers,
IRR_ARB_draw_instanced,
IRR_ARB_fragment_program, IRR_ARB_fragment_program,
IRR_ARB_fragment_program_shadow, IRR_ARB_fragment_program_shadow,
IRR_ARB_fragment_shader, IRR_ARB_fragment_shader,
IRR_ARB_framebuffer_object,
IRR_ARB_framebuffer_sRGB,
IRR_ARB_geometry_shader4,
IRR_ARB_half_float_pixel, IRR_ARB_half_float_pixel,
IRR_ARB_half_float_vertex,
IRR_ARB_imaging, IRR_ARB_imaging,
IRR_ARB_instanced_arrays,
IRR_ARB_map_buffer_range,
IRR_ARB_matrix_palette, IRR_ARB_matrix_palette,
IRR_ARB_multisample, IRR_ARB_multisample,
IRR_ARB_multitexture, IRR_ARB_multitexture,
...@@ -395,7 +418,9 @@ class COpenGLExtensionHandler ...@@ -395,7 +418,9 @@ class COpenGLExtensionHandler
IRR_ARB_shadow, IRR_ARB_shadow,
IRR_ARB_shadow_ambient, IRR_ARB_shadow_ambient,
IRR_ARB_texture_border_clamp, IRR_ARB_texture_border_clamp,
IRR_ARB_texture_buffer_object,
IRR_ARB_texture_compression, IRR_ARB_texture_compression,
IRR_ARB_texture_compression_rgtc,
IRR_ARB_texture_cube_map, IRR_ARB_texture_cube_map,
IRR_ARB_texture_env_add, IRR_ARB_texture_env_add,
IRR_ARB_texture_env_combine, IRR_ARB_texture_env_combine,
...@@ -405,7 +430,9 @@ class COpenGLExtensionHandler ...@@ -405,7 +430,9 @@ class COpenGLExtensionHandler
IRR_ARB_texture_mirrored_repeat, IRR_ARB_texture_mirrored_repeat,
IRR_ARB_texture_non_power_of_two, IRR_ARB_texture_non_power_of_two,
IRR_ARB_texture_rectangle, IRR_ARB_texture_rectangle,
IRR_ARB_texture_rg,
IRR_ARB_transpose_matrix, IRR_ARB_transpose_matrix,
IRR_ARB_vertex_array_object,
IRR_ARB_vertex_blend, IRR_ARB_vertex_blend,
IRR_ARB_vertex_buffer_object, IRR_ARB_vertex_buffer_object,
IRR_ARB_vertex_program, IRR_ARB_vertex_program,
...@@ -503,6 +530,7 @@ class COpenGLExtensionHandler ...@@ -503,6 +530,7 @@ class COpenGLExtensionHandler
IRR_EXT_texture_shared_exponent, IRR_EXT_texture_shared_exponent,
IRR_EXT_texture_sRGB, IRR_EXT_texture_sRGB,
IRR_EXT_timer_query, IRR_EXT_timer_query,
IRR_EXT_transform_feedback,
IRR_EXT_vertex_array, IRR_EXT_vertex_array,
IRR_EXT_vertex_shader, IRR_EXT_vertex_shader,
IRR_EXT_vertex_weighting, IRR_EXT_vertex_weighting,
...@@ -530,6 +558,7 @@ class COpenGLExtensionHandler ...@@ -530,6 +558,7 @@ class COpenGLExtensionHandler
IRR_MESAX_texture_stack, IRR_MESAX_texture_stack,
IRR_MESA_ycbcr_texture, IRR_MESA_ycbcr_texture,
IRR_NV_blend_square, IRR_NV_blend_square,
IRR_NV_conditional_render,
IRR_NV_copy_depth_to_color, IRR_NV_copy_depth_to_color,
IRR_NV_depth_buffer_float, IRR_NV_depth_buffer_float,
IRR_NV_depth_clamp, IRR_NV_depth_clamp,
...@@ -553,6 +582,7 @@ class COpenGLExtensionHandler ...@@ -553,6 +582,7 @@ class COpenGLExtensionHandler
IRR_NV_parameter_buffer_object, IRR_NV_parameter_buffer_object,
IRR_NV_pixel_data_range, IRR_NV_pixel_data_range,
IRR_NV_point_sprite, IRR_NV_point_sprite,
IRR_NV_present_video,
IRR_NV_primitive_restart, IRR_NV_primitive_restart,
IRR_NV_register_combiners, IRR_NV_register_combiners,
IRR_NV_register_combiners2, IRR_NV_register_combiners2,
......
This diff is collapsed.
...@@ -46,9 +46,9 @@ extern "C" { ...@@ -46,9 +46,9 @@ extern "C" {
/*************************************************************/ /*************************************************************/
/* Header file version number, required by OpenGL ABI for Linux */ /* Header file version number, required by OpenGL ABI for Linux */
/* glxext.h last updated 2007/04/21 */ /* glxext.h last updated 2008/08/10 */
/* Current version at http://www.opengl.org/registry/ */ /* Current version at http://www.opengl.org/registry/ */
#define GLX_GLXEXT_VERSION 19 #define GLX_GLXEXT_VERSION 20
#ifndef GLX_VERSION_1_3 #ifndef GLX_VERSION_1_3
#define GLX_WINDOW_BIT 0x00000001 #define GLX_WINDOW_BIT 0x00000001
...@@ -346,6 +346,26 @@ extern "C" { ...@@ -346,6 +346,26 @@ extern "C" {
#define GLX_AUX9_EXT 0x20EB #define GLX_AUX9_EXT 0x20EB
#endif #endif
#ifndef GLX_NV_present_video
#define GLX_GLX_NUM_VIDEO_SLOTS_NV 0x20F0
#endif
#ifndef GLX_NV_video_out
#define GLX_GLX_VIDEO_OUT_COLOR_NV 0x20C3
#define GLX_GLX_VIDEO_OUT_ALPHA_NV 0x20C4
#define GLX_GLX_VIDEO_OUT_DEPTH_NV 0x20C5
#define GLX_GLX_VIDEO_OUT_COLOR_AND_ALPHA_NV 0x20C6
#define GLX_GLX_VIDEO_OUT_COLOR_AND_DEPTH_NV 0x20C7
#define GLX_GLX_VIDEO_OUT_FRAME_NV 0x20C8
#define GLX_GLX_VIDEO_OUT_FIELD_1_NV 0x20C9
#define GLX_GLX_VIDEO_OUT_FIELD_2_NV 0x20CA
#define GLX_GLX_VIDEO_OUT_STACKED_FIELDS_1_2_NV 0x20CB
#define GLX_GLX_VIDEO_OUT_STACKED_FIELDS_2_1_NV 0x20CC
#endif
#ifndef GLX_NV_swap_group
#endif
/*************************************************************/ /*************************************************************/
...@@ -380,7 +400,7 @@ typedef struct { ...@@ -380,7 +400,7 @@ typedef struct {
#endif #endif
#ifndef GLEXT_64_TYPES_DEFINED #ifndef GLEXT_64_TYPES_DEFINED
/* This code block is duplicated in glxext.h, so must be protected */ /* This code block is duplicated in glext.h, so must be protected */
#define GLEXT_64_TYPES_DEFINED #define GLEXT_64_TYPES_DEFINED
/* Define int32_t, int64_t, and uint64_t types for UST/MSC */ /* Define int32_t, int64_t, and uint64_t types for UST/MSC */
/* (as used in the GLX_OML_sync_control extension). */ /* (as used in the GLX_OML_sync_control extension). */
...@@ -389,7 +409,7 @@ typedef struct { ...@@ -389,7 +409,7 @@ typedef struct {
#elif defined(__sun__) || defined(__digital__) #elif defined(__sun__) || defined(__digital__)
#include <inttypes.h> #include <inttypes.h>
#if defined(__STDC__) #if defined(__STDC__)
#if defined(__arch64__) #if defined(__arch64__) || defined(_LP64)
typedef long int int64_t; typedef long int int64_t;
typedef unsigned long int uint64_t; typedef unsigned long int uint64_t;
#else #else
...@@ -397,7 +417,7 @@ typedef long long int int64_t; ...@@ -397,7 +417,7 @@ typedef long long int int64_t;
typedef unsigned long long int uint64_t; typedef unsigned long long int uint64_t;
#endif /* __arch64__ */ #endif /* __arch64__ */
#endif /* __STDC__ */ #endif /* __STDC__ */
#elif defined( __VMS ) #elif defined( __VMS ) || defined(__sgi)
#include <inttypes.h> #include <inttypes.h>
#elif defined(__SCO__) || defined(__USLC__) #elif defined(__SCO__) || defined(__USLC__)
#include <stdint.h> #include <stdint.h>
...@@ -777,6 +797,18 @@ typedef void ( * PFNGLXBINDTEXIMAGEEXTPROC) (Display *dpy, GLXDrawable drawable, ...@@ -777,6 +797,18 @@ typedef void ( * PFNGLXBINDTEXIMAGEEXTPROC) (Display *dpy, GLXDrawable drawable,
typedef void ( * PFNGLXRELEASETEXIMAGEEXTPROC) (Display *dpy, GLXDrawable drawable, int buffer); typedef void ( * PFNGLXRELEASETEXIMAGEEXTPROC) (Display *dpy, GLXDrawable drawable, int buffer);
#endif #endif
#ifndef GLX_NV_present_video
#define GLX_NV_present_video 1
#endif
#ifndef GLX_NV_video_out
#define GLX_NV_video_out 1
#endif
#ifndef GLX_NV_swap_group
#define GLX_NV_swap_group 1
#endif
#ifdef __cplusplus #ifdef __cplusplus
} }
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment