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

📄 glut.h

📁 C:Documents and SettingsAdministrator桌面VC++多媒体特效制作百例CHAR20Dissolve
💻 H
📖 第 1 页 / 共 2 页
字号:
#ifndef __glut_h__#define __glut_h__/* Copyright (c) Mark J. Kilgard, 1994, 1995, 1996. *//* This program is freely distributable without licensing fees  and is   provided without guarantee or warrantee expressed or  implied. This   program is -not- in the public domain. */#if defined(WIN32)#include <windows.h>#pragma warning (disable:4244)		/* disable bogus conversion warnings */#endif#include <GL/gl.h>#include <GL/glu.h>/* define APIENTRY and CALLBACK to null string if we aren't on Win32 */#if !defined(WIN32)#define APIENTRY#define CALLBACK#endif#ifdef __cplusplusextern "C" {#endif/** GLUT API revision history:  GLUT_API_VERSION is updated to reflect incompatible GLUT API changes (interface changes, semantic changes, deletions, or additions).  GLUT_API_VERSION=1  First public release of GLUT.  11/29/94 GLUT_API_VERSION=2  Added support for OpenGL/GLX multisampling, extension.  Supports new input devices like tablet, dial and button box, and Spaceball.  Easy to query OpenGL extensions. GLUT_API_VERSION=3  glutMenuStatus added. GLUT_API_VERSION=4  glutInitDisplayString, glutWarpPointer, glutBitmapLength, glutStrokeLength, glutWindowStatusFunc, dynamic video resize subAPI, glutPostWindowRedisplay (NOT FINALIZED!).**/#ifndef GLUT_API_VERSION  /* allow this to be overriden */#define GLUT_API_VERSION		3#endif/** GLUT implementation revision history:  GLUT_XLIB_IMPLEMENTATION is updated to reflect both GLUT API revisions and implementation revisions (ie, bug fixes). GLUT_XLIB_IMPLEMENTATION=1  mjk's first public release of GLUT Xlib-based implementation.  11/29/94 GLUT_XLIB_IMPLEMENTATION=2  mjk's second public release of GLUT Xlib-based implementation providing GLUT version 2  interfaces. GLUT_XLIB_IMPLEMENTATION=3  mjk's GLUT 2.2 images. 4/17/95 GLUT_XLIB_IMPLEMENTATION=4  mjk's GLUT 2.3 images. 6/?/95 GLUT_XLIB_IMPLEMENTATION=5  mjk's GLUT 3.0 images. 10/?/95 GLUT_XLIB_IMPLEMENTATION=7  mjk's GLUT 3.1+ with glutWarpPoitner.  7/24/96 GLUT_XLIB_IMPLEMENTATION=8  mjk's GLUT 3.1+ with glutWarpPoitner and video resize.  1/3/97 GLUT_XLIB_IMPLEMENTATION=9 mjk's GLUT 3.4 release with early GLUT 4 routines. GLUT_XLIB_IMPLEMENTATION=11 Mesa 2.5's GLUT 3.6 release. GLUT_XLIB_IMPLEMENTATION=12 mjk's GLUT 3.6 release with early GLUT 4 routines + signal handling.**/#ifndef GLUT_XLIB_IMPLEMENTATION  /* Allow this to be overriden. */#define GLUT_XLIB_IMPLEMENTATION	12#endif/* Display mode bit masks. */#define GLUT_RGB			0#define GLUT_RGBA			GLUT_RGB#define GLUT_INDEX			1#define GLUT_SINGLE			0#define GLUT_DOUBLE			2#define GLUT_ACCUM			4#define GLUT_ALPHA			8#define GLUT_DEPTH			16#define GLUT_STENCIL			32#if (GLUT_API_VERSION >= 2)#define GLUT_MULTISAMPLE		128#define GLUT_STEREO			256#endif#if (GLUT_API_VERSION >= 3)#define GLUT_LUMINANCE			512#endif/* Mouse buttons. */#define GLUT_LEFT_BUTTON		0#define GLUT_MIDDLE_BUTTON		1#define GLUT_RIGHT_BUTTON		2/* Mouse button  state. */#define GLUT_DOWN			0#define GLUT_UP				1#if (GLUT_API_VERSION >= 2)/* function keys */#define GLUT_KEY_F1			1#define GLUT_KEY_F2			2#define GLUT_KEY_F3			3#define GLUT_KEY_F4			4#define GLUT_KEY_F5			5#define GLUT_KEY_F6			6#define GLUT_KEY_F7			7#define GLUT_KEY_F8			8#define GLUT_KEY_F9			9#define GLUT_KEY_F10			10#define GLUT_KEY_F11			11#define GLUT_KEY_F12			12/* directional keys */#define GLUT_KEY_LEFT			100#define GLUT_KEY_UP			101#define GLUT_KEY_RIGHT			102#define GLUT_KEY_DOWN			103#define GLUT_KEY_PAGE_UP		104#define GLUT_KEY_PAGE_DOWN		105#define GLUT_KEY_HOME			106#define GLUT_KEY_END			107#define GLUT_KEY_INSERT			108#endif/* Entry/exit  state. */#define GLUT_LEFT			0#define GLUT_ENTERED			1/* Menu usage  state. */#define GLUT_MENU_NOT_IN_USE		0#define GLUT_MENU_IN_USE		1/* Visibility  state. */#define GLUT_NOT_VISIBLE		0#define GLUT_VISIBLE			1/* Window status  state. */#define GLUT_HIDDEN			0#define GLUT_FULLY_RETAINED		1#define GLUT_PARTIALLY_RETAINED		2#define GLUT_FULLY_COVERED		3/* Color index component selection values. */#define GLUT_RED			0#define GLUT_GREEN			1#define GLUT_BLUE			2/* Layers for use. */#define GLUT_NORMAL			0#define GLUT_OVERLAY			1#if defined(WIN32)/* Stroke font constants (use these in GLUT program). */#define GLUT_STROKE_ROMAN		((void*)0)#define GLUT_STROKE_MONO_ROMAN		((void*)1)/* Bitmap font constants (use these in GLUT program). */#define GLUT_BITMAP_9_BY_15		((void*)2)#define GLUT_BITMAP_8_BY_13		((void*)3)#define GLUT_BITMAP_TIMES_ROMAN_10	((void*)4)#define GLUT_BITMAP_TIMES_ROMAN_24	((void*)5)#if (GLUT_API_VERSION >= 3)#define GLUT_BITMAP_HELVETICA_10	((void*)6)#define GLUT_BITMAP_HELVETICA_12	((void*)7)#define GLUT_BITMAP_HELVETICA_18	((void*)8)#endif#else/* Stroke font opaque addresses (use constants instead in source code). */extern void *glutStrokeRoman;extern void *glutStrokeMonoRoman;/* Stroke font constants (use these in GLUT program). */#define GLUT_STROKE_ROMAN		(&glutStrokeRoman)#define GLUT_STROKE_MONO_ROMAN		(&glutStrokeMonoRoman)/* Bitmap font opaque addresses (use constants instead in source code). */extern void *glutBitmap9By15;extern void *glutBitmap8By13;extern void *glutBitmapTimesRoman10;extern void *glutBitmapTimesRoman24;extern void *glutBitmapHelvetica10;extern void *glutBitmapHelvetica12;extern void *glutBitmapHelvetica18;/* Bitmap font constants (use these in GLUT program). */#define GLUT_BITMAP_9_BY_15		(&glutBitmap9By15)#define GLUT_BITMAP_8_BY_13		(&glutBitmap8By13)#define GLUT_BITMAP_TIMES_ROMAN_10	(&glutBitmapTimesRoman10)#define GLUT_BITMAP_TIMES_ROMAN_24	(&glutBitmapTimesRoman24)#if (GLUT_API_VERSION >= 3)#define GLUT_BITMAP_HELVETICA_10	(&glutBitmapHelvetica10)#define GLUT_BITMAP_HELVETICA_12	(&glutBitmapHelvetica12)#define GLUT_BITMAP_HELVETICA_18	(&glutBitmapHelvetica18)#endif#endif/* glutGet parameters. */#define GLUT_WINDOW_X			100#define GLUT_WINDOW_Y			101#define GLUT_WINDOW_WIDTH		102#define GLUT_WINDOW_HEIGHT		103#define GLUT_WINDOW_BUFFER_SIZE		104#define GLUT_WINDOW_STENCIL_SIZE	105#define GLUT_WINDOW_DEPTH_SIZE		106#define GLUT_WINDOW_RED_SIZE		107#define GLUT_WINDOW_GREEN_SIZE		108#define GLUT_WINDOW_BLUE_SIZE		109#define GLUT_WINDOW_ALPHA_SIZE		110#define GLUT_WINDOW_ACCUM_RED_SIZE	111#define GLUT_WINDOW_ACCUM_GREEN_SIZE	112#define GLUT_WINDOW_ACCUM_BLUE_SIZE	113#define GLUT_WINDOW_ACCUM_ALPHA_SIZE	114#define GLUT_WINDOW_DOUBLEBUFFER	115#define GLUT_WINDOW_RGBA		116#define GLUT_WINDOW_PARENT		117#define GLUT_WINDOW_NUM_CHILDREN	118#define GLUT_WINDOW_COLORMAP_SIZE	119#if (GLUT_API_VERSION >= 2)#define GLUT_WINDOW_NUM_SAMPLES		120#define GLUT_WINDOW_STEREO		121#endif#if (GLUT_API_VERSION >= 3)#define GLUT_WINDOW_CURSOR		122#endif#define GLUT_SCREEN_WIDTH		200#define GLUT_SCREEN_HEIGHT		201#define GLUT_SCREEN_WIDTH_MM		202#define GLUT_SCREEN_HEIGHT_MM		203#define GLUT_MENU_NUM_ITEMS		300#define GLUT_DISPLAY_MODE_POSSIBLE	400#define GLUT_INIT_WINDOW_X		500#define GLUT_INIT_WINDOW_Y		501

⌨️ 快捷键说明

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