Acme-MITHALDU-BleedingOpenGL

 view release on metacpan or  search on metacpan

FreeGLUT/freeglut-Readme.txt  view on Meta::CPAN



Compiling 32 bit Applications

To create a 32 bit freeglut application, create a new Win32 C++ project in MSVC.
From the “Win32 Application Wizard”, choose a “Windows application”, check the
“Empty project” box, and submit.

You’ll now need to configure the compiler and linker settings. Open up the
project properties, and select “All Configurations” (this is necessary to ensure
our changes are applied for both debug and release builds). Open up the
“general” section under “C/C++”, and configure the “include\” folder you created
above as an “Additional Include Directory”. If you have more than one GLUT
package which contains a “glut.h” file, it’s important to ensure that the
freeglut include folder appears above all other GLUT include folders.

Now open up the “general” section under “Linker”, and configure the “lib\”
folder you created above as an “Additional Library Directory”. A freeglut
application depends on the import libraries “freeglut.lib” and “opengl32.lib”,
which can be configured under the “Input” section. However, it shouldn’t be
necessary to explicitly state these dependencies, since the freeglut headers

KNOWN_PROBLEMS  view on Meta::CPAN

    glIndexPointerEXT_p(oga)
    glIndexPointer_p(oga)
    glNormalPointerEXT_p(oga)
    glNormalPointer_p(oga)
    glTexCoordPointerEXT_p(size, oga)
    glTexCoordPointer_p(size, oga)
    glVertexPointerEXT_p(size, oga)
    glVertexPointer_p(size, oga)

* OpenGL::RPN operations can segfault.  Work is underway
  to debug the stack issues which appear to be the root
  cause.

Makefile.PL  view on Meta::CPAN


our $verbose = 0;
our $IS_MINGW = 0;
our $IS_STRAWBERRY = 0;
our $IS_CYGWIN;
our $IS_W32API;
my $INCS;

try {

# Get debugging flags
if ( grep { if (m/^verbose/i) { $verbose++; 1; } else { 0; } } @ARGV )
{
  # Strip out interface args
  @ARGV = grep { !m/^verbose=/i } @ARGV;
}
print "\$verbose set to $verbose" . ($verbose ? "" : " - enable by running as `perl Makefile.PL verbose`");
print "\n\n";


# Get distribution build flags

glext_consts.h  view on Meta::CPAN


#ifndef NO_GL_ARB_copy_buffer
#endif /* GL_ARB_copy_buffer */

#ifndef NO_GL_ARB_copy_image
#endif /* GL_ARB_copy_image */

#ifndef NO_GL_ARB_cull_distance
#endif /* GL_ARB_cull_distance */

#ifndef NO_GL_ARB_debug_output
    i(GL_DEBUG_OUTPUT_SYNCHRONOUS_ARB)
    i(GL_DEBUG_NEXT_LOGGED_MESSAGE_LENGTH_ARB)
    i(GL_DEBUG_CALLBACK_FUNCTION_ARB)
    i(GL_DEBUG_CALLBACK_USER_PARAM_ARB)
    i(GL_DEBUG_SOURCE_API_ARB)
    i(GL_DEBUG_SOURCE_WINDOW_SYSTEM_ARB)
    i(GL_DEBUG_SOURCE_SHADER_COMPILER_ARB)
    i(GL_DEBUG_SOURCE_THIRD_PARTY_ARB)
    i(GL_DEBUG_SOURCE_APPLICATION_ARB)
    i(GL_DEBUG_SOURCE_OTHER_ARB)

glext_consts.h  view on Meta::CPAN

    i(GL_DEBUG_TYPE_UNDEFINED_BEHAVIOR_ARB)
    i(GL_DEBUG_TYPE_PORTABILITY_ARB)
    i(GL_DEBUG_TYPE_PERFORMANCE_ARB)
    i(GL_DEBUG_TYPE_OTHER_ARB)
    i(GL_MAX_DEBUG_MESSAGE_LENGTH_ARB)
    i(GL_MAX_DEBUG_LOGGED_MESSAGES_ARB)
    i(GL_DEBUG_LOGGED_MESSAGES_ARB)
    i(GL_DEBUG_SEVERITY_HIGH_ARB)
    i(GL_DEBUG_SEVERITY_MEDIUM_ARB)
    i(GL_DEBUG_SEVERITY_LOW_ARB)
#endif /* GL_ARB_debug_output */

#ifndef NO_GL_ARB_depth_buffer_float
#endif /* GL_ARB_depth_buffer_float */

#ifndef NO_GL_ARB_depth_clamp
#endif /* GL_ARB_depth_clamp */

#ifndef NO_GL_ARB_depth_texture
    i(GL_DEPTH_COMPONENT16_ARB)
    i(GL_DEPTH_COMPONENT24_ARB)

glext_consts.h  view on Meta::CPAN

    i(GL_HSL_LUMINOSITY_KHR)
#endif /* GL_KHR_blend_equation_advanced */

#ifndef NO_GL_KHR_blend_equation_advanced_coherent
    i(GL_BLEND_ADVANCED_COHERENT_KHR)
#endif /* GL_KHR_blend_equation_advanced_coherent */

#ifndef NO_GL_KHR_context_flush_control
#endif /* GL_KHR_context_flush_control */

#ifndef NO_GL_KHR_debug
#endif /* GL_KHR_debug */

#ifndef NO_GL_KHR_no_error
    i(GL_CONTEXT_FLAG_NO_ERROR_BIT_KHR)
#endif /* GL_KHR_no_error */

#ifndef NO_GL_KHR_robust_buffer_access_behavior
#endif /* GL_KHR_robust_buffer_access_behavior */

#ifndef NO_GL_KHR_robustness
    i(GL_CONTEXT_ROBUST_ACCESS)

glext_consts.h  view on Meta::CPAN

#endif /* GL_3DFX_texture_compression_FXT1 */

#ifndef NO_GL_AMD_blend_minmax_factor
    i(GL_FACTOR_MIN_AMD)
    i(GL_FACTOR_MAX_AMD)
#endif /* GL_AMD_blend_minmax_factor */

#ifndef NO_GL_AMD_conservative_depth
#endif /* GL_AMD_conservative_depth */

#ifndef NO_GL_AMD_debug_output
    i(GL_MAX_DEBUG_MESSAGE_LENGTH_AMD)
    i(GL_MAX_DEBUG_LOGGED_MESSAGES_AMD)
    i(GL_DEBUG_LOGGED_MESSAGES_AMD)
    i(GL_DEBUG_SEVERITY_HIGH_AMD)
    i(GL_DEBUG_SEVERITY_MEDIUM_AMD)
    i(GL_DEBUG_SEVERITY_LOW_AMD)
    i(GL_DEBUG_CATEGORY_API_ERROR_AMD)
    i(GL_DEBUG_CATEGORY_WINDOW_SYSTEM_AMD)
    i(GL_DEBUG_CATEGORY_DEPRECATION_AMD)
    i(GL_DEBUG_CATEGORY_UNDEFINED_BEHAVIOR_AMD)
    i(GL_DEBUG_CATEGORY_PERFORMANCE_AMD)
    i(GL_DEBUG_CATEGORY_SHADER_COMPILER_AMD)
    i(GL_DEBUG_CATEGORY_APPLICATION_AMD)
    i(GL_DEBUG_CATEGORY_OTHER_AMD)
#endif /* GL_AMD_debug_output */

#ifndef NO_GL_AMD_depth_clamp_separate
    i(GL_DEPTH_CLAMP_NEAR_AMD)
    i(GL_DEPTH_CLAMP_FAR_AMD)
#endif /* GL_AMD_depth_clamp_separate */

#ifndef NO_GL_AMD_draw_buffers_blend
#endif /* GL_AMD_draw_buffers_blend */

#ifndef NO_GL_AMD_gcn_shader

glext_consts.h  view on Meta::CPAN


#ifndef NO_GL_EXT_copy_texture
#endif /* GL_EXT_copy_texture */

#ifndef NO_GL_EXT_cull_vertex
    i(GL_CULL_VERTEX_EXT)
    i(GL_CULL_VERTEX_EYE_POSITION_EXT)
    i(GL_CULL_VERTEX_OBJECT_POSITION_EXT)
#endif /* GL_EXT_cull_vertex */

#ifndef NO_GL_EXT_debug_label
    i(GL_PROGRAM_PIPELINE_OBJECT_EXT)
    i(GL_PROGRAM_OBJECT_EXT)
    i(GL_SHADER_OBJECT_EXT)
    i(GL_BUFFER_OBJECT_EXT)
    i(GL_QUERY_OBJECT_EXT)
    i(GL_VERTEX_ARRAY_OBJECT_EXT)
#endif /* GL_EXT_debug_label */

#ifndef NO_GL_EXT_debug_marker
#endif /* GL_EXT_debug_marker */

#ifndef NO_GL_EXT_depth_bounds_test
    i(GL_DEPTH_BOUNDS_TEST_EXT)
    i(GL_DEPTH_BOUNDS_EXT)
#endif /* GL_EXT_depth_bounds_test */

#ifndef NO_GL_EXT_direct_state_access
    i(GL_PROGRAM_MATRIX_EXT)
    i(GL_TRANSPOSE_PROGRAM_MATRIX_EXT)
    i(GL_PROGRAM_MATRIX_STACK_DEPTH_EXT)

glext_procs.h  view on Meta::CPAN

#define GL_ARB_copy_image 1
#endif
#endif /* GL_ARB_copy_image */

#ifndef NO_GL_ARB_cull_distance
#ifndef GL_ARB_cull_distance
#define GL_ARB_cull_distance 1
#endif
#endif /* GL_ARB_cull_distance */

#ifndef NO_GL_ARB_debug_output
#ifndef GL_ARB_debug_output
#define GL_ARB_debug_output 1
#endif
typedef void (APIENTRY  *GLDEBUGPROCARB)(GLenum source,GLenum type,GLuint id,GLenum severity,GLsizei length,const GLchar *message,const void *userParam);
#define GL_DEBUG_OUTPUT_SYNCHRONOUS_ARB   0x8242
#define GL_DEBUG_NEXT_LOGGED_MESSAGE_LENGTH_ARB 0x8243
#define GL_DEBUG_CALLBACK_FUNCTION_ARB    0x8244
#define GL_DEBUG_CALLBACK_USER_PARAM_ARB  0x8245
#define GL_DEBUG_SOURCE_API_ARB           0x8246
#define GL_DEBUG_SOURCE_WINDOW_SYSTEM_ARB 0x8247
#define GL_DEBUG_SOURCE_SHADER_COMPILER_ARB 0x8248
#define GL_DEBUG_SOURCE_THIRD_PARTY_ARB   0x8249

glext_procs.h  view on Meta::CPAN

GLAPI void APIENTRY glDebugMessageInsertARB (GLenum source, GLenum type, GLuint id, GLenum severity, GLsizei length, const GLchar *buf);
GLAPI void APIENTRY glDebugMessageCallbackARB (GLDEBUGPROCARB callback, const void *userParam);
GLAPI GLuint APIENTRY glGetDebugMessageLogARB (GLuint count, GLsizei bufSize, GLenum *sources, GLenum *types, GLuint *ids, GLenum *severities, GLsizei *lengths, GLchar *messageLog);
#endif
#ifdef GL_GLEXT_PROCS
static PFNGLDEBUGMESSAGECONTROLARBPROC glDebugMessageControlARB = NULL;
static PFNGLDEBUGMESSAGEINSERTARBPROC glDebugMessageInsertARB = NULL;
static PFNGLDEBUGMESSAGECALLBACKARBPROC glDebugMessageCallbackARB = NULL;
static PFNGLGETDEBUGMESSAGELOGARBPROC glGetDebugMessageLogARB = NULL;
#endif /* GL_GLEXT_PROCS */
#endif /* GL_ARB_debug_output */

#ifndef NO_GL_ARB_depth_buffer_float
#ifndef GL_ARB_depth_buffer_float
#define GL_ARB_depth_buffer_float 1
#endif
#endif /* GL_ARB_depth_buffer_float */

#ifndef NO_GL_ARB_depth_clamp
#ifndef GL_ARB_depth_clamp
#define GL_ARB_depth_clamp 1

glext_procs.h  view on Meta::CPAN

#endif
#define GL_BLEND_ADVANCED_COHERENT_KHR    0x9285
#endif /* GL_KHR_blend_equation_advanced_coherent */

#ifndef NO_GL_KHR_context_flush_control
#ifndef GL_KHR_context_flush_control
#define GL_KHR_context_flush_control 1
#endif
#endif /* GL_KHR_context_flush_control */

#ifndef NO_GL_KHR_debug
#ifndef GL_KHR_debug
#define GL_KHR_debug 1
#endif
#endif /* GL_KHR_debug */

#ifndef NO_GL_KHR_no_error
#ifndef GL_KHR_no_error
#define GL_KHR_no_error 1
#endif
#define GL_CONTEXT_FLAG_NO_ERROR_BIT_KHR  0x00000008
#endif /* GL_KHR_no_error */

#ifndef NO_GL_KHR_robust_buffer_access_behavior
#ifndef GL_KHR_robust_buffer_access_behavior

glext_procs.h  view on Meta::CPAN

#define GL_FACTOR_MIN_AMD                 0x901C
#define GL_FACTOR_MAX_AMD                 0x901D
#endif /* GL_AMD_blend_minmax_factor */

#ifndef NO_GL_AMD_conservative_depth
#ifndef GL_AMD_conservative_depth
#define GL_AMD_conservative_depth 1
#endif
#endif /* GL_AMD_conservative_depth */

#ifndef NO_GL_AMD_debug_output
#ifndef GL_AMD_debug_output
#define GL_AMD_debug_output 1
#endif
typedef void (APIENTRY  *GLDEBUGPROCAMD)(GLuint id,GLenum category,GLenum severity,GLsizei length,const GLchar *message,void *userParam);
#define GL_MAX_DEBUG_MESSAGE_LENGTH_AMD   0x9143
#define GL_MAX_DEBUG_LOGGED_MESSAGES_AMD  0x9144
#define GL_DEBUG_LOGGED_MESSAGES_AMD      0x9145
#define GL_DEBUG_SEVERITY_HIGH_AMD        0x9146
#define GL_DEBUG_SEVERITY_MEDIUM_AMD      0x9147
#define GL_DEBUG_SEVERITY_LOW_AMD         0x9148
#define GL_DEBUG_CATEGORY_API_ERROR_AMD   0x9149
#define GL_DEBUG_CATEGORY_WINDOW_SYSTEM_AMD 0x914A

glext_procs.h  view on Meta::CPAN

GLAPI void APIENTRY glDebugMessageInsertAMD (GLenum category, GLenum severity, GLuint id, GLsizei length, const GLchar *buf);
GLAPI void APIENTRY glDebugMessageCallbackAMD (GLDEBUGPROCAMD callback, void *userParam);
GLAPI GLuint APIENTRY glGetDebugMessageLogAMD (GLuint count, GLsizei bufsize, GLenum *categories, GLuint *severities, GLuint *ids, GLsizei *lengths, GLchar *message);
#endif
#ifdef GL_GLEXT_PROCS
static PFNGLDEBUGMESSAGEENABLEAMDPROC glDebugMessageEnableAMD = NULL;
static PFNGLDEBUGMESSAGEINSERTAMDPROC glDebugMessageInsertAMD = NULL;
static PFNGLDEBUGMESSAGECALLBACKAMDPROC glDebugMessageCallbackAMD = NULL;
static PFNGLGETDEBUGMESSAGELOGAMDPROC glGetDebugMessageLogAMD = NULL;
#endif /* GL_GLEXT_PROCS */
#endif /* GL_AMD_debug_output */

#ifndef NO_GL_AMD_depth_clamp_separate
#ifndef GL_AMD_depth_clamp_separate
#define GL_AMD_depth_clamp_separate 1
#endif
#define GL_DEPTH_CLAMP_NEAR_AMD           0x901E
#define GL_DEPTH_CLAMP_FAR_AMD            0x901F
#endif /* GL_AMD_depth_clamp_separate */

#ifndef NO_GL_AMD_draw_buffers_blend

glext_procs.h  view on Meta::CPAN

#ifdef GL_GLEXT_PROTOTYPES
GLAPI void APIENTRY glCullParameterdvEXT (GLenum pname, GLdouble *params);
GLAPI void APIENTRY glCullParameterfvEXT (GLenum pname, GLfloat *params);
#endif
#ifdef GL_GLEXT_PROCS
static PFNGLCULLPARAMETERDVEXTPROC glCullParameterdvEXT = NULL;
static PFNGLCULLPARAMETERFVEXTPROC glCullParameterfvEXT = NULL;
#endif /* GL_GLEXT_PROCS */
#endif /* GL_EXT_cull_vertex */

#ifndef NO_GL_EXT_debug_label
#ifndef GL_EXT_debug_label
#define GL_EXT_debug_label 1
#endif
#define GL_PROGRAM_PIPELINE_OBJECT_EXT    0x8A4F
#define GL_PROGRAM_OBJECT_EXT             0x8B40
#define GL_SHADER_OBJECT_EXT              0x8B48
#define GL_BUFFER_OBJECT_EXT              0x9151
#define GL_QUERY_OBJECT_EXT               0x9153
#define GL_VERTEX_ARRAY_OBJECT_EXT        0x9154
typedef void (APIENTRYP PFNGLLABELOBJECTEXTPROC) (GLenum type, GLuint object, GLsizei length, const GLchar *label);
typedef void (APIENTRYP PFNGLGETOBJECTLABELEXTPROC) (GLenum type, GLuint object, GLsizei bufSize, GLsizei *length, GLchar *label);
#ifdef GL_GLEXT_PROTOTYPES
GLAPI void APIENTRY glLabelObjectEXT (GLenum type, GLuint object, GLsizei length, const GLchar *label);
GLAPI void APIENTRY glGetObjectLabelEXT (GLenum type, GLuint object, GLsizei bufSize, GLsizei *length, GLchar *label);
#endif
#ifdef GL_GLEXT_PROCS
static PFNGLLABELOBJECTEXTPROC glLabelObjectEXT = NULL;
static PFNGLGETOBJECTLABELEXTPROC glGetObjectLabelEXT = NULL;
#endif /* GL_GLEXT_PROCS */
#endif /* GL_EXT_debug_label */

#ifndef NO_GL_EXT_debug_marker
#ifndef GL_EXT_debug_marker
#define GL_EXT_debug_marker 1
#endif
typedef void (APIENTRYP PFNGLINSERTEVENTMARKEREXTPROC) (GLsizei length, const GLchar *marker);
typedef void (APIENTRYP PFNGLPUSHGROUPMARKEREXTPROC) (GLsizei length, const GLchar *marker);
typedef void (APIENTRYP PFNGLPOPGROUPMARKEREXTPROC) (void);
#ifdef GL_GLEXT_PROTOTYPES
GLAPI void APIENTRY glInsertEventMarkerEXT (GLsizei length, const GLchar *marker);
GLAPI void APIENTRY glPushGroupMarkerEXT (GLsizei length, const GLchar *marker);
GLAPI void APIENTRY glPopGroupMarkerEXT (void);
#endif
#ifdef GL_GLEXT_PROCS
static PFNGLINSERTEVENTMARKEREXTPROC glInsertEventMarkerEXT = NULL;
static PFNGLPUSHGROUPMARKEREXTPROC glPushGroupMarkerEXT = NULL;
static PFNGLPOPGROUPMARKEREXTPROC glPopGroupMarkerEXT = NULL;
#endif /* GL_GLEXT_PROCS */
#endif /* GL_EXT_debug_marker */

#ifndef NO_GL_EXT_depth_bounds_test
#ifndef GL_EXT_depth_bounds_test
#define GL_EXT_depth_bounds_test 1
#endif
#define GL_DEPTH_BOUNDS_TEST_EXT          0x8890
#define GL_DEPTH_BOUNDS_EXT               0x8891
typedef void (APIENTRYP PFNGLDEPTHBOUNDSEXTPROC) (GLclampd zmin, GLclampd zmax);
#ifdef GL_GLEXT_PROTOTYPES
GLAPI void APIENTRY glDepthBoundsEXT (GLclampd zmin, GLclampd zmax);

include/GL/glext.h  view on Meta::CPAN

#endif /* GL_ARB_copy_buffer */

#ifndef GL_ARB_copy_image
#define GL_ARB_copy_image 1
#endif /* GL_ARB_copy_image */

#ifndef GL_ARB_cull_distance
#define GL_ARB_cull_distance 1
#endif /* GL_ARB_cull_distance */

#ifndef GL_ARB_debug_output
#define GL_ARB_debug_output 1
typedef void (APIENTRY  *GLDEBUGPROCARB)(GLenum source,GLenum type,GLuint id,GLenum severity,GLsizei length,const GLchar *message,const void *userParam);
#define GL_DEBUG_OUTPUT_SYNCHRONOUS_ARB   0x8242
#define GL_DEBUG_NEXT_LOGGED_MESSAGE_LENGTH_ARB 0x8243
#define GL_DEBUG_CALLBACK_FUNCTION_ARB    0x8244
#define GL_DEBUG_CALLBACK_USER_PARAM_ARB  0x8245
#define GL_DEBUG_SOURCE_API_ARB           0x8246
#define GL_DEBUG_SOURCE_WINDOW_SYSTEM_ARB 0x8247
#define GL_DEBUG_SOURCE_SHADER_COMPILER_ARB 0x8248
#define GL_DEBUG_SOURCE_THIRD_PARTY_ARB   0x8249
#define GL_DEBUG_SOURCE_APPLICATION_ARB   0x824A

include/GL/glext.h  view on Meta::CPAN

typedef void (APIENTRYP PFNGLDEBUGMESSAGECONTROLARBPROC) (GLenum source, GLenum type, GLenum severity, GLsizei count, const GLuint *ids, GLboolean enabled);
typedef void (APIENTRYP PFNGLDEBUGMESSAGEINSERTARBPROC) (GLenum source, GLenum type, GLuint id, GLenum severity, GLsizei length, const GLchar *buf);
typedef void (APIENTRYP PFNGLDEBUGMESSAGECALLBACKARBPROC) (GLDEBUGPROCARB callback, const void *userParam);
typedef GLuint (APIENTRYP PFNGLGETDEBUGMESSAGELOGARBPROC) (GLuint count, GLsizei bufSize, GLenum *sources, GLenum *types, GLuint *ids, GLenum *severities, GLsizei *lengths, GLchar *messageLog);
#ifdef GL_GLEXT_PROTOTYPES
GLAPI void APIENTRY glDebugMessageControlARB (GLenum source, GLenum type, GLenum severity, GLsizei count, const GLuint *ids, GLboolean enabled);
GLAPI void APIENTRY glDebugMessageInsertARB (GLenum source, GLenum type, GLuint id, GLenum severity, GLsizei length, const GLchar *buf);
GLAPI void APIENTRY glDebugMessageCallbackARB (GLDEBUGPROCARB callback, const void *userParam);
GLAPI GLuint APIENTRY glGetDebugMessageLogARB (GLuint count, GLsizei bufSize, GLenum *sources, GLenum *types, GLuint *ids, GLenum *severities, GLsizei *lengths, GLchar *messageLog);
#endif
#endif /* GL_ARB_debug_output */

#ifndef GL_ARB_depth_buffer_float
#define GL_ARB_depth_buffer_float 1
#endif /* GL_ARB_depth_buffer_float */

#ifndef GL_ARB_depth_clamp
#define GL_ARB_depth_clamp 1
#endif /* GL_ARB_depth_clamp */

#ifndef GL_ARB_depth_texture

include/GL/glext.h  view on Meta::CPAN


#ifndef GL_KHR_blend_equation_advanced_coherent
#define GL_KHR_blend_equation_advanced_coherent 1
#define GL_BLEND_ADVANCED_COHERENT_KHR    0x9285
#endif /* GL_KHR_blend_equation_advanced_coherent */

#ifndef GL_KHR_context_flush_control
#define GL_KHR_context_flush_control 1
#endif /* GL_KHR_context_flush_control */

#ifndef GL_KHR_debug
#define GL_KHR_debug 1
#endif /* GL_KHR_debug */

#ifndef GL_KHR_no_error
#define GL_KHR_no_error 1
#define GL_CONTEXT_FLAG_NO_ERROR_BIT_KHR  0x00000008
#endif /* GL_KHR_no_error */

#ifndef GL_KHR_robust_buffer_access_behavior
#define GL_KHR_robust_buffer_access_behavior 1
#endif /* GL_KHR_robust_buffer_access_behavior */

include/GL/glext.h  view on Meta::CPAN

#ifndef GL_AMD_blend_minmax_factor
#define GL_AMD_blend_minmax_factor 1
#define GL_FACTOR_MIN_AMD                 0x901C
#define GL_FACTOR_MAX_AMD                 0x901D
#endif /* GL_AMD_blend_minmax_factor */

#ifndef GL_AMD_conservative_depth
#define GL_AMD_conservative_depth 1
#endif /* GL_AMD_conservative_depth */

#ifndef GL_AMD_debug_output
#define GL_AMD_debug_output 1
typedef void (APIENTRY  *GLDEBUGPROCAMD)(GLuint id,GLenum category,GLenum severity,GLsizei length,const GLchar *message,void *userParam);
#define GL_MAX_DEBUG_MESSAGE_LENGTH_AMD   0x9143
#define GL_MAX_DEBUG_LOGGED_MESSAGES_AMD  0x9144
#define GL_DEBUG_LOGGED_MESSAGES_AMD      0x9145
#define GL_DEBUG_SEVERITY_HIGH_AMD        0x9146
#define GL_DEBUG_SEVERITY_MEDIUM_AMD      0x9147
#define GL_DEBUG_SEVERITY_LOW_AMD         0x9148
#define GL_DEBUG_CATEGORY_API_ERROR_AMD   0x9149
#define GL_DEBUG_CATEGORY_WINDOW_SYSTEM_AMD 0x914A
#define GL_DEBUG_CATEGORY_DEPRECATION_AMD 0x914B

include/GL/glext.h  view on Meta::CPAN

typedef void (APIENTRYP PFNGLDEBUGMESSAGEENABLEAMDPROC) (GLenum category, GLenum severity, GLsizei count, const GLuint *ids, GLboolean enabled);
typedef void (APIENTRYP PFNGLDEBUGMESSAGEINSERTAMDPROC) (GLenum category, GLenum severity, GLuint id, GLsizei length, const GLchar *buf);
typedef void (APIENTRYP PFNGLDEBUGMESSAGECALLBACKAMDPROC) (GLDEBUGPROCAMD callback, void *userParam);
typedef GLuint (APIENTRYP PFNGLGETDEBUGMESSAGELOGAMDPROC) (GLuint count, GLsizei bufsize, GLenum *categories, GLuint *severities, GLuint *ids, GLsizei *lengths, GLchar *message);
#ifdef GL_GLEXT_PROTOTYPES
GLAPI void APIENTRY glDebugMessageEnableAMD (GLenum category, GLenum severity, GLsizei count, const GLuint *ids, GLboolean enabled);
GLAPI void APIENTRY glDebugMessageInsertAMD (GLenum category, GLenum severity, GLuint id, GLsizei length, const GLchar *buf);
GLAPI void APIENTRY glDebugMessageCallbackAMD (GLDEBUGPROCAMD callback, void *userParam);
GLAPI GLuint APIENTRY glGetDebugMessageLogAMD (GLuint count, GLsizei bufsize, GLenum *categories, GLuint *severities, GLuint *ids, GLsizei *lengths, GLchar *message);
#endif
#endif /* GL_AMD_debug_output */

#ifndef GL_AMD_depth_clamp_separate
#define GL_AMD_depth_clamp_separate 1
#define GL_DEPTH_CLAMP_NEAR_AMD           0x901E
#define GL_DEPTH_CLAMP_FAR_AMD            0x901F
#endif /* GL_AMD_depth_clamp_separate */

#ifndef GL_AMD_draw_buffers_blend
#define GL_AMD_draw_buffers_blend 1
typedef void (APIENTRYP PFNGLBLENDFUNCINDEXEDAMDPROC) (GLuint buf, GLenum src, GLenum dst);

include/GL/glext.h  view on Meta::CPAN

#define GL_CULL_VERTEX_EYE_POSITION_EXT   0x81AB
#define GL_CULL_VERTEX_OBJECT_POSITION_EXT 0x81AC
typedef void (APIENTRYP PFNGLCULLPARAMETERDVEXTPROC) (GLenum pname, GLdouble *params);
typedef void (APIENTRYP PFNGLCULLPARAMETERFVEXTPROC) (GLenum pname, GLfloat *params);
#ifdef GL_GLEXT_PROTOTYPES
GLAPI void APIENTRY glCullParameterdvEXT (GLenum pname, GLdouble *params);
GLAPI void APIENTRY glCullParameterfvEXT (GLenum pname, GLfloat *params);
#endif
#endif /* GL_EXT_cull_vertex */

#ifndef GL_EXT_debug_label
#define GL_EXT_debug_label 1
#define GL_PROGRAM_PIPELINE_OBJECT_EXT    0x8A4F
#define GL_PROGRAM_OBJECT_EXT             0x8B40
#define GL_SHADER_OBJECT_EXT              0x8B48
#define GL_BUFFER_OBJECT_EXT              0x9151
#define GL_QUERY_OBJECT_EXT               0x9153
#define GL_VERTEX_ARRAY_OBJECT_EXT        0x9154
typedef void (APIENTRYP PFNGLLABELOBJECTEXTPROC) (GLenum type, GLuint object, GLsizei length, const GLchar *label);
typedef void (APIENTRYP PFNGLGETOBJECTLABELEXTPROC) (GLenum type, GLuint object, GLsizei bufSize, GLsizei *length, GLchar *label);
#ifdef GL_GLEXT_PROTOTYPES
GLAPI void APIENTRY glLabelObjectEXT (GLenum type, GLuint object, GLsizei length, const GLchar *label);
GLAPI void APIENTRY glGetObjectLabelEXT (GLenum type, GLuint object, GLsizei bufSize, GLsizei *length, GLchar *label);
#endif
#endif /* GL_EXT_debug_label */

#ifndef GL_EXT_debug_marker
#define GL_EXT_debug_marker 1
typedef void (APIENTRYP PFNGLINSERTEVENTMARKEREXTPROC) (GLsizei length, const GLchar *marker);
typedef void (APIENTRYP PFNGLPUSHGROUPMARKEREXTPROC) (GLsizei length, const GLchar *marker);
typedef void (APIENTRYP PFNGLPOPGROUPMARKEREXTPROC) (void);
#ifdef GL_GLEXT_PROTOTYPES
GLAPI void APIENTRY glInsertEventMarkerEXT (GLsizei length, const GLchar *marker);
GLAPI void APIENTRY glPushGroupMarkerEXT (GLsizei length, const GLchar *marker);
GLAPI void APIENTRY glPopGroupMarkerEXT (void);
#endif
#endif /* GL_EXT_debug_marker */

#ifndef GL_EXT_depth_bounds_test
#define GL_EXT_depth_bounds_test 1
#define GL_DEPTH_BOUNDS_TEST_EXT          0x8890
#define GL_DEPTH_BOUNDS_EXT               0x8891
typedef void (APIENTRYP PFNGLDEPTHBOUNDSEXTPROC) (GLclampd zmin, GLclampd zmax);
#ifdef GL_GLEXT_PROTOTYPES
GLAPI void APIENTRY glDepthBoundsEXT (GLclampd zmin, GLclampd zmax);
#endif
#endif /* GL_EXT_depth_bounds_test */

pogl_gl_top.xs  view on Meta::CPAN

static Bool WaitForNotify(Display *d, XEvent *e, char *arg) {
    return (e->type == MapNotify) && (e->xmap.window == (Window)arg);
}
#  define glpResizeWindow(s1,s2,w,d)	XResizeWindow(d,w,s1,s2)
#  define glpMoveWindow(s1,s2,w,d)		XMoveWindow(d,w,s1,s2)
#  define glpMoveResizeWindow(s1,s2,s3,s4,w,d)	XMoveResizeWindow(d,w,s1,s2,s3,s4)
#endif	/* defined HAVE_GLX */ 



static int debug = 0;

#ifdef HAVE_GLpc

#  define NUM_ARG 7			/* Number of mandatory args to glpcOpenWindow */

Display *dpy;
int dpy_open;
XVisualInfo *vi;
Colormap cmap;
XSetWindowAttributes swa;

pogl_gl_top.xs  view on Meta::CPAN

    if(items > NUM_ARG){
        int i;
        a_buf = (int *) malloc((items-NUM_ARG+2) * sizeof(int));
        a_buf[0] = GLX_DOUBLEBUFFER; /* Preallocate */
        attributes = a_buf + 1;
        for (i=NUM_ARG; i<items; i++) {
            attributes[i-NUM_ARG] = SvIV(ST(i));
        }
        attributes[items-NUM_ARG] = None;
    }
    if (debug) {
        int i;	
        for (i=0; attributes[i] != None; i++) {
            printf("att=%d %d\n", i, attributes[i]);
        }
    }
    /* get a connection */
    if (!dpy_open) {
        dpy = XOpenDisplay(NULL);
        dpy_open = 1;
    }
    if (!dpy) {
        croak("ERROR: failed to get an X connection");
    } else if (debug) {
        printf("Display open %x\n", dpy);
    }		

    /* get an appropriate visual */
    vi = glXChooseVisual(dpy, DefaultScreen(dpy), attributes);
    if (!vi) { /* Might have happened that one does not
                * *need* DOUBLEBUFFER, but the display does
                * not provide SINGLEBUFFER; and the semantic
                * of GLX_DOUBLEBUFFER is that if it misses,
                * only SINGLEBUFFER visuals are selected.  */
        attributes--; /* GLX_DOUBLEBUFFER preallocated there */
        vi = glXChooseVisual(dpy, DefaultScreen(dpy), attributes); /* Retry */
        if (vi)
            DBUFFER_HACK = 1;
    }
    if (a_buf)
        free(a_buf);
    if(!vi) {
        croak("ERROR: failed to get an X visual\n");
    } else if (debug) {
        printf("Visual open %x\n", vi);
    }		

    /* A blank line here will confuse xsubpp ;-) */
#ifdef HAVE_GLX
    /* create a GLX context */
    ctx = glXCreateContext(dpy, vi, 0, GL_TRUE);
    if (!ctx) {
        croak("ERROR: failed to get an X Context");
    } else if (debug) {
        printf("Context Created %x\n", ctx);
    }

    /* create a color map */
    cmap = XCreateColormap(dpy, RootWindow(dpy, vi->screen),
            vi->visual, AllocNone);

    /* create a window */
    swa.colormap = cmap;
    swa.border_pixel = 0;
    swa.event_mask = event_mask;
#endif	/* defined HAVE_GLX */

    if (!pwin) {
        pwin = RootWindow(dpy, vi->screen);
        if (debug) printf("Using root as parent window 0x%x\n", pwin);
    }
    if (steal) {
        win = nativeWindowId(dpy, pwin); /* What about depth/visual */
    } else {
        win = XCreateWindow(dpy, pwin, 
                x, y, w, h,
                0, vi->depth, InputOutput, vi->visual,
                CWBorderPixel|CWColormap|CWEventMask, &swa);
        /* NOTE: PDL code had CWBackPixel above */
    }
    if (!win) {
        croak("No Window");
    } else {
        if (debug) printf("win = 0x%x\n", win);
    }
    XMapWindow(dpy, win);
#ifndef HAVE_GLX  /* For OS/2 GLX emulation stuff -chm 2009.09.14 */
    /* On OS/2: cannot create a context before mapping something... */
    /* create a GLX context */
    ctx = glXCreateContext(dpy, vi, 0, GL_TRUE);
    if (!ctx)
        croak("No context!\n");

    LastEventMask = event_mask;
#else	/* HAVE_GLX, this is the default branch */
    if ( (event_mask & StructureNotifyMask) && !steal ) {
        XIfEvent(dpy, &event, WaitForNotify, (char*)win);
    }
#endif	/* not defined HAVE_GLX */

    /* connect the context to the window */
    if (!glXMakeCurrent(dpy, win, ctx))
        croak("Non current");

    if (debug)
        printf("Display=0x%x Window=0x%x Context=0x%x\n",dpy, win, ctx);

    /* Create the GL object hash information */
    hv_store(RETVAL, "Display", strlen("Display"), newSViv(PTR2IV(dpy)), 0);
    hv_store(RETVAL, "Window", strlen("Window"),   newSViv(  (IV) win ), 0);
    hv_store(RETVAL, "Context", strlen("Context"), newSViv(PTR2IV(ctx)), 0);

    hv_store(RETVAL, "GL_Version",strlen("GL_Version"), 
            newSVpv((char *) glGetString(GL_VERSION),0),0);
    hv_store(RETVAL, "GL_Vendor",strlen("GL_Vendor"), 

pogl_gl_top.xs  view on Meta::CPAN


#endif /* defined HAVE_GLpc */


#// glpSetDebug(flag);
void
glpSetDebug(flag)
        int flag
        CODE:
        {
        debug = flag;
        }


#//# glpReadTex($file);
void
glpReadTex(file)
	char *	file
	CODE:
	{
		GLsizei w,h;

ppport.h  view on Meta::CPAN

dXSTARG|5.006000||p
deb_curcv|||
deb_nocontext|||vn
deb_stack_all|||
deb_stack_n|||
debop||5.005000|
debprofdump||5.005000|
debprof|||
debstackptrs||5.007003|
debstack||5.007003|
debug_start_match|||
deb||5.007003|v
del_sv|||
delete_eval_scope|||
delimcpy||5.004000|n
deprecate_commaless_var_list|||
despatch_signals||5.007001|
destroy_matcher|||
die_nocontext|||vn
die_sv||5.013001|
die_unwind|||

ppport.h  view on Meta::CPAN

free_tied_hv_pool|||
free_tmps|||
gen_constant_list|||
get_aux_mg|||
get_av|5.006000||p
get_context||5.006000|n
get_cvn_flags|5.009005||p
get_cvs|5.011000||p
get_cv|5.006000||p
get_db_sub|||
get_debug_opts|||
get_hash_seed|||
get_hv|5.006000||p
get_mstats|||
get_no_modify|||
get_num|||
get_op_descs||5.005000|
get_op_names||5.005000|
get_opargs|||
get_ppaddr||5.006000|
get_re_arg|||

ppport.h  view on Meta::CPAN

ibcmp_locale||5.004000|
ibcmp_utf8||5.007003|
ibcmp|||
incline|||
incpush_if_exists|||
incpush_use_sep|||
incpush|||
ingroup|||
init_argv_symbols|||
init_dbargs|||
init_debugger|||
init_global_struct|||
init_i18nl10n||5.006000|
init_i18nl14n||5.006000|
init_ids|||
init_interp|||
init_main_stash|||
init_perllib|||
init_postdump_symbols|||
init_predump_symbols|||
init_stacks||5.005000|

ppport.h  view on Meta::CPAN

require_tie_mod|||
restore_magic|||
rninstr|||n
rpeep|||
rsignal_restore|||
rsignal_save|||
rsignal_state||5.004000|
rsignal||5.004000|
run_body|||
run_user_filter|||
runops_debug||5.005000|
runops_standard||5.005000|
rv2cv_op_cv||5.013006|
rvpv_dup|||
rxres_free|||
rxres_restore|||
rxres_save|||
safesyscalloc||5.006000|n
safesysfree||5.006000|n
safesysmalloc||5.006000|n
safesysrealloc||5.006000|n

ppport.h  view on Meta::CPAN

uiv_2buf|||n
unlnk|||
unpack_rec|||
unpack_str||5.007003|
unpackstring||5.008001|
unreferenced_to_tmp_stack|||
unshare_hek_or_pvn|||
unshare_hek|||
unsharepvn||5.004000|
unwind_handler_stack|||
update_debugger_info|||
upg_version||5.009005|
usage|||
utf16_textfilter|||
utf16_to_utf8_reversed||5.006001|
utf16_to_utf8||5.006001|
utf8_distance||5.006000|
utf8_hop||5.006000|
utf8_length||5.007001|
utf8_mg_len_cache_update|||
utf8_mg_pos_cache_update|||

test.pl  view on Meta::CPAN

# Requires GLUT/FreeGLUT
if (!glpHasGLUT())
{
  print qq
  {
    This test requires GLUT:
    If you have X installed, you can try the scripts in ./examples/
    Most of them do not use GLUT.

    It is recommended that you install FreeGLUT for improved Makefile.PL
    configuration, installation and debugging.

  };

  print "Attempting to run examples/texhack instead...\n";
  `perl examples/texhack`;
  exit 0;
}


use constant PROGRAM_TITLE => "OpenGL Test App";



( run in 1.276 second using v1.01-cache-2.11-cpan-49f99fa48dc )