⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 sdl_opengl.h

📁 VC5.6.7的一个扩展库。跟DirectX的功能差不多。
💻 H
📖 第 1 页 / 共 5 页
字号:
/*    SDL - Simple DirectMedia Layer    Copyright (C) 1997-2006 Sam Lantinga    This library is free software; you can redistribute it and/or    modify it under the terms of the GNU Lesser General Public    License as published by the Free Software Foundation; either    version 2.1 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    Lesser General Public License for more details.    You should have received a copy of the GNU Lesser General Public    License along with this library; if not, write to the Free Software    Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA    Sam Lantinga    slouken@libsdl.org*//* This is a simple file to encapsulate the OpenGL API headers */#include "SDL_config.h"#ifdef __WIN32__#define WIN32_LEAN_AND_MEAN#ifndef NOMINMAX#define NOMINMAX	/* Don't defined min() and max() */#endif#include <windows.h>#endif#ifndef NO_SDL_GLEXT#define __glext_h_  /* Don't let gl.h include glext.h */#endif#if defined(__MACOSX__)#include <OpenGL/gl.h>	/* Header File For The OpenGL Library */#include <OpenGL/glu.h>	/* Header File For The GLU Library */#elif defined(__MACOS__)#include <gl.h>		/* Header File For The OpenGL Library */#include <glu.h>	/* Header File For The GLU Library */#else#include <GL/gl.h>	/* Header File For The OpenGL Library */#include <GL/glu.h>	/* Header File For The GLU Library */#endif#ifndef NO_SDL_GLEXT#undef __glext_h_#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-2004 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.*/#if defined(_WIN32) && !defined(APIENTRY) && !defined(__CYGWIN__) && !defined(__SCITECH_SNAP__)#define WIN32_LEAN_AND_MEAN 1#include <windows.h>#endif#ifndef APIENTRY#define APIENTRY#endif#ifndef APIENTRYP#define APIENTRYP APIENTRY *#endif#ifndef GLAPI#define GLAPI extern#endif/*************************************************************//* Header file version number, required by OpenGL ABI for Linux *//* glext.h last updated 2005/06/20 *//* Current version at http://oss.sgi.com/projects/ogl-sample/registry/ */#define GL_GLEXT_VERSION 29#ifndef GL_VERSION_1_2#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_TEXTURE_BINDING_3D             0x806A#define GL_PACK_SKIP_IMAGES               0x806B#define GL_PACK_IMAGE_HEIGHT              0x806C#define GL_UNPACK_SKIP_IMAGES             0x806D#define GL_UNPACK_IMAGE_HEIGHT            0x806E#define GL_TEXTURE_3D                     0x806F#define GL_PROXY_TEXTURE_3D               0x8070#define GL_TEXTURE_DEPTH                  0x8071#define GL_TEXTURE_WRAP_R                 0x8072#define GL_MAX_3D_TEXTURE_SIZE            0x8073#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_BGR                            0x80E0#define GL_BGRA                           0x80E1#define GL_MAX_ELEMENTS_VERTICES          0x80E8#define GL_MAX_ELEMENTS_INDICES           0x80E9#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#define GL_LIGHT_MODEL_COLOR_CONTROL      0x81F8#define GL_SINGLE_COLOR                   0x81F9#define GL_SEPARATE_SPECULAR_COLOR        0x81FA#define GL_SMOOTH_POINT_SIZE_RANGE        0x0B12#define GL_SMOOTH_POINT_SIZE_GRANULARITY  0x0B13#define GL_SMOOTH_LINE_WIDTH_RANGE        0x0B22#define GL_SMOOTH_LINE_WIDTH_GRANULARITY  0x0B23#define GL_ALIASED_POINT_SIZE_RANGE       0x846D#define GL_ALIASED_LINE_WIDTH_RANGE       0x846E#endif#ifndef GL_ARB_imaging#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_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_POST_COLOR_MATRIX_ALPHA_BIAS   0x80BB#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_CONSTANT_BORDER                0x8151#define GL_REPLICATE_BORDER               0x8153#define GL_CONVOLUTION_BORDER_COLOR       0x8154#endif#ifndef GL_VERSION_1_3#define GL_TEXTURE0                       0x84C0#define GL_TEXTURE1                       0x84C1#define GL_TEXTURE2                       0x84C2#define GL_TEXTURE3                       0x84C3#define GL_TEXTURE4                       0x84C4#define GL_TEXTURE5                       0x84C5#define GL_TEXTURE6                       0x84C6#define GL_TEXTURE7                       0x84C7#define GL_TEXTURE8                       0x84C8#define GL_TEXTURE9                       0x84C9#define GL_TEXTURE10                      0x84CA#define GL_TEXTURE11                      0x84CB#define GL_TEXTURE12                      0x84CC#define GL_TEXTURE13                      0x84CD#define GL_TEXTURE14                      0x84CE#define GL_TEXTURE15                      0x84CF#define GL_TEXTURE16                      0x84D0#define GL_TEXTURE17                      0x84D1#define GL_TEXTURE18                      0x84D2#define GL_TEXTURE19                      0x84D3#define GL_TEXTURE20                      0x84D4#define GL_TEXTURE21                      0x84D5#define GL_TEXTURE22                      0x84D6#define GL_TEXTURE23                      0x84D7#define GL_TEXTURE24                      0x84D8#define GL_TEXTURE25                      0x84D9#define GL_TEXTURE26                      0x84DA#define GL_TEXTURE27                      0x84DB#define GL_TEXTURE28                      0x84DC#define GL_TEXTURE29                      0x84DD#define GL_TEXTURE30                      0x84DE#define GL_TEXTURE31                      0x84DF#define GL_ACTIVE_TEXTURE                 0x84E0#define GL_CLIENT_ACTIVE_TEXTURE          0x84E1#define GL_MAX_TEXTURE_UNITS              0x84E2#define GL_TRANSPOSE_MODELVIEW_MATRIX     0x84E3#define GL_TRANSPOSE_PROJECTION_MATRIX    0x84E4#define GL_TRANSPOSE_TEXTURE_MATRIX       0x84E5#define GL_TRANSPOSE_COLOR_MATRIX         0x84E6#define GL_MULTISAMPLE                    0x809D#define GL_SAMPLE_ALPHA_TO_COVERAGE       0x809E#define GL_SAMPLE_ALPHA_TO_ONE            0x809F#define GL_SAMPLE_COVERAGE                0x80A0#define GL_SAMPLE_BUFFERS                 0x80A8#define GL_SAMPLES                        0x80A9#define GL_SAMPLE_COVERAGE_VALUE          0x80AA#define GL_SAMPLE_COVERAGE_INVERT         0x80AB#define GL_MULTISAMPLE_BIT                0x20000000#define GL_NORMAL_MAP                     0x8511#define GL_REFLECTION_MAP                 0x8512#define GL_TEXTURE_CUBE_MAP               0x8513#define GL_TEXTURE_BINDING_CUBE_MAP       0x8514#define GL_TEXTURE_CUBE_MAP_POSITIVE_X    0x8515#define GL_TEXTURE_CUBE_MAP_NEGATIVE_X    0x8516#define GL_TEXTURE_CUBE_MAP_POSITIVE_Y    0x8517#define GL_TEXTURE_CUBE_MAP_NEGATIVE_Y    0x8518#define GL_TEXTURE_CUBE_MAP_POSITIVE_Z    0x8519#define GL_TEXTURE_CUBE_MAP_NEGATIVE_Z    0x851A#define GL_PROXY_TEXTURE_CUBE_MAP         0x851B#define GL_MAX_CUBE_MAP_TEXTURE_SIZE      0x851C#define GL_COMPRESSED_ALPHA               0x84E9#define GL_COMPRESSED_LUMINANCE           0x84EA#define GL_COMPRESSED_LUMINANCE_ALPHA     0x84EB#define GL_COMPRESSED_INTENSITY           0x84EC#define GL_COMPRESSED_RGB                 0x84ED#define GL_COMPRESSED_RGBA                0x84EE#define GL_TEXTURE_COMPRESSION_HINT       0x84EF#define GL_TEXTURE_COMPRESSED_IMAGE_SIZE  0x86A0#define GL_TEXTURE_COMPRESSED             0x86A1#define GL_NUM_COMPRESSED_TEXTURE_FORMATS 0x86A2#define GL_COMPRESSED_TEXTURE_FORMATS     0x86A3#define GL_CLAMP_TO_BORDER                0x812D#define GL_COMBINE                        0x8570#define GL_COMBINE_RGB                    0x8571#define GL_COMBINE_ALPHA                  0x8572#define GL_SOURCE0_RGB                    0x8580#define GL_SOURCE1_RGB                    0x8581#define GL_SOURCE2_RGB                    0x8582#define GL_SOURCE0_ALPHA                  0x8588#define GL_SOURCE1_ALPHA                  0x8589

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -