📄 opengl.pas
字号:
{*******************************************************}
{ }
{ Borland Delphi Runtime Library }
{ OpenGL interface unit }
{ }
{*******************************************************}
(*
** Copyright 1991-1993, Silicon Graphics, Inc.
** All Rights Reserved.
**
** This is UNPUBLISHED PROPRIETARY SOURCE CODE of Silicon Graphics, Inc.;
** the contents of this file may not be disclosed to third parties, copied or
** duplicated in any form, in whole or in part, without the prior written
** permission of Silicon Graphics, Inc.
**
** RESTRICTED RIGHTS LEGEND:
** Use, duplication or disclosure by the Government is subject to restrictions
** as set forth in subdivision (c)(1)(ii) of the Rights in Technical Data
** and Computer Software clause at DFARS 252.227-7013, and/or in similar or
** successor clauses in the FAR, DOD or NASA FAR Supplement. Unpublished -
** rights reserved under the Copyright Laws of the United States.
*)
unit OpenGL;
interface
uses Windows;
type
{$EXTERNALSYM HGLRC}
HGLRC = THandle;
type
GLenum = Cardinal;
{$EXTERNALSYM GLenum}
GLboolean = BYTEBOOL;
{$EXTERNALSYM GLboolean}
GLbitfield = Cardinal;
{$EXTERNALSYM GLbitfield}
GLbyte = Shortint; { signed char }
{$EXTERNALSYM GLbyte}
GLshort = SmallInt;
{$EXTERNALSYM GLshort}
GLint = Integer;
{$EXTERNALSYM GLint}
GLsizei = Integer;
{$EXTERNALSYM GLsizei}
GLubyte = Byte;
{$EXTERNALSYM GLubyte}
GLushort = Word;
{$EXTERNALSYM GLushort}
GLuint = Cardinal;
{$EXTERNALSYM GLuint}
GLfloat = Single;
{$EXTERNALSYM GLfloat}
GLclampf = Single;
{$EXTERNALSYM GLclampf}
GLdouble = Double;
{$EXTERNALSYM GLdouble}
GLclampd = Double;
{$EXTERNALSYM GLclampd}
PGLBoolean = ^GLBoolean;
PGLByte = ^GLByte;
PGLShort = ^GLShort;
PGLInt = ^GLInt;
PGLSizei = ^GLSizei;
PGLubyte = ^GLubyte;
PGLushort = ^GLushort;
PGLuint = ^GLuint;
PGLclampf = ^GLclampf;
PGLfloat = ^GLFloat;
PGLdouble = ^GLDouble;
PGLclampd = ^GLclampd;
TGLArrayf4 = array [0..3] of GLFloat;
TGLArrayf3 = array [0..2] of GLFloat;
TGLArrayi4 = array [0..3] of GLint;
{...}
{*************************************************************}
const
{ AttribMask }
GL_CURRENT_BIT = $00000001;
{$EXTERNALSYM GL_CURRENT_BIT}
GL_POINT_BIT = $00000002;
{$EXTERNALSYM GL_POINT_BIT}
GL_LINE_BIT = $00000004;
{$EXTERNALSYM GL_LINE_BIT}
GL_POLYGON_BIT = $00000008;
{$EXTERNALSYM GL_POLYGON_BIT}
GL_POLYGON_STIPPLE_BIT = $00000010;
{$EXTERNALSYM GL_POLYGON_STIPPLE_BIT}
GL_PIXEL_MODE_BIT = $00000020;
{$EXTERNALSYM GL_PIXEL_MODE_BIT}
GL_LIGHTING_BIT = $00000040;
{$EXTERNALSYM GL_LIGHTING_BIT}
GL_FOG_BIT = $00000080;
{$EXTERNALSYM GL_FOG_BIT}
GL_DEPTH_BUFFER_BIT = $00000100;
{$EXTERNALSYM GL_DEPTH_BUFFER_BIT}
GL_ACCUM_BUFFER_BIT = $00000200;
{$EXTERNALSYM GL_ACCUM_BUFFER_BIT}
GL_STENCIL_BUFFER_BIT = $00000400;
{$EXTERNALSYM GL_STENCIL_BUFFER_BIT}
GL_VIEWPORT_BIT = $00000800;
{$EXTERNALSYM GL_VIEWPORT_BIT}
GL_TRANSFORM_BIT = $00001000;
{$EXTERNALSYM GL_TRANSFORM_BIT}
GL_ENABLE_BIT = $00002000;
{$EXTERNALSYM GL_ENABLE_BIT}
GL_COLOR_BUFFER_BIT = $00004000;
{$EXTERNALSYM GL_COLOR_BUFFER_BIT}
GL_HINT_BIT = $00008000;
{$EXTERNALSYM GL_HINT_BIT}
GL_EVAL_BIT = $00010000;
{$EXTERNALSYM GL_EVAL_BIT}
GL_LIST_BIT = $00020000;
{$EXTERNALSYM GL_LIST_BIT}
GL_TEXTURE_BIT = $00040000;
{$EXTERNALSYM GL_TEXTURE_BIT}
GL_SCISSOR_BIT = $00080000;
{$EXTERNALSYM GL_SCISSOR_BIT}
GL_ALL_ATTRIB_BITS = $000fffff;
{$EXTERNALSYM GL_ALL_ATTRIB_BITS}
{ ClearBufferMask }
{ GL_COLOR_BUFFER_BIT }
{ GL_ACCUM_BUFFER_BIT }
{ GL_STENCIL_BUFFER_BIT }
{ GL_DEPTH_BUFFER_BIT }
{ Boolean }
GL_FALSE = Boolean(0);
{$EXTERNALSYM GL_FALSE}
GL_TRUE = Boolean(1);
{$EXTERNALSYM GL_TRUE}
{ BeginMode }
GL_POINTS = $0000 ;
{$EXTERNALSYM GL_POINTS}
GL_LINES = $0001 ;
{$EXTERNALSYM GL_LINES}
GL_LINE_LOOP = $0002 ;
{$EXTERNALSYM GL_LINE_LOOP}
GL_LINE_STRIP = $0003 ;
{$EXTERNALSYM GL_LINE_STRIP}
GL_TRIANGLES = $0004 ;
{$EXTERNALSYM GL_TRIANGLES}
GL_TRIANGLE_STRIP = $0005 ;
{$EXTERNALSYM GL_TRIANGLE_STRIP}
GL_TRIANGLE_FAN = $0006 ;
{$EXTERNALSYM GL_TRIANGLE_FAN}
GL_QUADS = $0007 ;
{$EXTERNALSYM GL_QUADS}
GL_QUAD_STRIP = $0008 ;
{$EXTERNALSYM GL_QUAD_STRIP}
GL_POLYGON = $0009 ;
{$EXTERNALSYM GL_POLYGON}
{ AccumOp }
GL_ACCUM = $0100;
{$EXTERNALSYM GL_ACCUM}
GL_LOAD = $0101;
{$EXTERNALSYM GL_LOAD}
GL_RETURN = $0102;
{$EXTERNALSYM GL_RETURN}
GL_MULT = $0103;
{$EXTERNALSYM GL_MULT}
GL_ADD = $0104;
{$EXTERNALSYM GL_ADD}
{ AlphaFunction }
GL_NEVER = $0200;
{$EXTERNALSYM GL_NEVER}
GL_LESS = $0201;
{$EXTERNALSYM GL_LESS}
GL_EQUAL = $0202;
{$EXTERNALSYM GL_EQUAL}
GL_LEQUAL = $0203;
{$EXTERNALSYM GL_LEQUAL}
GL_GREATER = $0204;
{$EXTERNALSYM GL_GREATER}
GL_NOTEQUAL = $0205;
{$EXTERNALSYM GL_NOTEQUAL}
GL_GEQUAL = $0206;
{$EXTERNALSYM GL_GEQUAL}
GL_ALWAYS = $0207;
{$EXTERNALSYM GL_ALWAYS}
{ BlendingFactorDest }
GL_ZERO = 0;
{$EXTERNALSYM GL_ZERO}
GL_ONE = 1;
{$EXTERNALSYM GL_ONE}
GL_SRC_COLOR = $0300;
{$EXTERNALSYM GL_SRC_COLOR}
GL_ONE_MINUS_SRC_COLOR = $0301;
{$EXTERNALSYM GL_ONE_MINUS_SRC_COLOR}
GL_SRC_ALPHA = $0302;
{$EXTERNALSYM GL_SRC_ALPHA}
GL_ONE_MINUS_SRC_ALPHA = $0303;
{$EXTERNALSYM GL_ONE_MINUS_SRC_ALPHA}
GL_DST_ALPHA = $0304;
{$EXTERNALSYM GL_DST_ALPHA}
GL_ONE_MINUS_DST_ALPHA = $0305;
{$EXTERNALSYM GL_ONE_MINUS_DST_ALPHA}
{ BlendingFactorSrc }
{ GL_ZERO }
{ GL_ONE }
GL_DST_COLOR = $0306;
{$EXTERNALSYM GL_DST_COLOR}
GL_ONE_MINUS_DST_COLOR = $0307;
{$EXTERNALSYM GL_ONE_MINUS_DST_COLOR}
GL_SRC_ALPHA_SATURATE = $0308;
{$EXTERNALSYM GL_SRC_ALPHA_SATURATE}
{ GL_SRC_ALPHA }
{ GL_ONE_MINUS_SRC_ALPHA }
{ GL_DST_ALPHA }
{ GL_ONE_MINUS_DST_ALPHA }
{ BlendingMode }
{ GL_LOGIC_OP }
{ ColorMaterialFace }
{ GL_FRONT }
{ GL_BACK }
{ GL_FRONT_AND_BACK }
{ ColorMaterialParameter }
{ GL_AMBIENT }
{ GL_DIFFUSE }
{ GL_SPECULAR }
{ GL_EMISSION }
{ GL_AMBIENT_AND_DIFFUSE }
{ CullFaceMode }
{ GL_FRONT }
{ GL_BACK }
{ GL_FRONT_AND_BACK }
{ DepthFunction }
{ GL_NEVER }
{ GL_LESS }
{ GL_EQUAL }
{ GL_LEQUAL }
{ GL_GREATER }
{ GL_NOTEQUAL }
{ GL_GEQUAL }
{ GL_ALWAYS }
{ DrawBufferMode }
GL_NONE = 0;
{$EXTERNALSYM GL_NONE}
GL_FRONT_LEFT = $0400;
{$EXTERNALSYM GL_FRONT_LEFT}
GL_FRONT_RIGHT = $0401;
{$EXTERNALSYM GL_FRONT_RIGHT}
GL_BACK_LEFT = $0402;
{$EXTERNALSYM GL_BACK_LEFT}
GL_BACK_RIGHT = $0403;
{$EXTERNALSYM GL_BACK_RIGHT}
GL_FRONT = $0404;
{$EXTERNALSYM GL_FRONT}
GL_BACK = $0405;
{$EXTERNALSYM GL_BACK}
GL_LEFT = $0406;
{$EXTERNALSYM GL_LEFT}
GL_RIGHT = $0407;
{$EXTERNALSYM GL_RIGHT}
GL_FRONT_AND_BACK = $0408;
{$EXTERNALSYM GL_FRONT_AND_BACK}
GL_AUX0 = $0409;
{$EXTERNALSYM GL_AUX0}
GL_AUX1 = $040A;
{$EXTERNALSYM GL_AUX1}
GL_AUX2 = $040B;
{$EXTERNALSYM GL_AUX2}
GL_AUX3 = $040C;
{$EXTERNALSYM GL_AUX3}
{ ErrorCode }
GL_NO_ERROR = 0;
{$EXTERNALSYM GL_NO_ERROR}
GL_INVALID_ENUM = $0500;
{$EXTERNALSYM GL_INVALID_ENUM}
GL_INVALID_VALUE = $0501;
{$EXTERNALSYM GL_INVALID_VALUE}
GL_INVALID_OPERATION = $0502;
{$EXTERNALSYM GL_INVALID_OPERATION}
GL_STACK_OVERFLOW = $0503;
{$EXTERNALSYM GL_STACK_OVERFLOW}
GL_STACK_UNDERFLOW = $0504;
{$EXTERNALSYM GL_STACK_UNDERFLOW}
GL_OUT_OF_MEMORY = $0505;
{$EXTERNALSYM GL_OUT_OF_MEMORY}
{ FeedBackMode }
GL_2D = $0600;
{$EXTERNALSYM GL_2D}
GL_3D = $0601;
{$EXTERNALSYM GL_3D}
GL_3D_COLOR = $0602;
{$EXTERNALSYM GL_3D_COLOR}
GL_3D_COLOR_TEXTURE = $0603;
{$EXTERNALSYM GL_3D_COLOR_TEXTURE}
GL_4D_COLOR_TEXTURE = $0604;
{$EXTERNALSYM GL_4D_COLOR_TEXTURE}
{ FeedBackToken }
GL_PASS_THROUGH_TOKEN = $0700;
{$EXTERNALSYM GL_PASS_THROUGH_TOKEN}
GL_POINT_TOKEN = $0701;
{$EXTERNALSYM GL_POINT_TOKEN}
GL_LINE_TOKEN = $0702;
{$EXTERNALSYM GL_LINE_TOKEN}
GL_POLYGON_TOKEN = $0703;
{$EXTERNALSYM GL_POLYGON_TOKEN}
GL_BITMAP_TOKEN = $0704;
{$EXTERNALSYM GL_BITMAP_TOKEN}
GL_DRAW_PIXEL_TOKEN = $0705;
{$EXTERNALSYM GL_DRAW_PIXEL_TOKEN}
GL_COPY_PIXEL_TOKEN = $0706;
{$EXTERNALSYM GL_COPY_PIXEL_TOKEN}
GL_LINE_RESET_TOKEN = $0707;
{$EXTERNALSYM GL_LINE_RESET_TOKEN}
{ FogMode }
{ GL_LINEAR }
GL_EXP = $0800;
{$EXTERNALSYM GL_EXP}
GL_EXP2 = $0801;
{$EXTERNALSYM GL_EXP2}
{ FogParameter }
{ GL_FOG_COLOR }
{ GL_FOG_DENSITY }
{ GL_FOG_END }
{ GL_FOG_INDEX }
{ GL_FOG_MODE }
{ GL_FOG_START }
{ FrontFaceDirection }
GL_CW = $0900;
{$EXTERNALSYM GL_CW}
GL_CCW = $0901;
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -