📄 sdl_opengl.h
字号:
/* SDL - Simple DirectMedia Layer Copyright (C) 1997, 1998, 1999, 2000, 2001, 2002 Sam Lantinga This library is free software; you can redistribute it and/or modify it under the terms of the GNU Library General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. This library 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 Library General Public License for more details. You should have received a copy of the GNU Library General Public License along with this library; if not, write to the Free Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA Sam Lantinga slouken@libsdl.org*/#ifdef SAVE_RCSIDstatic char rcsid = "@(#) $Id$";#endif/* This is a simple file to encapsulate the OpenGL API headers */#ifdef WIN32#define WIN32_LEAN_AND_MEAN#include <windows.h>#endif#if defined(__APPLE__) && defined(__MACH__)#include <OpenGL/gl.h> /* Header File For The OpenGL Library */#include <OpenGL/glu.h> /* Header File For The GLU Library */#else#ifndef NO_SDL_GLEXT#define __glext_h_ /* Don't let gl.h include glext.h */#endif#include <GL/gl.h> /* Header File For The OpenGL Library */#include <GL/glu.h> /* Header File For The GLU Library */#ifndef NO_SDL_GLEXT#undef __glext_h_#endif#endif/* This file taken from "GLext.h" from the Jeff Molofee OpenGL tutorials. It is included here because glext.h is not available on some systems. If you don't want this version included, simply define "NO_SDL_GLEXT" */#ifndef NO_SDL_GLEXT#if !defined(__glext_h_) && !defined(GL_GLEXT_LEGACY)#define __glext_h_#ifdef __cplusplusextern "C" {#endif/*** License Applicability. Except to the extent portions of this file are** made subject to an alternative license as permitted in the SGI Free** Software License B, Version 1.1 (the "License"), the contents of this** file are subject only to the provisions of the License. You may not use** this file except in compliance with the License. You may obtain a copy** of the License at Silicon Graphics, Inc., attn: Legal Services, 1600** Amphitheatre Parkway, Mountain View, CA 94043-1351, or at:** ** http://oss.sgi.com/projects/FreeB** ** Note that, as provided in the License, the Software is distributed on an** "AS IS" basis, with ALL EXPRESS AND IMPLIED WARRANTIES AND CONDITIONS** DISCLAIMED, INCLUDING, WITHOUT LIMITATION, ANY IMPLIED WARRANTIES AND** CONDITIONS OF MERCHANTABILITY, SATISFACTORY QUALITY, FITNESS FOR A** PARTICULAR PURPOSE, AND NON-INFRINGEMENT.** ** Original Code. The Original Code is: OpenGL Sample Implementation,** Version 1.2.1, released January 26, 2000, developed by Silicon Graphics,** Inc. The Original Code is Copyright (c) 1991-2000 Silicon Graphics, Inc.** Copyright in any portions created by third parties is as indicated** elsewhere herein. All Rights Reserved.** ** Additional Notice Provisions: This software was created using the** OpenGL(R) version 1.2.1 Sample Implementation published by SGI, but has** not been independently verified as being compliant with the OpenGL(R)** version 1.2.1 Specification.*/#ifndef APIENTRY#define APIENTRY#endif/*************************************************************//* Header file version number, required by OpenGL ABI for Linux */#define GL_GLEXT_VERSION 6#ifndef GL_VERSION_1_2#define GL_CONSTANT_COLOR 0x8001#define GL_ONE_MINUS_CONSTANT_COLOR 0x8002#define GL_CONSTANT_ALPHA 0x8003#define GL_ONE_MINUS_CONSTANT_ALPHA 0x8004#define GL_BLEND_COLOR 0x8005#define GL_FUNC_ADD 0x8006#define GL_MIN 0x8007#define GL_MAX 0x8008#define GL_BLEND_EQUATION 0x8009#define GL_FUNC_SUBTRACT 0x800A#define GL_FUNC_REVERSE_SUBTRACT 0x800B#define GL_CONVOLUTION_1D 0x8010#define GL_CONVOLUTION_2D 0x8011#define GL_SEPARABLE_2D 0x8012#define GL_CONVOLUTION_BORDER_MODE 0x8013#define GL_CONVOLUTION_FILTER_SCALE 0x8014#define GL_CONVOLUTION_FILTER_BIAS 0x8015#define GL_REDUCE 0x8016#define GL_CONVOLUTION_FORMAT 0x8017#define GL_CONVOLUTION_WIDTH 0x8018#define GL_CONVOLUTION_HEIGHT 0x8019#define GL_MAX_CONVOLUTION_WIDTH 0x801A#define GL_MAX_CONVOLUTION_HEIGHT 0x801B#define GL_POST_CONVOLUTION_RED_SCALE 0x801C#define GL_POST_CONVOLUTION_GREEN_SCALE 0x801D#define GL_POST_CONVOLUTION_BLUE_SCALE 0x801E#define GL_POST_CONVOLUTION_ALPHA_SCALE 0x801F#define GL_POST_CONVOLUTION_RED_BIAS 0x8020#define GL_POST_CONVOLUTION_GREEN_BIAS 0x8021#define GL_POST_CONVOLUTION_BLUE_BIAS 0x8022#define GL_POST_CONVOLUTION_ALPHA_BIAS 0x8023#define GL_HISTOGRAM 0x8024#define GL_PROXY_HISTOGRAM 0x8025#define GL_HISTOGRAM_WIDTH 0x8026#define GL_HISTOGRAM_FORMAT 0x8027#define GL_HISTOGRAM_RED_SIZE 0x8028#define GL_HISTOGRAM_GREEN_SIZE 0x8029#define GL_HISTOGRAM_BLUE_SIZE 0x802A#define GL_HISTOGRAM_ALPHA_SIZE 0x802B#define GL_HISTOGRAM_LUMINANCE_SIZE 0x802C#define GL_HISTOGRAM_SINK 0x802D#define GL_MINMAX 0x802E#define GL_MINMAX_FORMAT 0x802F#define GL_MINMAX_SINK 0x8030#define GL_TABLE_TOO_LARGE 0x8031#define GL_UNSIGNED_BYTE_3_3_2 0x8032#define GL_UNSIGNED_SHORT_4_4_4_4 0x8033#define GL_UNSIGNED_SHORT_5_5_5_1 0x8034#define GL_UNSIGNED_INT_8_8_8_8 0x8035#define GL_UNSIGNED_INT_10_10_10_2 0x8036#define GL_RESCALE_NORMAL 0x803A#define GL_UNSIGNED_BYTE_2_3_3_REV 0x8362#define GL_UNSIGNED_SHORT_5_6_5 0x8363#define GL_UNSIGNED_SHORT_5_6_5_REV 0x8364#define GL_UNSIGNED_SHORT_4_4_4_4_REV 0x8365#define GL_UNSIGNED_SHORT_1_5_5_5_REV 0x8366#define GL_UNSIGNED_INT_8_8_8_8_REV 0x8367#define GL_UNSIGNED_INT_2_10_10_10_REV 0x8368#define GL_COLOR_MATRIX 0x80B1#define GL_COLOR_MATRIX_STACK_DEPTH 0x80B2#define GL_MAX_COLOR_MATRIX_STACK_DEPTH 0x80B3#define GL_POST_COLOR_MATRIX_RED_SCALE 0x80B4#define GL_POST_COLOR_MATRIX_GREEN_SCALE 0x80B5#define GL_POST_COLOR_MATRIX_BLUE_SCALE 0x80B6#define GL_POST_COLOR_MATRIX_ALPHA_SCALE 0x80B7#define GL_POST_COLOR_MATRIX_RED_BIAS 0x80B8#define GL_POST_COLOR_MATRIX_GREEN_BIAS 0x80B9#define GL_POST_COLOR_MATRIX_BLUE_BIAS 0x80BA#define GL_COLOR_TABLE 0x80D0#define GL_POST_CONVOLUTION_COLOR_TABLE 0x80D1#define GL_POST_COLOR_MATRIX_COLOR_TABLE 0x80D2#define GL_PROXY_COLOR_TABLE 0x80D3#define GL_PROXY_POST_CONVOLUTION_COLOR_TABLE 0x80D4#define GL_PROXY_POST_COLOR_MATRIX_COLOR_TABLE 0x80D5#define GL_COLOR_TABLE_SCALE 0x80D6#define GL_COLOR_TABLE_BIAS 0x80D7#define GL_COLOR_TABLE_FORMAT 0x80D8#define GL_COLOR_TABLE_WIDTH 0x80D9#define GL_COLOR_TABLE_RED_SIZE 0x80DA#define GL_COLOR_TABLE_GREEN_SIZE 0x80DB#define GL_COLOR_TABLE_BLUE_SIZE 0x80DC#define GL_COLOR_TABLE_ALPHA_SIZE 0x80DD#define GL_COLOR_TABLE_LUMINANCE_SIZE 0x80DE#define GL_COLOR_TABLE_INTENSITY_SIZE 0x80DF#define GL_CLAMP_TO_EDGE 0x812F#define GL_TEXTURE_MIN_LOD 0x813A#define GL_TEXTURE_MAX_LOD 0x813B#define GL_TEXTURE_BASE_LEVEL 0x813C#define GL_TEXTURE_MAX_LEVEL 0x813D#endif#ifndef GL_ARB_multitexture#define GL_TEXTURE0_ARB 0x84C0#define GL_TEXTURE1_ARB 0x84C1#define GL_TEXTURE2_ARB 0x84C2#define GL_TEXTURE3_ARB 0x84C3#define GL_TEXTURE4_ARB 0x84C4#define GL_TEXTURE5_ARB 0x84C5#define GL_TEXTURE6_ARB 0x84C6#define GL_TEXTURE7_ARB 0x84C7#define GL_TEXTURE8_ARB 0x84C8#define GL_TEXTURE9_ARB 0x84C9#define GL_TEXTURE10_ARB 0x84CA#define GL_TEXTURE11_ARB 0x84CB#define GL_TEXTURE12_ARB 0x84CC#define GL_TEXTURE13_ARB 0x84CD#define GL_TEXTURE14_ARB 0x84CE#define GL_TEXTURE15_ARB 0x84CF#define GL_TEXTURE16_ARB 0x84D0#define GL_TEXTURE17_ARB 0x84D1#define GL_TEXTURE18_ARB 0x84D2#define GL_TEXTURE19_ARB 0x84D3#define GL_TEXTURE20_ARB 0x84D4#define GL_TEXTURE21_ARB 0x84D5#define GL_TEXTURE22_ARB 0x84D6#define GL_TEXTURE23_ARB 0x84D7#define GL_TEXTURE24_ARB 0x84D8#define GL_TEXTURE25_ARB 0x84D9#define GL_TEXTURE26_ARB 0x84DA#define GL_TEXTURE27_ARB 0x84DB#define GL_TEXTURE28_ARB 0x84DC#define GL_TEXTURE29_ARB 0x84DD#define GL_TEXTURE30_ARB 0x84DE#define GL_TEXTURE31_ARB 0x84DF#define GL_ACTIVE_TEXTURE_ARB 0x84E0#define GL_CLIENT_ACTIVE_TEXTURE_ARB 0x84E1#define GL_MAX_TEXTURE_UNITS_ARB 0x84E2#endif#ifndef GL_ARB_transpose_matrix#define GL_TRANSPOSE_MODELVIEW_MATRIX_ARB 0x84E3#define GL_TRANSPOSE_PROJECTION_MATRIX_ARB 0x84E4#define GL_TRANSPOSE_TEXTURE_MATRIX_ARB 0x84E5#define GL_TRANSPOSE_COLOR_MATRIX_ARB 0x84E6#endif#ifndef GL_ARB_multisample#define GL_MULTISAMPLE_ARB 0x809D#define GL_SAMPLE_ALPHA_TO_COVERAGE_ARB 0x809E#define GL_SAMPLE_ALPHA_TO_ONE_ARB 0x809F#define GL_SAMPLE_COVERAGE_ARB 0x80A0#define GL_SAMPLE_BUFFERS_ARB 0x80A8#define GL_SAMPLES_ARB 0x80A9#define GL_SAMPLE_COVERAGE_VALUE_ARB 0x80AA#define GL_SAMPLE_COVERAGE_INVERT_ARB 0x80AB#define GL_MULTISAMPLE_BIT_ARB 0x20000000#endif#ifndef GL_ARB_texture_cube_map#define GL_NORMAL_MAP_ARB 0x8511#define GL_REFLECTION_MAP_ARB 0x8512#define GL_TEXTURE_CUBE_MAP_ARB 0x8513#define GL_TEXTURE_BINDING_CUBE_MAP_ARB 0x8514#define GL_TEXTURE_CUBE_MAP_POSITIVE_X_ARB 0x8515#define GL_TEXTURE_CUBE_MAP_NEGATIVE_X_ARB 0x8516#define GL_TEXTURE_CUBE_MAP_POSITIVE_Y_ARB 0x8517#define GL_TEXTURE_CUBE_MAP_NEGATIVE_Y_ARB 0x8518#define GL_TEXTURE_CUBE_MAP_POSITIVE_Z_ARB 0x8519#define GL_TEXTURE_CUBE_MAP_NEGATIVE_Z_ARB 0x851A#define GL_PROXY_TEXTURE_CUBE_MAP_ARB 0x851B#define GL_MAX_CUBE_MAP_TEXTURE_SIZE_ARB 0x851C#endif#ifndef GL_ARB_texture_compression#define GL_COMPRESSED_ALPHA_ARB 0x84E9#define GL_COMPRESSED_LUMINANCE_ARB 0x84EA#define GL_COMPRESSED_LUMINANCE_ALPHA_ARB 0x84EB#define GL_COMPRESSED_INTENSITY_ARB 0x84EC#define GL_COMPRESSED_RGB_ARB 0x84ED#define GL_COMPRESSED_RGBA_ARB 0x84EE#define GL_TEXTURE_COMPRESSION_HINT_ARB 0x84EF#define GL_TEXTURE_COMPRESSED_IMAGE_SIZE_ARB 0x86A0#define GL_TEXTURE_COMPRESSED_ARB 0x86A1#define GL_NUM_COMPRESSED_TEXTURE_FORMATS_ARB 0x86A2#define GL_COMPRESSED_TEXTURE_FORMATS_ARB 0x86A3#endif#ifndef GL_EXT_abgr#define GL_ABGR_EXT 0x8000#endif#ifndef GL_EXT_blend_color#define GL_CONSTANT_COLOR_EXT 0x8001#define GL_ONE_MINUS_CONSTANT_COLOR_EXT 0x8002#define GL_CONSTANT_ALPHA_EXT 0x8003#define GL_ONE_MINUS_CONSTANT_ALPHA_EXT 0x8004#define GL_BLEND_COLOR_EXT 0x8005#endif#ifndef GL_EXT_polygon_offset#define GL_POLYGON_OFFSET_EXT 0x8037#define GL_POLYGON_OFFSET_FACTOR_EXT 0x8038#define GL_POLYGON_OFFSET_BIAS_EXT 0x8039#endif#ifndef GL_EXT_texture#define GL_ALPHA4_EXT 0x803B#define GL_ALPHA8_EXT 0x803C#define GL_ALPHA12_EXT 0x803D#define GL_ALPHA16_EXT 0x803E#define GL_LUMINANCE4_EXT 0x803F#define GL_LUMINANCE8_EXT 0x8040#define GL_LUMINANCE12_EXT 0x8041#define GL_LUMINANCE16_EXT 0x8042#define GL_LUMINANCE4_ALPHA4_EXT 0x8043#define GL_LUMINANCE6_ALPHA2_EXT 0x8044#define GL_LUMINANCE8_ALPHA8_EXT 0x8045#define GL_LUMINANCE12_ALPHA4_EXT 0x8046#define GL_LUMINANCE12_ALPHA12_EXT 0x8047#define GL_LUMINANCE16_ALPHA16_EXT 0x8048#define GL_INTENSITY_EXT 0x8049#define GL_INTENSITY4_EXT 0x804A#define GL_INTENSITY8_EXT 0x804B#define GL_INTENSITY12_EXT 0x804C#define GL_INTENSITY16_EXT 0x804D#define GL_RGB2_EXT 0x804E#define GL_RGB4_EXT 0x804F#define GL_RGB5_EXT 0x8050#define GL_RGB8_EXT 0x8051#define GL_RGB10_EXT 0x8052
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -