first commit
This commit is contained in:
129
CS4451/oglexamples/3d.c
Normal file
129
CS4451/oglexamples/3d.c
Normal file
@@ -0,0 +1,129 @@
|
||||
#ifdef _WIN32
|
||||
#include <windows.h>
|
||||
#endif
|
||||
#include <GL/glut.h> // glut.h already includes GL/gl.h and GL/glu.h
|
||||
#include <stdlib.h>
|
||||
#include <stdio.h>
|
||||
|
||||
/* you may need to locate glut.h on your computer and change the path accordingly.
|
||||
* It is most likely in ~/include or ~include/GL.
|
||||
*/
|
||||
|
||||
/* the viewport is 500x500 with the origin at (0,0) */
|
||||
int Vx_min=0, Vx_max=500, Vy_min=0, Vy_max=500, Vz_min=0, Vz_max=0;
|
||||
|
||||
int frame_width, frame_height;
|
||||
|
||||
|
||||
void init(void)
|
||||
{
|
||||
glClearColor (0.0, 0.0, 0.0, 0.0);
|
||||
}
|
||||
|
||||
void display(void)
|
||||
{
|
||||
glClear (GL_COLOR_BUFFER_BIT);
|
||||
|
||||
/* green */
|
||||
glColor3f(0.0,1.0,0.0); /* params are floats in range [0.0,1.0] */
|
||||
|
||||
/* draws one or more lines */
|
||||
glBegin(GL_LINES);
|
||||
/* params are floats */
|
||||
glVertex2f(-150.0, -150.0); /* 2d floats (z=0) */
|
||||
glVertex2f( 150.0, -150.0);
|
||||
|
||||
/* params are integers */
|
||||
glVertex2i(150, -150);
|
||||
glVertex2i(150, 150);
|
||||
|
||||
/* params are doubles */
|
||||
glVertex2d(150.0, 150.0);
|
||||
glVertex2d(-150.0, 150.0);
|
||||
|
||||
/* params are floats */
|
||||
glVertex2f(-150.0, 150.0);
|
||||
glVertex2f(-150.0, -150.0);
|
||||
glEnd();
|
||||
|
||||
/* blue */
|
||||
glColor3ub(0,0,255); /* params are unsigned bytes in range [0,255] */
|
||||
|
||||
/* draws one polygon */
|
||||
glBegin(GL_POLYGON);
|
||||
glVertex2i(-125, -125);
|
||||
glVertex2i(125, -125);
|
||||
glVertex2i(125, 125);
|
||||
glVertex2i(-125, 125);
|
||||
glEnd();
|
||||
|
||||
|
||||
/* black */
|
||||
glColor3f(0.0,0.0,0.0); /* params are floats in range [0.0,1.0] */
|
||||
|
||||
/* draws one or more triangles */
|
||||
glBegin(GL_TRIANGLES);
|
||||
glVertex2i(-100, -100);
|
||||
glVertex2i(100, -100);
|
||||
glVertex2i(0, 100);
|
||||
|
||||
glEnd();
|
||||
glColor3f(1.0,0.0,0.0);
|
||||
glBegin(GL_TRIANGLES);
|
||||
glVertex2i(-100, -100);
|
||||
glVertex2i(-100, 100);
|
||||
glVertex2i(100, 0);
|
||||
glEnd();
|
||||
|
||||
glFlush ();
|
||||
}
|
||||
|
||||
void reshape (int w, int h)
|
||||
{
|
||||
frame_width = w;
|
||||
frame_height = h;
|
||||
|
||||
glViewport (0, 0, (GLsizei) w, (GLsizei) h);
|
||||
glMatrixMode (GL_PROJECTION);
|
||||
glLoadIdentity ();
|
||||
|
||||
// gluOrtho2D(Vx_min, Vx_max, Vy_min, Vy_max); // 2d
|
||||
glFrustum (-1.0, 1.0, -1.0, 1.0, 1.5, 500.0); // 3d
|
||||
|
||||
glMatrixMode (GL_MODELVIEW);
|
||||
glLoadIdentity(); // 3d
|
||||
gluLookAt (0.0, 0.0, 375.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0); // 3d
|
||||
|
||||
|
||||
}
|
||||
void mouse(int button, int state, int x, int y)
|
||||
{
|
||||
|
||||
switch (button) {
|
||||
case GLUT_LEFT_BUTTON:
|
||||
if (state == GLUT_DOWN) {
|
||||
printf("left mouse click\n");
|
||||
glutPostRedisplay();
|
||||
}
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
int main(int argc, char** argv)
|
||||
{
|
||||
glutInit(&argc, argv);
|
||||
glutInitDisplayMode (GLUT_SINGLE | GLUT_RGB);
|
||||
glutInitWindowSize (Vx_max-Vx_min, Vy_max-Vy_min);
|
||||
glutInitWindowPosition (100, 100);
|
||||
glutCreateWindow (argv[0]);
|
||||
|
||||
init ();
|
||||
|
||||
glutDisplayFunc(display);
|
||||
glutReshapeFunc(reshape);
|
||||
glutMouseFunc(mouse);
|
||||
glutMainLoop();
|
||||
return EXIT_SUCCESS;
|
||||
}
|
||||
3284
CS4451/oglexamples/GL/gl.h
Normal file
3284
CS4451/oglexamples/GL/gl.h
Normal file
File diff suppressed because it is too large
Load Diff
327
CS4451/oglexamples/GL/glu.h
Normal file
327
CS4451/oglexamples/GL/glu.h
Normal file
@@ -0,0 +1,327 @@
|
||||
/* $XFree86: xc/include/GL/glu.h,v 1.1 2001/01/15 22:17:50 dawes Exp $ */
|
||||
|
||||
/*
|
||||
** 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 __glu_h__
|
||||
#define __glu_h__
|
||||
|
||||
#include <GL/gl.h>
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
/*************************************************************/
|
||||
|
||||
/* Extensions */
|
||||
#define GLU_EXT_object_space_tess 1
|
||||
#define GLU_EXT_nurbs_tessellator 1
|
||||
|
||||
/* Boolean */
|
||||
#define GLU_FALSE 0
|
||||
#define GLU_TRUE 1
|
||||
|
||||
/* Version */
|
||||
#define GLU_VERSION_1_1 1
|
||||
#define GLU_VERSION_1_2 1
|
||||
#define GLU_VERSION_1_3 1
|
||||
|
||||
/* StringName */
|
||||
#define GLU_VERSION 100800
|
||||
#define GLU_EXTENSIONS 100801
|
||||
|
||||
/* ErrorCode */
|
||||
#define GLU_INVALID_ENUM 100900
|
||||
#define GLU_INVALID_VALUE 100901
|
||||
#define GLU_OUT_OF_MEMORY 100902
|
||||
#define GLU_INVALID_OPERATION 100904
|
||||
|
||||
/* NurbsDisplay */
|
||||
/* GLU_FILL */
|
||||
#define GLU_OUTLINE_POLYGON 100240
|
||||
#define GLU_OUTLINE_PATCH 100241
|
||||
|
||||
/* NurbsCallback */
|
||||
#define GLU_NURBS_ERROR 100103
|
||||
#define GLU_ERROR 100103
|
||||
#define GLU_NURBS_BEGIN 100164
|
||||
#define GLU_NURBS_BEGIN_EXT 100164
|
||||
#define GLU_NURBS_VERTEX 100165
|
||||
#define GLU_NURBS_VERTEX_EXT 100165
|
||||
#define GLU_NURBS_NORMAL 100166
|
||||
#define GLU_NURBS_NORMAL_EXT 100166
|
||||
#define GLU_NURBS_COLOR 100167
|
||||
#define GLU_NURBS_COLOR_EXT 100167
|
||||
#define GLU_NURBS_TEXTURE_COORD 100168
|
||||
#define GLU_NURBS_TEX_COORD_EXT 100168
|
||||
#define GLU_NURBS_END 100169
|
||||
#define GLU_NURBS_END_EXT 100169
|
||||
#define GLU_NURBS_BEGIN_DATA 100170
|
||||
#define GLU_NURBS_BEGIN_DATA_EXT 100170
|
||||
#define GLU_NURBS_VERTEX_DATA 100171
|
||||
#define GLU_NURBS_VERTEX_DATA_EXT 100171
|
||||
#define GLU_NURBS_NORMAL_DATA 100172
|
||||
#define GLU_NURBS_NORMAL_DATA_EXT 100172
|
||||
#define GLU_NURBS_COLOR_DATA 100173
|
||||
#define GLU_NURBS_COLOR_DATA_EXT 100173
|
||||
#define GLU_NURBS_TEXTURE_COORD_DATA 100174
|
||||
#define GLU_NURBS_TEX_COORD_DATA_EXT 100174
|
||||
#define GLU_NURBS_END_DATA 100175
|
||||
#define GLU_NURBS_END_DATA_EXT 100175
|
||||
|
||||
/* NurbsError */
|
||||
#define GLU_NURBS_ERROR1 100251
|
||||
#define GLU_NURBS_ERROR2 100252
|
||||
#define GLU_NURBS_ERROR3 100253
|
||||
#define GLU_NURBS_ERROR4 100254
|
||||
#define GLU_NURBS_ERROR5 100255
|
||||
#define GLU_NURBS_ERROR6 100256
|
||||
#define GLU_NURBS_ERROR7 100257
|
||||
#define GLU_NURBS_ERROR8 100258
|
||||
#define GLU_NURBS_ERROR9 100259
|
||||
#define GLU_NURBS_ERROR10 100260
|
||||
#define GLU_NURBS_ERROR11 100261
|
||||
#define GLU_NURBS_ERROR12 100262
|
||||
#define GLU_NURBS_ERROR13 100263
|
||||
#define GLU_NURBS_ERROR14 100264
|
||||
#define GLU_NURBS_ERROR15 100265
|
||||
#define GLU_NURBS_ERROR16 100266
|
||||
#define GLU_NURBS_ERROR17 100267
|
||||
#define GLU_NURBS_ERROR18 100268
|
||||
#define GLU_NURBS_ERROR19 100269
|
||||
#define GLU_NURBS_ERROR20 100270
|
||||
#define GLU_NURBS_ERROR21 100271
|
||||
#define GLU_NURBS_ERROR22 100272
|
||||
#define GLU_NURBS_ERROR23 100273
|
||||
#define GLU_NURBS_ERROR24 100274
|
||||
#define GLU_NURBS_ERROR25 100275
|
||||
#define GLU_NURBS_ERROR26 100276
|
||||
#define GLU_NURBS_ERROR27 100277
|
||||
#define GLU_NURBS_ERROR28 100278
|
||||
#define GLU_NURBS_ERROR29 100279
|
||||
#define GLU_NURBS_ERROR30 100280
|
||||
#define GLU_NURBS_ERROR31 100281
|
||||
#define GLU_NURBS_ERROR32 100282
|
||||
#define GLU_NURBS_ERROR33 100283
|
||||
#define GLU_NURBS_ERROR34 100284
|
||||
#define GLU_NURBS_ERROR35 100285
|
||||
#define GLU_NURBS_ERROR36 100286
|
||||
#define GLU_NURBS_ERROR37 100287
|
||||
|
||||
/* NurbsProperty */
|
||||
#define GLU_AUTO_LOAD_MATRIX 100200
|
||||
#define GLU_CULLING 100201
|
||||
#define GLU_SAMPLING_TOLERANCE 100203
|
||||
#define GLU_DISPLAY_MODE 100204
|
||||
#define GLU_PARAMETRIC_TOLERANCE 100202
|
||||
#define GLU_SAMPLING_METHOD 100205
|
||||
#define GLU_U_STEP 100206
|
||||
#define GLU_V_STEP 100207
|
||||
#define GLU_NURBS_MODE 100160
|
||||
#define GLU_NURBS_MODE_EXT 100160
|
||||
#define GLU_NURBS_TESSELLATOR 100161
|
||||
#define GLU_NURBS_TESSELLATOR_EXT 100161
|
||||
#define GLU_NURBS_RENDERER 100162
|
||||
#define GLU_NURBS_RENDERER_EXT 100162
|
||||
|
||||
/* NurbsSampling */
|
||||
#define GLU_OBJECT_PARAMETRIC_ERROR 100208
|
||||
#define GLU_OBJECT_PARAMETRIC_ERROR_EXT 100208
|
||||
#define GLU_OBJECT_PATH_LENGTH 100209
|
||||
#define GLU_OBJECT_PATH_LENGTH_EXT 100209
|
||||
#define GLU_PATH_LENGTH 100215
|
||||
#define GLU_PARAMETRIC_ERROR 100216
|
||||
#define GLU_DOMAIN_DISTANCE 100217
|
||||
|
||||
/* NurbsTrim */
|
||||
#define GLU_MAP1_TRIM_2 100210
|
||||
#define GLU_MAP1_TRIM_3 100211
|
||||
|
||||
/* QuadricDrawStyle */
|
||||
#define GLU_POINT 100010
|
||||
#define GLU_LINE 100011
|
||||
#define GLU_FILL 100012
|
||||
#define GLU_SILHOUETTE 100013
|
||||
|
||||
/* QuadricCallback */
|
||||
/* GLU_ERROR */
|
||||
|
||||
/* QuadricNormal */
|
||||
#define GLU_SMOOTH 100000
|
||||
#define GLU_FLAT 100001
|
||||
#define GLU_NONE 100002
|
||||
|
||||
/* QuadricOrientation */
|
||||
#define GLU_OUTSIDE 100020
|
||||
#define GLU_INSIDE 100021
|
||||
|
||||
/* TessCallback */
|
||||
#define GLU_TESS_BEGIN 100100
|
||||
#define GLU_BEGIN 100100
|
||||
#define GLU_TESS_VERTEX 100101
|
||||
#define GLU_VERTEX 100101
|
||||
#define GLU_TESS_END 100102
|
||||
#define GLU_END 100102
|
||||
#define GLU_TESS_ERROR 100103
|
||||
#define GLU_TESS_EDGE_FLAG 100104
|
||||
#define GLU_EDGE_FLAG 100104
|
||||
#define GLU_TESS_COMBINE 100105
|
||||
#define GLU_TESS_BEGIN_DATA 100106
|
||||
#define GLU_TESS_VERTEX_DATA 100107
|
||||
#define GLU_TESS_END_DATA 100108
|
||||
#define GLU_TESS_ERROR_DATA 100109
|
||||
#define GLU_TESS_EDGE_FLAG_DATA 100110
|
||||
#define GLU_TESS_COMBINE_DATA 100111
|
||||
|
||||
/* TessContour */
|
||||
#define GLU_CW 100120
|
||||
#define GLU_CCW 100121
|
||||
#define GLU_INTERIOR 100122
|
||||
#define GLU_EXTERIOR 100123
|
||||
#define GLU_UNKNOWN 100124
|
||||
|
||||
/* TessProperty */
|
||||
#define GLU_TESS_WINDING_RULE 100140
|
||||
#define GLU_TESS_BOUNDARY_ONLY 100141
|
||||
#define GLU_TESS_TOLERANCE 100142
|
||||
|
||||
/* TessError */
|
||||
#define GLU_TESS_ERROR1 100151
|
||||
#define GLU_TESS_ERROR2 100152
|
||||
#define GLU_TESS_ERROR3 100153
|
||||
#define GLU_TESS_ERROR4 100154
|
||||
#define GLU_TESS_ERROR5 100155
|
||||
#define GLU_TESS_ERROR6 100156
|
||||
#define GLU_TESS_ERROR7 100157
|
||||
#define GLU_TESS_ERROR8 100158
|
||||
#define GLU_TESS_MISSING_BEGIN_POLYGON 100151
|
||||
#define GLU_TESS_MISSING_BEGIN_CONTOUR 100152
|
||||
#define GLU_TESS_MISSING_END_POLYGON 100153
|
||||
#define GLU_TESS_MISSING_END_CONTOUR 100154
|
||||
#define GLU_TESS_COORD_TOO_LARGE 100155
|
||||
#define GLU_TESS_NEED_COMBINE_CALLBACK 100156
|
||||
|
||||
/* TessWinding */
|
||||
#define GLU_TESS_WINDING_ODD 100130
|
||||
#define GLU_TESS_WINDING_NONZERO 100131
|
||||
#define GLU_TESS_WINDING_POSITIVE 100132
|
||||
#define GLU_TESS_WINDING_NEGATIVE 100133
|
||||
#define GLU_TESS_WINDING_ABS_GEQ_TWO 100134
|
||||
|
||||
/*************************************************************/
|
||||
|
||||
|
||||
#ifdef __cplusplus
|
||||
class GLUnurbs;
|
||||
class GLUquadric;
|
||||
class GLUtesselator;
|
||||
#else
|
||||
typedef struct GLUnurbs GLUnurbs;
|
||||
typedef struct GLUquadric GLUquadric;
|
||||
typedef struct GLUtesselator GLUtesselator;
|
||||
#endif
|
||||
|
||||
typedef struct GLUnurbs GLUnurbsObj;
|
||||
typedef struct GLUquadric GLUquadricObj;
|
||||
typedef struct GLUtesselator GLUtesselatorObj;
|
||||
typedef struct GLUtesselator GLUtriangulatorObj;
|
||||
|
||||
#define GLU_TESS_MAX_COORD 1.0e150
|
||||
|
||||
/* Internal convenience typedefs */
|
||||
typedef GLvoid (*_GLUfuncptr)(GLvoid);
|
||||
|
||||
extern void gluBeginCurve (GLUnurbs* nurb);
|
||||
extern void gluBeginPolygon (GLUtesselator* tess);
|
||||
extern void gluBeginSurface (GLUnurbs* nurb);
|
||||
extern void gluBeginTrim (GLUnurbs* nurb);
|
||||
extern GLint gluBuild1DMipmapLevels (GLenum target, GLint internalFormat, GLsizei width, GLenum format, GLenum type, GLint level, GLint base, GLint max, const void *data);
|
||||
extern GLint gluBuild1DMipmaps (GLenum target, GLint internalFormat, GLsizei width, GLenum format, GLenum type, const void *data);
|
||||
extern GLint gluBuild2DMipmapLevels (GLenum target, GLint internalFormat, GLsizei width, GLsizei height, GLenum format, GLenum type, GLint level, GLint base, GLint max, const void *data);
|
||||
extern GLint gluBuild2DMipmaps (GLenum target, GLint internalFormat, GLsizei width, GLsizei height, GLenum format, GLenum type, const void *data);
|
||||
extern GLint gluBuild3DMipmapLevels (GLenum target, GLint internalFormat, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLenum type, GLint level, GLint base, GLint max, const void *data);
|
||||
extern GLint gluBuild3DMipmaps (GLenum target, GLint internalFormat, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLenum type, const void *data);
|
||||
extern GLboolean gluCheckExtension (const GLubyte *extName, const GLubyte *extString);
|
||||
extern void gluCylinder (GLUquadric* quad, GLdouble base, GLdouble top, GLdouble height, GLint slices, GLint stacks);
|
||||
extern void gluDeleteNurbsRenderer (GLUnurbs* nurb);
|
||||
extern void gluDeleteQuadric (GLUquadric* quad);
|
||||
extern void gluDeleteTess (GLUtesselator* tess);
|
||||
extern void gluDisk (GLUquadric* quad, GLdouble inner, GLdouble outer, GLint slices, GLint loops);
|
||||
extern void gluEndCurve (GLUnurbs* nurb);
|
||||
extern void gluEndPolygon (GLUtesselator* tess);
|
||||
extern void gluEndSurface (GLUnurbs* nurb);
|
||||
extern void gluEndTrim (GLUnurbs* nurb);
|
||||
extern const GLubyte * gluErrorString (GLenum error);
|
||||
extern void gluGetNurbsProperty (GLUnurbs* nurb, GLenum property, GLfloat* data);
|
||||
extern const GLubyte * gluGetString (GLenum name);
|
||||
extern void gluGetTessProperty (GLUtesselator* tess, GLenum which, GLdouble* data);
|
||||
extern void gluLoadSamplingMatrices (GLUnurbs* nurb, const GLfloat *model, const GLfloat *perspective, const GLint *view);
|
||||
extern void gluLookAt (GLdouble eyeX, GLdouble eyeY, GLdouble eyeZ, GLdouble centerX, GLdouble centerY, GLdouble centerZ, GLdouble upX, GLdouble upY, GLdouble upZ);
|
||||
extern GLUnurbs* gluNewNurbsRenderer (void);
|
||||
extern GLUquadric* gluNewQuadric (void);
|
||||
extern GLUtesselator* gluNewTess (void);
|
||||
extern void gluNextContour (GLUtesselator* tess, GLenum type);
|
||||
extern void gluNurbsCallback (GLUnurbs* nurb, GLenum which, _GLUfuncptr CallBackFunc);
|
||||
extern void gluNurbsCallbackData (GLUnurbs* nurb, GLvoid* userData);
|
||||
extern void gluNurbsCallbackDataEXT (GLUnurbs* nurb, GLvoid* userData);
|
||||
extern void gluNurbsCurve (GLUnurbs* nurb, GLint knotCount, GLfloat *knots, GLint stride, GLfloat *control, GLint order, GLenum type);
|
||||
extern void gluNurbsProperty (GLUnurbs* nurb, GLenum property, GLfloat value);
|
||||
extern void gluNurbsSurface (GLUnurbs* nurb, GLint sKnotCount, GLfloat* sKnots, GLint tKnotCount, GLfloat* tKnots, GLint sStride, GLint tStride, GLfloat* control, GLint sOrder, GLint tOrder, GLenum type);
|
||||
extern void gluOrtho2D (GLdouble left, GLdouble right, GLdouble bottom, GLdouble top);
|
||||
extern void gluPartialDisk (GLUquadric* quad, GLdouble inner, GLdouble outer, GLint slices, GLint loops, GLdouble start, GLdouble sweep);
|
||||
extern void gluPerspective (GLdouble fovy, GLdouble aspect, GLdouble zNear, GLdouble zFar);
|
||||
extern void gluPickMatrix (GLdouble x, GLdouble y, GLdouble delX, GLdouble delY, GLint *viewport);
|
||||
extern GLint gluProject (GLdouble objX, GLdouble objY, GLdouble objZ, const GLdouble *model, const GLdouble *proj, const GLint *view, GLdouble* winX, GLdouble* winY, GLdouble* winZ);
|
||||
extern void gluPwlCurve (GLUnurbs* nurb, GLint count, GLfloat* data, GLint stride, GLenum type);
|
||||
extern void gluQuadricCallback (GLUquadric* quad, GLenum which, _GLUfuncptr CallBackFunc);
|
||||
extern void gluQuadricDrawStyle (GLUquadric* quad, GLenum draw);
|
||||
extern void gluQuadricNormals (GLUquadric* quad, GLenum normal);
|
||||
extern void gluQuadricOrientation (GLUquadric* quad, GLenum orientation);
|
||||
extern void gluQuadricTexture (GLUquadric* quad, GLboolean texture);
|
||||
extern GLint gluScaleImage (GLenum format, GLsizei wIn, GLsizei hIn, GLenum typeIn, const void *dataIn, GLsizei wOut, GLsizei hOut, GLenum typeOut, GLvoid* dataOut);
|
||||
extern void gluSphere (GLUquadric* quad, GLdouble radius, GLint slices, GLint stacks);
|
||||
extern void gluTessBeginContour (GLUtesselator* tess);
|
||||
extern void gluTessBeginPolygon (GLUtesselator* tess, GLvoid* data);
|
||||
extern void gluTessCallback (GLUtesselator* tess, GLenum which, _GLUfuncptr CallBackFunc);
|
||||
extern void gluTessEndContour (GLUtesselator* tess);
|
||||
extern void gluTessEndPolygon (GLUtesselator* tess);
|
||||
extern void gluTessNormal (GLUtesselator* tess, GLdouble valueX, GLdouble valueY, GLdouble valueZ);
|
||||
extern void gluTessProperty (GLUtesselator* tess, GLenum which, GLdouble data);
|
||||
extern void gluTessVertex (GLUtesselator* tess, GLdouble *location, GLvoid* data);
|
||||
extern GLint gluUnProject (GLdouble winX, GLdouble winY, GLdouble winZ, const GLdouble *model, const GLdouble *proj, const GLint *view, GLdouble* objX, GLdouble* objY, GLdouble* objZ);
|
||||
#ifndef _WIN32
|
||||
extern GLint gluUnProject4 (GLdouble winX, GLdouble winY, GLdouble winZ, GLdouble clipW, const GLdouble *model, const GLdouble *proj, const GLint *view, GLdouble near, GLdouble far, GLdouble* objX, GLdouble* objY, GLdouble* objZ, GLdouble* objW);
|
||||
#endif
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
|
||||
#endif /* __glu_h__ */
|
||||
596
CS4451/oglexamples/GL/glut.h
Normal file
596
CS4451/oglexamples/GL/glut.h
Normal file
@@ -0,0 +1,596 @@
|
||||
#ifndef __glut_h__
|
||||
#define __glut_h__
|
||||
|
||||
/* Copyright (c) Mark J. Kilgard, 1994, 1995, 1996, 1998. */
|
||||
|
||||
/* 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)
|
||||
|
||||
/* GLUT 3.7 now tries to avoid including <windows.h>
|
||||
to avoid name space pollution, but Win32's <GL/gl.h>
|
||||
needs APIENTRY and WINGDIAPI defined properly. */
|
||||
# if 0
|
||||
# define WIN32_LEAN_AND_MEAN
|
||||
# include <windows.h>
|
||||
# else
|
||||
/* XXX This is from Win32's <windef.h> */
|
||||
# ifndef APIENTRY
|
||||
# define GLUT_APIENTRY_DEFINED
|
||||
# if (_MSC_VER >= 800) || defined(_STDCALL_SUPPORTED)
|
||||
# define APIENTRY __stdcall
|
||||
# else
|
||||
# define APIENTRY
|
||||
# endif
|
||||
# endif
|
||||
/* XXX This is from Win32's <winnt.h> */
|
||||
# ifndef CALLBACK
|
||||
# if (defined(_M_MRX000) || defined(_M_IX86) || defined(_M_ALPHA) || defined(_M_PPC)) && !defined(MIDL_PASS)
|
||||
# define CALLBACK __stdcall
|
||||
# else
|
||||
# define CALLBACK
|
||||
# endif
|
||||
# endif
|
||||
/* XXX This is from Win32's <wingdi.h> and <winnt.h> */
|
||||
# ifndef WINGDIAPI
|
||||
# define GLUT_WINGDIAPI_DEFINED
|
||||
# define WINGDIAPI __declspec(dllimport)
|
||||
# endif
|
||||
/* XXX This is from Win32's <ctype.h> */
|
||||
# ifndef _WCHAR_T_DEFINED
|
||||
typedef unsigned short wchar_t;
|
||||
# define _WCHAR_T_DEFINED
|
||||
# endif
|
||||
# endif
|
||||
|
||||
#pragma comment (lib, "winmm.lib") /* link with Windows MultiMedia lib */
|
||||
#pragma comment (lib, "opengl32.lib") /* link with Microsoft OpenGL lib */
|
||||
#pragma comment (lib, "glu32.lib") /* link with OpenGL Utility lib */
|
||||
#pragma comment (lib, "glut32.lib") /* link with Win32 GLUT lib */
|
||||
|
||||
#pragma warning (disable:4244) /* Disable bogus conversion warnings. */
|
||||
#pragma warning (disable:4305) /* VC++ 5.0 version of above warning. */
|
||||
|
||||
#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 GLUT_APIENTRY_DEFINED
|
||||
#define CALLBACK
|
||||
#endif
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "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, glutKeyboardUpFunc,
|
||||
glutSpecialUpFunc, glutIgnoreKeyRepeat, glutSetKeyRepeat,
|
||||
glutJoystickFunc, glutForceJoystickFunc (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.
|
||||
|
||||
GLUT_XLIB_IMPLEMENTATION=13 mjk's GLUT 3.7 release with GameGLUT support.
|
||||
**/
|
||||
#ifndef GLUT_XLIB_IMPLEMENTATION /* Allow this to be overriden. */
|
||||
#define GLUT_XLIB_IMPLEMENTATION 13
|
||||
#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
|
||||
#define GLUT_INIT_WINDOW_WIDTH 502
|
||||
#define GLUT_INIT_WINDOW_HEIGHT 503
|
||||
#define GLUT_INIT_DISPLAY_MODE 504
|
||||
#if (GLUT_API_VERSION >= 2)
|
||||
#define GLUT_ELAPSED_TIME 700
|
||||
#endif
|
||||
#if (GLUT_API_VERSION >= 4 || GLUT_XLIB_IMPLEMENTATION >= 13)
|
||||
#define GLUT_WINDOW_FORMAT_ID 123
|
||||
#endif
|
||||
|
||||
#if (GLUT_API_VERSION >= 2)
|
||||
/* glutDeviceGet parameters. */
|
||||
#define GLUT_HAS_KEYBOARD 600
|
||||
#define GLUT_HAS_MOUSE 601
|
||||
#define GLUT_HAS_SPACEBALL 602
|
||||
#define GLUT_HAS_DIAL_AND_BUTTON_BOX 603
|
||||
#define GLUT_HAS_TABLET 604
|
||||
#define GLUT_NUM_MOUSE_BUTTONS 605
|
||||
#define GLUT_NUM_SPACEBALL_BUTTONS 606
|
||||
#define GLUT_NUM_BUTTON_BOX_BUTTONS 607
|
||||
#define GLUT_NUM_DIALS 608
|
||||
#define GLUT_NUM_TABLET_BUTTONS 609
|
||||
#endif
|
||||
#if (GLUT_API_VERSION >= 4 || GLUT_XLIB_IMPLEMENTATION >= 13)
|
||||
#define GLUT_DEVICE_IGNORE_KEY_REPEAT 610
|
||||
#define GLUT_DEVICE_KEY_REPEAT 611
|
||||
#define GLUT_HAS_JOYSTICK 612
|
||||
#define GLUT_OWNS_JOYSTICK 613
|
||||
#define GLUT_JOYSTICK_BUTTONS 614
|
||||
#define GLUT_JOYSTICK_AXES 615
|
||||
#define GLUT_JOYSTICK_POLL_RATE 616
|
||||
#endif
|
||||
|
||||
#if (GLUT_API_VERSION >= 3)
|
||||
/* glutLayerGet parameters. */
|
||||
#define GLUT_OVERLAY_POSSIBLE 800
|
||||
#define GLUT_LAYER_IN_USE 801
|
||||
#define GLUT_HAS_OVERLAY 802
|
||||
#define GLUT_TRANSPARENT_INDEX 803
|
||||
#define GLUT_NORMAL_DAMAGED 804
|
||||
#define GLUT_OVERLAY_DAMAGED 805
|
||||
|
||||
#if (GLUT_API_VERSION >= 4 || GLUT_XLIB_IMPLEMENTATION >= 9)
|
||||
/* glutVideoResizeGet parameters. */
|
||||
#define GLUT_VIDEO_RESIZE_POSSIBLE 900
|
||||
#define GLUT_VIDEO_RESIZE_IN_USE 901
|
||||
#define GLUT_VIDEO_RESIZE_X_DELTA 902
|
||||
#define GLUT_VIDEO_RESIZE_Y_DELTA 903
|
||||
#define GLUT_VIDEO_RESIZE_WIDTH_DELTA 904
|
||||
#define GLUT_VIDEO_RESIZE_HEIGHT_DELTA 905
|
||||
#define GLUT_VIDEO_RESIZE_X 906
|
||||
#define GLUT_VIDEO_RESIZE_Y 907
|
||||
#define GLUT_VIDEO_RESIZE_WIDTH 908
|
||||
#define GLUT_VIDEO_RESIZE_HEIGHT 909
|
||||
#endif
|
||||
|
||||
/* glutUseLayer parameters. */
|
||||
#define GLUT_NORMAL 0
|
||||
#define GLUT_OVERLAY 1
|
||||
|
||||
/* glutGetModifiers return mask. */
|
||||
#define GLUT_ACTIVE_SHIFT 1
|
||||
#define GLUT_ACTIVE_CTRL 2
|
||||
#define GLUT_ACTIVE_ALT 4
|
||||
|
||||
/* glutSetCursor parameters. */
|
||||
/* Basic arrows. */
|
||||
#define GLUT_CURSOR_RIGHT_ARROW 0
|
||||
#define GLUT_CURSOR_LEFT_ARROW 1
|
||||
/* Symbolic cursor shapes. */
|
||||
#define GLUT_CURSOR_INFO 2
|
||||
#define GLUT_CURSOR_DESTROY 3
|
||||
#define GLUT_CURSOR_HELP 4
|
||||
#define GLUT_CURSOR_CYCLE 5
|
||||
#define GLUT_CURSOR_SPRAY 6
|
||||
#define GLUT_CURSOR_WAIT 7
|
||||
#define GLUT_CURSOR_TEXT 8
|
||||
#define GLUT_CURSOR_CROSSHAIR 9
|
||||
/* Directional cursors. */
|
||||
#define GLUT_CURSOR_UP_DOWN 10
|
||||
#define GLUT_CURSOR_LEFT_RIGHT 11
|
||||
/* Sizing cursors. */
|
||||
#define GLUT_CURSOR_TOP_SIDE 12
|
||||
#define GLUT_CURSOR_BOTTOM_SIDE 13
|
||||
#define GLUT_CURSOR_LEFT_SIDE 14
|
||||
#define GLUT_CURSOR_RIGHT_SIDE 15
|
||||
#define GLUT_CURSOR_TOP_LEFT_CORNER 16
|
||||
#define GLUT_CURSOR_TOP_RIGHT_CORNER 17
|
||||
#define GLUT_CURSOR_BOTTOM_RIGHT_CORNER 18
|
||||
#define GLUT_CURSOR_BOTTOM_LEFT_CORNER 19
|
||||
/* Inherit from parent window. */
|
||||
#define GLUT_CURSOR_INHERIT 100
|
||||
/* Blank cursor. */
|
||||
#define GLUT_CURSOR_NONE 101
|
||||
/* Fullscreen crosshair (if available). */
|
||||
#define GLUT_CURSOR_FULL_CROSSHAIR 102
|
||||
#endif
|
||||
|
||||
/* GLUT initialization sub-API. */
|
||||
extern void APIENTRY glutInit(int *argcp, char **argv);
|
||||
extern void APIENTRY glutInitDisplayMode(unsigned int mode);
|
||||
#if (GLUT_API_VERSION >= 4 || GLUT_XLIB_IMPLEMENTATION >= 9)
|
||||
extern void APIENTRY glutInitDisplayString(const char *string);
|
||||
#endif
|
||||
extern void APIENTRY glutInitWindowPosition(int x, int y);
|
||||
extern void APIENTRY glutInitWindowSize(int width, int height);
|
||||
extern void APIENTRY glutMainLoop(void);
|
||||
|
||||
/* GLUT window sub-API. */
|
||||
extern int APIENTRY glutCreateWindow(const char *title);
|
||||
extern int APIENTRY glutCreateSubWindow(int win, int x, int y, int width, int height);
|
||||
extern void APIENTRY glutDestroyWindow(int win);
|
||||
extern void APIENTRY glutPostRedisplay(void);
|
||||
#if (GLUT_API_VERSION >= 4 || GLUT_XLIB_IMPLEMENTATION >= 11)
|
||||
extern void APIENTRY glutPostWindowRedisplay(int win);
|
||||
#endif
|
||||
extern void APIENTRY glutSwapBuffers(void);
|
||||
extern int APIENTRY glutGetWindow(void);
|
||||
extern void APIENTRY glutSetWindow(int win);
|
||||
extern void APIENTRY glutSetWindowTitle(const char *title);
|
||||
extern void APIENTRY glutSetIconTitle(const char *title);
|
||||
extern void APIENTRY glutPositionWindow(int x, int y);
|
||||
extern void APIENTRY glutReshapeWindow(int width, int height);
|
||||
extern void APIENTRY glutPopWindow(void);
|
||||
extern void APIENTRY glutPushWindow(void);
|
||||
extern void APIENTRY glutIconifyWindow(void);
|
||||
extern void APIENTRY glutShowWindow(void);
|
||||
extern void APIENTRY glutHideWindow(void);
|
||||
#if (GLUT_API_VERSION >= 3)
|
||||
extern void APIENTRY glutFullScreen(void);
|
||||
extern void APIENTRY glutSetCursor(int cursor);
|
||||
#if (GLUT_API_VERSION >= 4 || GLUT_XLIB_IMPLEMENTATION >= 9)
|
||||
extern void APIENTRY glutWarpPointer(int x, int y);
|
||||
#endif
|
||||
|
||||
/* GLUT overlay sub-API. */
|
||||
extern void APIENTRY glutEstablishOverlay(void);
|
||||
extern void APIENTRY glutRemoveOverlay(void);
|
||||
extern void APIENTRY glutUseLayer(GLenum layer);
|
||||
extern void APIENTRY glutPostOverlayRedisplay(void);
|
||||
#if (GLUT_API_VERSION >= 4 || GLUT_XLIB_IMPLEMENTATION >= 11)
|
||||
extern void APIENTRY glutPostWindowOverlayRedisplay(int win);
|
||||
#endif
|
||||
extern void APIENTRY glutShowOverlay(void);
|
||||
extern void APIENTRY glutHideOverlay(void);
|
||||
#endif
|
||||
|
||||
/* GLUT menu sub-API. */
|
||||
extern int APIENTRY glutCreateMenu(void (*)(int));
|
||||
extern void APIENTRY glutDestroyMenu(int menu);
|
||||
extern int APIENTRY glutGetMenu(void);
|
||||
extern void APIENTRY glutSetMenu(int menu);
|
||||
extern void APIENTRY glutAddMenuEntry(const char *label, int value);
|
||||
extern void APIENTRY glutAddSubMenu(const char *label, int submenu);
|
||||
extern void APIENTRY glutChangeToMenuEntry(int item, const char *label, int value);
|
||||
extern void APIENTRY glutChangeToSubMenu(int item, const char *label, int submenu);
|
||||
extern void APIENTRY glutRemoveMenuItem(int item);
|
||||
extern void APIENTRY glutAttachMenu(int button);
|
||||
extern void APIENTRY glutDetachMenu(int button);
|
||||
|
||||
/* GLUT window callback sub-API. */
|
||||
extern void APIENTRY glutDisplayFunc(void (*func)(void));
|
||||
extern void APIENTRY glutReshapeFunc(void (*func)(int width, int height));
|
||||
extern void APIENTRY glutKeyboardFunc(void (*func)(unsigned char key, int x, int y));
|
||||
extern void APIENTRY glutMouseFunc(void (*func)(int button, int state, int x, int y));
|
||||
extern void APIENTRY glutMotionFunc(void (*func)(int x, int y));
|
||||
extern void APIENTRY glutPassiveMotionFunc(void (*func)(int x, int y));
|
||||
extern void APIENTRY glutEntryFunc(void (*func)(int state));
|
||||
extern void APIENTRY glutVisibilityFunc(void (*func)(int state));
|
||||
extern void APIENTRY glutIdleFunc(void (*func)(void));
|
||||
extern void APIENTRY glutTimerFunc(unsigned int millis, void (*func)(int value), int value);
|
||||
extern void APIENTRY glutMenuStateFunc(void (*func)(int state));
|
||||
#if (GLUT_API_VERSION >= 2)
|
||||
extern void APIENTRY glutSpecialFunc(void (*func)(int key, int x, int y));
|
||||
extern void APIENTRY glutSpaceballMotionFunc(void (*func)(int x, int y, int z));
|
||||
extern void APIENTRY glutSpaceballRotateFunc(void (*func)(int x, int y, int z));
|
||||
extern void APIENTRY glutSpaceballButtonFunc(void (*func)(int button, int state));
|
||||
extern void APIENTRY glutButtonBoxFunc(void (*func)(int button, int state));
|
||||
extern void APIENTRY glutDialsFunc(void (*func)(int dial, int value));
|
||||
extern void APIENTRY glutTabletMotionFunc(void (*func)(int x, int y));
|
||||
extern void APIENTRY glutTabletButtonFunc(void (*func)(int button, int state, int x, int y));
|
||||
#if (GLUT_API_VERSION >= 3)
|
||||
extern void APIENTRY glutMenuStatusFunc(void (*func)(int status, int x, int y));
|
||||
extern void APIENTRY glutOverlayDisplayFunc(void (*func)(void));
|
||||
#if (GLUT_API_VERSION >= 4 || GLUT_XLIB_IMPLEMENTATION >= 9)
|
||||
extern void APIENTRY glutWindowStatusFunc(void (*func)(int state));
|
||||
#endif
|
||||
#if (GLUT_API_VERSION >= 4 || GLUT_XLIB_IMPLEMENTATION >= 13)
|
||||
extern void APIENTRY glutKeyboardUpFunc(void (*func)(unsigned char key, int x, int y));
|
||||
extern void APIENTRY glutSpecialUpFunc(void (*func)(int key, int x, int y));
|
||||
extern void APIENTRY glutJoystickFunc(void (*func)(unsigned int buttonMask, int x, int y, int z), int pollInterval);
|
||||
#endif
|
||||
#endif
|
||||
#endif
|
||||
|
||||
/* GLUT color index sub-API. */
|
||||
extern void APIENTRY glutSetColor(int, GLfloat red, GLfloat green, GLfloat blue);
|
||||
extern GLfloat APIENTRY glutGetColor(int ndx, int component);
|
||||
extern void APIENTRY glutCopyColormap(int win);
|
||||
|
||||
/* GLUT state retrieval sub-API. */
|
||||
extern int APIENTRY glutGet(GLenum type);
|
||||
extern int APIENTRY glutDeviceGet(GLenum type);
|
||||
#if (GLUT_API_VERSION >= 2)
|
||||
/* GLUT extension support sub-API */
|
||||
extern int APIENTRY glutExtensionSupported(const char *name);
|
||||
#endif
|
||||
#if (GLUT_API_VERSION >= 3)
|
||||
extern int APIENTRY glutGetModifiers(void);
|
||||
extern int APIENTRY glutLayerGet(GLenum type);
|
||||
#endif
|
||||
|
||||
/* GLUT font sub-API */
|
||||
extern void APIENTRY glutBitmapCharacter(void *font, int character);
|
||||
extern int APIENTRY glutBitmapWidth(void *font, int character);
|
||||
extern void APIENTRY glutStrokeCharacter(void *font, int character);
|
||||
extern int APIENTRY glutStrokeWidth(void *font, int character);
|
||||
#if (GLUT_API_VERSION >= 4 || GLUT_XLIB_IMPLEMENTATION >= 9)
|
||||
extern int APIENTRY glutBitmapLength(void *font, const unsigned char *string);
|
||||
extern int APIENTRY glutStrokeLength(void *font, const unsigned char *string);
|
||||
#endif
|
||||
|
||||
/* GLUT pre-built models sub-API */
|
||||
extern void APIENTRY glutWireSphere(GLdouble radius, GLint slices, GLint stacks);
|
||||
extern void APIENTRY glutSolidSphere(GLdouble radius, GLint slices, GLint stacks);
|
||||
extern void APIENTRY glutWireCone(GLdouble base, GLdouble height, GLint slices, GLint stacks);
|
||||
extern void APIENTRY glutSolidCone(GLdouble base, GLdouble height, GLint slices, GLint stacks);
|
||||
extern void APIENTRY glutWireCube(GLdouble size);
|
||||
extern void APIENTRY glutSolidCube(GLdouble size);
|
||||
extern void APIENTRY glutWireTorus(GLdouble innerRadius, GLdouble outerRadius, GLint sides, GLint rings);
|
||||
extern void APIENTRY glutSolidTorus(GLdouble innerRadius, GLdouble outerRadius, GLint sides, GLint rings);
|
||||
extern void APIENTRY glutWireDodecahedron(void);
|
||||
extern void APIENTRY glutSolidDodecahedron(void);
|
||||
extern void APIENTRY glutWireTeapot(GLdouble size);
|
||||
extern void APIENTRY glutSolidTeapot(GLdouble size);
|
||||
extern void APIENTRY glutWireOctahedron(void);
|
||||
extern void APIENTRY glutSolidOctahedron(void);
|
||||
extern void APIENTRY glutWireTetrahedron(void);
|
||||
extern void APIENTRY glutSolidTetrahedron(void);
|
||||
extern void APIENTRY glutWireIcosahedron(void);
|
||||
extern void APIENTRY glutSolidIcosahedron(void);
|
||||
|
||||
#if (GLUT_API_VERSION >= 4 || GLUT_XLIB_IMPLEMENTATION >= 9)
|
||||
/* GLUT video resize sub-API. */
|
||||
extern int APIENTRY glutVideoResizeGet(GLenum param);
|
||||
extern void APIENTRY glutSetupVideoResizing(void);
|
||||
extern void APIENTRY glutStopVideoResizing(void);
|
||||
extern void APIENTRY glutVideoResize(int x, int y, int width, int height);
|
||||
extern void APIENTRY glutVideoPan(int x, int y, int width, int height);
|
||||
|
||||
/* GLUT debugging sub-API. */
|
||||
extern void APIENTRY glutReportErrors(void);
|
||||
#endif
|
||||
|
||||
#if (GLUT_API_VERSION >= 4 || GLUT_XLIB_IMPLEMENTATION >= 13)
|
||||
/* GLUT device control sub-API. */
|
||||
/* glutSetKeyRepeat modes. */
|
||||
#define GLUT_KEY_REPEAT_OFF 0
|
||||
#define GLUT_KEY_REPEAT_ON 1
|
||||
#define GLUT_KEY_REPEAT_DEFAULT 2
|
||||
|
||||
/* Joystick button masks. */
|
||||
#define GLUT_JOYSTICK_BUTTON_A 1
|
||||
#define GLUT_JOYSTICK_BUTTON_B 2
|
||||
#define GLUT_JOYSTICK_BUTTON_C 4
|
||||
#define GLUT_JOYSTICK_BUTTON_D 8
|
||||
|
||||
extern void APIENTRY glutIgnoreKeyRepeat(int ignore);
|
||||
extern void APIENTRY glutSetKeyRepeat(int repeatMode);
|
||||
extern void APIENTRY glutForceJoystickFunc(void);
|
||||
|
||||
/* GLUT game mode sub-API. */
|
||||
/* glutGameModeGet. */
|
||||
#define GLUT_GAME_MODE_ACTIVE 0
|
||||
#define GLUT_GAME_MODE_POSSIBLE 1
|
||||
#define GLUT_GAME_MODE_WIDTH 2
|
||||
#define GLUT_GAME_MODE_HEIGHT 3
|
||||
#define GLUT_GAME_MODE_PIXEL_DEPTH 4
|
||||
#define GLUT_GAME_MODE_REFRESH_RATE 5
|
||||
#define GLUT_GAME_MODE_DISPLAY_CHANGED 6
|
||||
|
||||
extern void APIENTRY glutGameModeString(const char *string);
|
||||
extern int APIENTRY glutEnterGameMode(void);
|
||||
extern void APIENTRY glutLeaveGameMode(void);
|
||||
extern int APIENTRY glutGameModeGet(GLenum mode);
|
||||
#endif
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
|
||||
#endif
|
||||
|
||||
#ifdef GLUT_APIENTRY_DEFINED
|
||||
# undef GLUT_APIENTRY_DEFINED
|
||||
# undef APIENTRY
|
||||
#endif
|
||||
|
||||
#ifdef GLUT_WINGDIAPI_DEFINED
|
||||
# undef GLUT_WINGDIAPI_DEFINED
|
||||
# undef WINGDIAPI
|
||||
#endif
|
||||
|
||||
#endif /* __glut_h__ */
|
||||
298
CS4451/oglexamples/GL/glx.h
Normal file
298
CS4451/oglexamples/GL/glx.h
Normal file
@@ -0,0 +1,298 @@
|
||||
#ifndef __glx_h__
|
||||
#define __glx_h__
|
||||
|
||||
/*
|
||||
** The contents of this file are subject to the GLX Public License Version 1.0
|
||||
** (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, 2011 N. Shoreline Blvd., Mountain View, CA 94043
|
||||
** or at http://www.sgi.com/software/opensource/glx/license.html.
|
||||
**
|
||||
** Software distributed under the License is distributed on an "AS IS"
|
||||
** basis. ALL WARRANTIES ARE DISCLAIMED, INCLUDING, WITHOUT LIMITATION, ANY
|
||||
** IMPLIED WARRANTIES OF MERCHANTABILITY, OF FITNESS FOR A PARTICULAR
|
||||
** PURPOSE OR OF NON- INFRINGEMENT. See the License for the specific
|
||||
** language governing rights and limitations under the License.
|
||||
**
|
||||
** The Original Software is GLX version 1.2 source code, released February,
|
||||
** 1999. The developer of the Original Software is Silicon Graphics, Inc.
|
||||
** Those portions of the Subject Software created by Silicon Graphics, Inc.
|
||||
** are Copyright (c) 1991-9 Silicon Graphics, Inc. All Rights Reserved.
|
||||
**
|
||||
** $Header: /usr/_CVS/CS4451/oglexamples/GL/glx.h,v 1.1 2005/01/13 08:59:31 asskoala Exp $
|
||||
*/
|
||||
|
||||
#include <X11/Xlib.h>
|
||||
#include <X11/Xutil.h>
|
||||
#include <X11/Xmd.h>
|
||||
#include <GL/gl.h>
|
||||
#include <GL/glxtokens.h>
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
/*
|
||||
* GLX resources.
|
||||
*/
|
||||
typedef XID GLXContextID;
|
||||
typedef XID GLXPixmap;
|
||||
typedef XID GLXDrawable;
|
||||
typedef XID GLXPbuffer;
|
||||
typedef XID GLXWindow;
|
||||
typedef XID GLXFBConfigID;
|
||||
|
||||
/*
|
||||
* GLXContext is a pointer to opaque data.
|
||||
*/
|
||||
typedef struct __GLXcontextRec *GLXContext;
|
||||
|
||||
/*
|
||||
* GLXFBConfig is a pointer to opaque data.
|
||||
*/
|
||||
typedef struct __GLXFBConfigRec *GLXFBConfig;
|
||||
typedef struct __GLXFBConfigRec *GLXFBConfigSGIX;
|
||||
|
||||
|
||||
/**********************************************************************/
|
||||
|
||||
/*
|
||||
* GLX 1.0 functions.
|
||||
*/
|
||||
extern XVisualInfo* glXChooseVisual(Display *dpy, int screen,
|
||||
int *attrib_list);
|
||||
|
||||
extern void glXCopyContext(Display *dpy, GLXContext src,
|
||||
GLXContext dst, unsigned long mask);
|
||||
|
||||
extern GLXContext glXCreateContext(Display *dpy, XVisualInfo *vis,
|
||||
GLXContext share_list, Bool direct);
|
||||
|
||||
extern GLXPixmap glXCreateGLXPixmap(Display *dpy, XVisualInfo *vis,
|
||||
Pixmap pixmap);
|
||||
|
||||
extern void glXDestroyContext(Display *dpy, GLXContext ctx);
|
||||
|
||||
extern void glXDestroyGLXPixmap(Display *dpy, GLXPixmap pix);
|
||||
|
||||
extern int glXGetConfig(Display *dpy, XVisualInfo *vis,
|
||||
int attrib, int *value);
|
||||
|
||||
extern GLXContext glXGetCurrentContext(void);
|
||||
|
||||
extern GLXDrawable glXGetCurrentDrawable(void);
|
||||
|
||||
extern Bool glXIsDirect(Display *dpy, GLXContext ctx);
|
||||
|
||||
extern Bool glXMakeCurrent(Display *dpy, GLXDrawable drawable,
|
||||
GLXContext ctx);
|
||||
|
||||
extern Bool glXQueryExtension(Display *dpy, int *error_base, int *event_base);
|
||||
|
||||
extern Bool glXQueryVersion(Display *dpy, int *major, int *minor);
|
||||
|
||||
extern void glXSwapBuffers(Display *dpy, GLXDrawable drawable);
|
||||
|
||||
extern void glXUseXFont(Font font, int first, int count, int list_base);
|
||||
|
||||
extern void glXWaitGL(void);
|
||||
|
||||
extern void glXWaitX(void);
|
||||
|
||||
|
||||
/*
|
||||
* GLX 1.1 functions.
|
||||
*/
|
||||
extern const char *glXGetClientString(Display *dpy, int name);
|
||||
|
||||
extern const char *glXQueryServerString(Display *dpy, int screen, int name);
|
||||
|
||||
extern const char *glXQueryExtensionsString(Display *dpy, int screen);
|
||||
|
||||
|
||||
/*
|
||||
* GLX 1.2 functions.
|
||||
*/
|
||||
extern Display *glXGetCurrentDisplay(void);
|
||||
|
||||
|
||||
/*
|
||||
* GLX 1.3 functions.
|
||||
*/
|
||||
extern GLXFBConfig *glXChooseFBConfig(Display *dpy, int screen,
|
||||
const int *attrib_list, int *nelements);
|
||||
|
||||
extern GLXContext glXCreateNewContext(Display *dpy, GLXFBConfig config,
|
||||
int render_type, GLXContext share_list,
|
||||
Bool direct);
|
||||
|
||||
extern GLXPbuffer glXCreatePbuffer(Display *dpy, GLXFBConfig config,
|
||||
const int *attrib_list);
|
||||
|
||||
extern GLXPixmap glXCreatePixmap(Display *dpy, GLXFBConfig config,
|
||||
Pixmap pixmap, const int *attrib_list);
|
||||
|
||||
extern GLXWindow glXCreateWindow(Display *dpy, GLXFBConfig config,
|
||||
Window win, const int *attrib_list);
|
||||
|
||||
extern void glXDestroyPbuffer(Display *dpy, GLXPbuffer pbuf);
|
||||
|
||||
extern void glXDestroyPixmap(Display *dpy, GLXPixmap pixmap);
|
||||
|
||||
extern void glXDestroyWindow(Display *dpy, GLXWindow win);
|
||||
|
||||
extern GLXDrawable glXGetCurrentReadDrawable(void);
|
||||
|
||||
extern int glXGetFBConfigAttrib(Display *dpy, GLXFBConfig config,
|
||||
int attribute, int *value);
|
||||
|
||||
extern GLXFBConfig *glXGetFBConfigs(Display *dpy, int screen, int *nelements);
|
||||
|
||||
extern void glXGetSelectedEvent(Display *dpy, GLXDrawable draw,
|
||||
unsigned long *event_mask);
|
||||
|
||||
extern XVisualInfo *glXGetVisualFromFBConfig(Display *dpy, GLXFBConfig config);
|
||||
|
||||
extern Bool glXMakeContextCurrent(Display *display, GLXDrawable draw,
|
||||
GLXDrawable read, GLXContext ctx);
|
||||
|
||||
extern int glXQueryContext(Display *dpy, GLXContext ctx,
|
||||
int attribute, int *value);
|
||||
|
||||
extern void glXQueryDrawable(Display *dpy, GLXDrawable draw,
|
||||
int attribute, unsigned int *value);
|
||||
|
||||
extern void glXSelectEvent(Display *dpy, GLXDrawable draw,
|
||||
unsigned long event_mask);
|
||||
|
||||
|
||||
/**********************************************************************/
|
||||
|
||||
/*
|
||||
* ARB_get_proc_address
|
||||
*/
|
||||
extern void (*glXGetProcAddressARB(const GLubyte *procName))(void);
|
||||
|
||||
/*
|
||||
* EXT_import_context
|
||||
*/
|
||||
extern void glXFreeContextEXT(Display *dpy, GLXContext ctx);
|
||||
|
||||
extern GLXContextID glXGetContextIDEXT(const GLXContext ctx);
|
||||
|
||||
extern GLXDrawable glXGetCurrentDrawableEXT(void);
|
||||
|
||||
extern GLXContext glXImportContextEXT(Display *dpy, GLXContextID contextID);
|
||||
|
||||
extern int glXQueryContextInfoEXT(Display *dpy, GLXContext ctx,
|
||||
int attribute, int *value);
|
||||
|
||||
/*
|
||||
* NV_vertex_array_range
|
||||
*/
|
||||
extern void *glXAllocateMemoryNV(GLsizei size, GLfloat readfreq,
|
||||
GLfloat writefreq, GLfloat priority);
|
||||
|
||||
extern void glXFreeMemoryNV(GLvoid *pointer);
|
||||
|
||||
/*
|
||||
* SGI_video_sync
|
||||
*/
|
||||
extern int glXGetVideoSyncSGI(unsigned int *count);
|
||||
|
||||
extern int glXWaitVideoSyncSGI(int divisor, int remainder,
|
||||
unsigned int *count);
|
||||
|
||||
extern int glXGetRefreshRateSGI(unsigned int *rate);
|
||||
|
||||
/*
|
||||
* SGIX_swap_group
|
||||
*/
|
||||
extern void glXJoinSwapGroupSGIX(Display *dpy, GLXDrawable drawable,
|
||||
GLXDrawable member);
|
||||
|
||||
/*
|
||||
* SGIX_swap_barrier
|
||||
*/
|
||||
extern void glXBindSwapBarrierSGIX(Display *dpy, GLXDrawable drawable,
|
||||
int barrier);
|
||||
|
||||
extern Bool glXQueryMaxSwapBarriersSGIX(Display *dpy, int screen, int *max);
|
||||
|
||||
/*
|
||||
* SGIX_fbconfig
|
||||
*/
|
||||
|
||||
extern int glXGetFBConfigAttribSGIX(Display *dpy, GLXFBConfigSGIX config,
|
||||
int attribute, int *value_return);
|
||||
|
||||
extern GLXFBConfigSGIX *glXChooseFBConfigSGIX(Display *dpy, int screen,
|
||||
const int *attrib_list,
|
||||
int *nelements);
|
||||
|
||||
extern GLXPixmap glXCreateGLXPixmapWithConfigSGIX(Display *dpy,
|
||||
GLXFBConfigSGIX config,
|
||||
Pixmap pixmap);
|
||||
|
||||
extern GLXContext glXCreateContextWithConfigSGIX(Display *dpy,
|
||||
GLXFBConfigSGIX config,
|
||||
int render_type,
|
||||
GLXContext share_list,
|
||||
Bool direct);
|
||||
|
||||
extern XVisualInfo *glXGetVisualFromFBConfigSGIX(Display *dpy,
|
||||
GLXFBConfigSGIX config);
|
||||
|
||||
extern GLXFBConfigSGIX glXGetFBConfigFromVisualSGIX(Display *dpy,
|
||||
XVisualInfo *vis);
|
||||
|
||||
/*
|
||||
* SGIX_pbuffer
|
||||
*/
|
||||
extern GLXPbuffer glXCreateGLXPbufferSGIX(Display *dpy, GLXFBConfig config,
|
||||
unsigned int width,
|
||||
unsigned int height,
|
||||
const int *attrib_list);
|
||||
|
||||
extern void glXDestroyGLXPbufferSGIX(Display *dpy, GLXPbuffer pbuf);
|
||||
|
||||
extern void glXQueryGLXPbufferSGIX(Display *dpy, GLXPbuffer pbuf,
|
||||
int attribute, unsigned int *value);
|
||||
|
||||
extern void glXSelectEventSGIX(Display *dpy, GLXDrawable drawable,
|
||||
unsigned long mask);
|
||||
|
||||
extern void glXGetSelectedEventSGIX(Display *dpy, GLXDrawable drawable,
|
||||
unsigned long *mask);
|
||||
|
||||
|
||||
/**********************************************************************/
|
||||
|
||||
/*** Should these go here, or in another header? */
|
||||
/*
|
||||
* GLX Events
|
||||
*/
|
||||
typedef struct {
|
||||
int event_type; /* GLX_DAMAGED or GLX_SAVED */
|
||||
int draw_type; /* GLX_WINDOW or GLX_PBUFFER */
|
||||
unsigned long serial; /* # of last request processed by server */
|
||||
Bool send_event; /* true if this came for SendEvent request */
|
||||
Display *display; /* display the event was read from */
|
||||
GLXDrawable drawable; /* XID of Drawable */
|
||||
unsigned int buffer_mask; /* mask indicating which buffers are affected */
|
||||
unsigned int aux_buffer; /* which aux buffer was affected */
|
||||
int x, y;
|
||||
int width, height;
|
||||
int count; /* if nonzero, at least this many more */
|
||||
} GLXPbufferClobberEvent;
|
||||
|
||||
typedef union __GLXEvent {
|
||||
GLXPbufferClobberEvent glxpbufferclobber;
|
||||
long pad[24];
|
||||
} GLXEvent;
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
|
||||
#endif /* !__glx_h__ */
|
||||
262
CS4451/oglexamples/GL/glxtokens.h
Normal file
262
CS4451/oglexamples/GL/glxtokens.h
Normal file
@@ -0,0 +1,262 @@
|
||||
#ifndef __glxtokens_h__
|
||||
#define __glxtokens_h__
|
||||
|
||||
/*
|
||||
** The contents of this file are subject to the GLX Public License Version 1.0
|
||||
** (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, 2011 N. Shoreline Blvd., Mountain View, CA 94043
|
||||
** or at http://www.sgi.com/software/opensource/glx/license.html.
|
||||
**
|
||||
** Software distributed under the License is distributed on an "AS IS"
|
||||
** basis. ALL WARRANTIES ARE DISCLAIMED, INCLUDING, WITHOUT LIMITATION, ANY
|
||||
** IMPLIED WARRANTIES OF MERCHANTABILITY, OF FITNESS FOR A PARTICULAR
|
||||
** PURPOSE OR OF NON- INFRINGEMENT. See the License for the specific
|
||||
** language governing rights and limitations under the License.
|
||||
**
|
||||
** The Original Software is GLX version 1.2 source code, released February,
|
||||
** 1999. The developer of the Original Software is Silicon Graphics, Inc.
|
||||
** Those portions of the Subject Software created by Silicon Graphics, Inc.
|
||||
** are Copyright (c) 1991-9 Silicon Graphics, Inc. All Rights Reserved.
|
||||
**
|
||||
** $Header: /usr/_CVS/CS4451/oglexamples/GL/glxtokens.h,v 1.1 2005/01/13 08:59:31 asskoala Exp $
|
||||
*/
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
#define GLX_VERSION_1_1 1
|
||||
#define GLX_VERSION_1_2 1
|
||||
#define GLX_VERSION_1_3 1
|
||||
|
||||
/* GLX Extensions */
|
||||
#define GLX_EXT_import_context 1
|
||||
#define GLX_EXT_visual_info 1
|
||||
#define GLX_EXT_visual_rating 1
|
||||
#define GLX_SGIX_fbconfig 1
|
||||
#define GLX_SGIX_pbuffer 1
|
||||
#define GLX_NV_float_buffer 1
|
||||
#define GLX_ARB_get_proc_address 1
|
||||
|
||||
/*
|
||||
* Names for attributes to glXGetConfig.
|
||||
*/
|
||||
#define GLX_USE_GL 1 /* support GLX rendering */
|
||||
#define GLX_BUFFER_SIZE 2 /* depth of the color buffer */
|
||||
#define GLX_LEVEL 3 /* level in plane stacking */
|
||||
#define GLX_RGBA 4 /* true if RGBA mode */
|
||||
#define GLX_DOUBLEBUFFER 5 /* double buffering supported */
|
||||
#define GLX_STEREO 6 /* stereo buffering supported */
|
||||
#define GLX_AUX_BUFFERS 7 /* number of aux buffers */
|
||||
#define GLX_RED_SIZE 8 /* number of red component bits */
|
||||
#define GLX_GREEN_SIZE 9 /* number of green component bits */
|
||||
#define GLX_BLUE_SIZE 10 /* number of blue component bits */
|
||||
#define GLX_ALPHA_SIZE 11 /* number of alpha component bits */
|
||||
#define GLX_DEPTH_SIZE 12 /* number of depth bits */
|
||||
#define GLX_STENCIL_SIZE 13 /* number of stencil bits */
|
||||
#define GLX_ACCUM_RED_SIZE 14 /* number of red accum bits */
|
||||
#define GLX_ACCUM_GREEN_SIZE 15 /* number of green accum bits */
|
||||
#define GLX_ACCUM_BLUE_SIZE 16 /* number of blue accum bits */
|
||||
#define GLX_ACCUM_ALPHA_SIZE 17 /* number of alpha accum bits */
|
||||
|
||||
#define GLX_SAMPLE_BUFFERS_ARB 100000 /* number of multisample buffers */
|
||||
#define GLX_SAMPLES_ARB 100001 /* number of multisample samples */
|
||||
|
||||
/*
|
||||
* FBConfig-specific attributes
|
||||
*/
|
||||
#define GLX_X_VISUAL_TYPE 0x22
|
||||
#define GLX_CONFIG_CAVEAT 0x20 /* Like visual_info VISUAL_CAVEAT */
|
||||
#define GLX_TRANSPARENT_TYPE 0x23
|
||||
#define GLX_TRANSPARENT_INDEX_VALUE 0x24
|
||||
#define GLX_TRANSPARENT_RED_VALUE 0x25
|
||||
#define GLX_TRANSPARENT_GREEN_VALUE 0x26
|
||||
#define GLX_TRANSPARENT_BLUE_VALUE 0x27
|
||||
#define GLX_TRANSPARENT_ALPHA_VALUE 0x28
|
||||
#define GLX_DRAWABLE_TYPE 0x8010
|
||||
#define GLX_RENDER_TYPE 0x8011
|
||||
#define GLX_X_RENDERABLE 0x8012
|
||||
#define GLX_FBCONFIG_ID 0x8013
|
||||
#define GLX_MAX_PBUFFER_WIDTH 0x8016
|
||||
#define GLX_MAX_PBUFFER_HEIGHT 0x8017
|
||||
#define GLX_MAX_PBUFFER_PIXELS 0x8018
|
||||
#define GLX_VISUAL_ID 0x800B
|
||||
|
||||
#define GLX_DRAWABLE_TYPE_SGIX GLX_DRAWABLE_TYPE
|
||||
#define GLX_RENDER_TYPE_SGIX GLX_RENDER_TYPE
|
||||
#define GLX_X_RENDERABLE_SGIX GLX_X_RENDERABLE
|
||||
#define GLX_FBCONFIG_ID_SGIX GLX_FBCONFIG_ID
|
||||
#define GLX_MAX_PBUFFER_WIDTH_SGIX GLX_MAX_PBUFFER_WIDTH
|
||||
#define GLX_MAX_PBUFFER_HEIGHT_SGIX GLX_MAX_PBUFFER_HEIGHT
|
||||
#define GLX_MAX_PBUFFER_PIXELS_SGIX GLX_MAX_PBUFFER_PIXELS
|
||||
#define GLX_OPTIMAL_PBUFFER_WIDTH_SGIX 0x8019
|
||||
#define GLX_OPTIMAL_PBUFFER_HEIGHT_SGIX 0x801A
|
||||
|
||||
/*
|
||||
* Error return values from glXGetConfig. Success is indicated by
|
||||
* a value of 0.
|
||||
*/
|
||||
#define GLX_BAD_SCREEN 1 /* screen # is bad */
|
||||
#define GLX_BAD_ATTRIBUTE 2 /* attribute to get is bad */
|
||||
#define GLX_NO_EXTENSION 3 /* no glx extension on server */
|
||||
#define GLX_BAD_VISUAL 4 /* visual # not known by GLX */
|
||||
#define GLX_BAD_CONTEXT 5
|
||||
#define GLX_BAD_VALUE 6
|
||||
#define GLX_BAD_ENUM 7
|
||||
|
||||
|
||||
/* FBConfig attribute values */
|
||||
|
||||
/*
|
||||
* Generic "don't care" value for glX ChooseFBConfig attributes (except
|
||||
* GLX_LEVEL).
|
||||
*/
|
||||
#define GLX_DONT_CARE 0xFFFFFFFF
|
||||
|
||||
/* GLX_RENDER_TYPE bits */
|
||||
#define GLX_RGBA_BIT 0x00000001
|
||||
#define GLX_COLOR_INDEX_BIT 0x00000002
|
||||
#define GLX_RGBA_BIT_SGIX GLX_RGBA_BIT
|
||||
#define GLX_COLOR_INDEX_BIT_SGIX GLX_COLOR_INDEX_BIT
|
||||
|
||||
/* GLX_DRAWABLE_TYPE bits */
|
||||
#define GLX_WINDOW_BIT 0x00000001
|
||||
#define GLX_PIXMAP_BIT 0x00000002
|
||||
#define GLX_PBUFFER_BIT 0x00000004
|
||||
#define GLX_WINDOW_BIT_SGIX GLX_WINDOW_BIT
|
||||
#define GLX_PIXMAP_BIT_SGIX GLX_PIXMAP_BIT
|
||||
#define GLX_PBUFFER_BIT_SGIX GLX_PBUFFER_BIT
|
||||
|
||||
/* GLX_CONFIG_CAVEAT attribute values */
|
||||
#define GLX_NONE 0x8000
|
||||
#define GLX_SLOW_CONFIG 0x8001
|
||||
#define GLX_NON_CONFORMANT_CONFIG 0x800D
|
||||
|
||||
/* GLX_X_VISUAL_TYPE attribute values */
|
||||
#define GLX_TRUE_COLOR 0x8002
|
||||
#define GLX_DIRECT_COLOR 0x8003
|
||||
#define GLX_PSEUDO_COLOR 0x8004
|
||||
#define GLX_STATIC_COLOR 0x8005
|
||||
#define GLX_GRAY_SCALE 0x8006
|
||||
#define GLX_STATIC_GRAY 0x8007
|
||||
|
||||
/* GLX_TRANSPARENT_TYPE attribute values */
|
||||
/* #define GLX_NONE 0x8000 */
|
||||
#define GLX_TRANSPARENT_RGB 0x8008
|
||||
#define GLX_TRANSPARENT_INDEX 0x8009
|
||||
|
||||
/* glXCreateGLXPbuffer attributes */
|
||||
#define GLX_PRESERVED_CONTENTS 0x801B
|
||||
#define GLX_LARGEST_PBUFFER 0x801C
|
||||
#define GLX_PBUFFER_HEIGHT 0x8040 /* New for GLX 1.3 */
|
||||
#define GLX_PBUFFER_WIDTH 0x8041 /* New for GLX 1.3 */
|
||||
#define GLX_PRESERVED_CONTENTS_SGIX GLX_PRESERVED_CONTENTS
|
||||
#define GLX_LARGEST_PBUFFER_SGIX GLX_LARGEST_PBUFFER
|
||||
|
||||
/* glXQueryGLXPBuffer attributes */
|
||||
#define GLX_WIDTH 0x801D
|
||||
#define GLX_HEIGHT 0x801E
|
||||
#define GLX_EVENT_MASK 0x801F
|
||||
#define GLX_WIDTH_SGIX GLX_WIDTH
|
||||
#define GLX_HEIGHT_SGIX GLX_HEIGHT
|
||||
#define GLX_EVENT_MASK_SGIX GLX_EVENT_MASK
|
||||
|
||||
/* glXCreateNewContext render_type attribute values */
|
||||
#define GLX_RGBA_TYPE 0x8014
|
||||
#define GLX_COLOR_INDEX_TYPE 0x8015
|
||||
#define GLX_RGBA_TYPE_SGIX GLX_RGBA_TYPE
|
||||
#define GLX_COLOR_INDEX_TYPE_SGIX GLX_COLOR_INDEX_TYPE
|
||||
|
||||
/* glXQueryContext attributes */
|
||||
/* #define GLX_FBCONFIG_ID 0x8013 */
|
||||
/* #define GLX_RENDER_TYPE 0x8011 */
|
||||
#define GLX_SCREEN 0x800C
|
||||
|
||||
/* glXSelectEvent event mask bits */
|
||||
#define GLX_PBUFFER_CLOBBER_MASK 0x08000000
|
||||
#define GLX_PBUFFER_CLOBBER_MASK_SGIX GLX_PBUFFER_CLOBBER_MASK
|
||||
|
||||
/* GLXPbufferClobberEvent event_type values */
|
||||
#define GLX_DAMAGED 0x8020
|
||||
#define GLX_SAVED 0x8021
|
||||
#define GLX_DAMAGED_SGIX GLX_DAMAGED
|
||||
#define GLX_SAVED_SGIX GLX_SAVED
|
||||
|
||||
/* GLXPbufferClobberEvent draw_type values */
|
||||
#define GLX_WINDOW 0x8022
|
||||
#define GLX_PBUFFER 0x8023
|
||||
#define GLX_WINDOW_SGIX GLX_WINDOW
|
||||
#define GLX_PBUFFER_SGIX GLX_PBUFFER
|
||||
|
||||
/* GLXPbufferClobberEvent buffer_mask bits */
|
||||
#define GLX_FRONT_LEFT_BUFFER_BIT 0x00000001
|
||||
#define GLX_FRONT_RIGHT_BUFFER_BIT 0x00000002
|
||||
#define GLX_BACK_LEFT_BUFFER_BIT 0x00000004
|
||||
#define GLX_BACK_RIGHT_BUFFER_BIT 0x00000008
|
||||
#define GLX_AUX_BUFFERS_BIT 0x00000010
|
||||
#define GLX_DEPTH_BUFFER_BIT 0x00000020
|
||||
#define GLX_STENCIL_BUFFER_BIT 0x00000040
|
||||
#define GLX_ACCUM_BUFFER_BIT 0x00000080
|
||||
#define GLX_FRONT_LEFT_BUFFER_BIT_SGIX GLX_FRONT_LEFT_BUFFER_BIT
|
||||
#define GLX_FRONT_RIGHT_BUFFER_BIT_SGIX GLX_FRONT_RIGHT_BUFFER_BIT
|
||||
#define GLX_BACK_LEFT_BUFFER_BIT_SGIX GLX_BACK_LEFT_BUFFER_BIT
|
||||
#define GLX_BACK_RIGHT_BUFFER_BIT_SGIX GLX_BACK_RIGHT_BUFFER_BIT
|
||||
#define GLX_AUX_BUFFERS_BIT_SGIX GLX_AUX_BUFFERS_BIT
|
||||
#define GLX_DEPTH_BUFFER_BIT_SGIX GLX_DEPTH_BUFFER_BIT
|
||||
#define GLX_STENCIL_BUFFER_BIT_SGIX GLX_STENCIL_BUFFER_BIT
|
||||
#define GLX_ACCUM_BUFFER_BIT_SGIX GLX_ACCUM_BUFFER_BIT
|
||||
|
||||
/*
|
||||
* Extension return values from glXGetConfig. These are also
|
||||
* accepted as parameter values for glXChooseVisual.
|
||||
*/
|
||||
|
||||
#define GLX_X_VISUAL_TYPE_EXT 0x22 /* visual_info extension type */
|
||||
#define GLX_TRANSPARENT_TYPE_EXT 0x23 /* visual_info extension */
|
||||
#define GLX_TRANSPARENT_INDEX_VALUE_EXT 0x24 /* visual_info extension */
|
||||
#define GLX_TRANSPARENT_RED_VALUE_EXT 0x25 /* visual_info extension */
|
||||
#define GLX_TRANSPARENT_GREEN_VALUE_EXT 0x26 /* visual_info extension */
|
||||
#define GLX_TRANSPARENT_BLUE_VALUE_EXT 0x27 /* visual_info extension */
|
||||
#define GLX_TRANSPARENT_ALPHA_VALUE_EXT 0x28 /* visual_info extension */
|
||||
|
||||
/* Property values for visual_type */
|
||||
#define GLX_TRUE_COLOR_EXT 0x8002
|
||||
#define GLX_DIRECT_COLOR_EXT 0x8003
|
||||
#define GLX_PSEUDO_COLOR_EXT 0x8004
|
||||
#define GLX_STATIC_COLOR_EXT 0x8005
|
||||
#define GLX_GRAY_SCALE_EXT 0x8006
|
||||
#define GLX_STATIC_GRAY_EXT 0x8007
|
||||
|
||||
/* Property values for transparent pixel */
|
||||
#define GLX_NONE_EXT 0x8000
|
||||
#define GLX_TRANSPARENT_RGB_EXT 0x8008
|
||||
#define GLX_TRANSPARENT_INDEX_EXT 0x8009
|
||||
|
||||
/* Property values for visual_rating */
|
||||
#define GLX_VISUAL_CAVEAT_EXT 0x20 /* visual_rating extension type */
|
||||
#define GLX_SLOW_VISUAL_EXT 0x8001
|
||||
#define GLX_NON_CONFORMANT_VISUAL_EXT 0x800D
|
||||
|
||||
/*
|
||||
* Names for attributes to glXGetClientString.
|
||||
*/
|
||||
#define GLX_VENDOR 0x1
|
||||
#define GLX_VERSION 0x2
|
||||
#define GLX_EXTENSIONS 0x3
|
||||
|
||||
/*
|
||||
* Names for attributes to glXQueryContextInfoEXT.
|
||||
*/
|
||||
#define GLX_SHARE_CONTEXT_EXT 0x800A /* id of share context */
|
||||
#define GLX_VISUAL_ID_EXT 0x800B /* id of context's visual */
|
||||
#define GLX_SCREEN_EXT 0x800C /* screen number */
|
||||
|
||||
/* NV_float_buffer */
|
||||
#define GLX_FLOAT_COMPONENTS_NV 0x20B0
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
|
||||
#endif /* !__glxtokens_h__ */
|
||||
22
CS4451/oglexamples/Makefile
Normal file
22
CS4451/oglexamples/Makefile
Normal file
@@ -0,0 +1,22 @@
|
||||
CC = gcc
|
||||
|
||||
LDFLAGS = -L./lib -L/usr/lib -L/usr/X11R6/lib -lGLU -lGL -lglut -lm -lXi -lXmu
|
||||
INCLUDE = -I/usr/include -I./
|
||||
CFLAGS = $(INCLUDE) -g -Wall
|
||||
CPPFLAGS = $(CFLAGS)
|
||||
|
||||
default: all
|
||||
|
||||
liblinks:
|
||||
./checkliblinks
|
||||
|
||||
all: liblinks 3d cubes light spinner unproject viewer
|
||||
|
||||
|
||||
clean :
|
||||
rm -f *.o core 3d cubes light spinner unproject viewer
|
||||
|
||||
veryclean: clean
|
||||
rm -f *~
|
||||
|
||||
|
||||
13
CS4451/oglexamples/README.txt
Normal file
13
CS4451/oglexamples/README.txt
Normal file
@@ -0,0 +1,13 @@
|
||||
You can find here 6 short OpenGL sample programs.
|
||||
They have been tested under Linux and Windows on some States Cluster machines
|
||||
and should work well.
|
||||
Under Linux simply unzip the files. Enter the directory oglexamples and then
|
||||
type 'make'. You may need to change permissions to the file 'checkliblinks' if
|
||||
it cannot be executed (chmod u+x checkliblinks').
|
||||
|
||||
For Windows enter oglexamples/win32 and open oglexamples.dsw if using Visual
|
||||
Studio 6.0, or oglexamples.sln if using Visual Studio .NET.
|
||||
|
||||
Let me know if anything does not work at llamasi@cc.gatech.edu
|
||||
- Ignacio Llamas
|
||||
|
||||
7
CS4451/oglexamples/checkliblinks
Normal file
7
CS4451/oglexamples/checkliblinks
Normal file
@@ -0,0 +1,7 @@
|
||||
#!/bin/bash
|
||||
[ -a ./lib/libGLU.so ] || ln -s /usr/lib/libGLU.so.1 lib/libGLU.so
|
||||
[ -a ./lib/libglut.so.3 ] || ln -s libglut.so.3.7 lib/libglut.so.3
|
||||
[ -a ./lib/libglut.so ] || ln -s libglut.so.3.7 lib/libglut.so
|
||||
[ -a ./lib/libXmu.so ] || ln -s /usr/X11R6/lib/libXmu.so.6 lib/libXmu.so
|
||||
[ -a ./lib/libGL.so ] || ln -s /usr/lib/libGL.so.1 lib/libGL.so
|
||||
|
||||
206
CS4451/oglexamples/cubes.c
Normal file
206
CS4451/oglexamples/cubes.c
Normal file
@@ -0,0 +1,206 @@
|
||||
#ifdef _WIN32
|
||||
#include <windows.h>
|
||||
#endif
|
||||
#include <GL/glut.h>
|
||||
#include <stdlib.h>
|
||||
#include <stdio.h>
|
||||
|
||||
/* Create checkerboard texture */
|
||||
#define checkImageWidth 128
|
||||
#define checkImageHeight 128
|
||||
static GLubyte checkImage[checkImageHeight][checkImageWidth][4];
|
||||
static GLuint texName;
|
||||
|
||||
void makeCheckImage(void)
|
||||
{
|
||||
int i, j, c;
|
||||
|
||||
for (i = 0; i < checkImageHeight; i++) {
|
||||
for (j = 0; j < checkImageWidth; j++) {
|
||||
c = ((((i&0x8)==0)^((j&0x8)==0)))*255;
|
||||
checkImage[i][j][0] = (GLubyte) c;
|
||||
checkImage[i][j][1] = (GLubyte) c;
|
||||
checkImage[i][j][2] = (GLubyte) c;
|
||||
checkImage[i][j][3] = (GLubyte) 255;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
void init(void)
|
||||
{
|
||||
GLfloat mat_specular[] = { 1.0, 1.0, 1.0, 1.0 };
|
||||
GLfloat mat_shininess[] = { 50.0 };
|
||||
|
||||
glClearColor (0.0, 0.0, 0.0, 0.0);
|
||||
glShadeModel(GL_FLAT);
|
||||
glEnable(GL_DEPTH_TEST);
|
||||
glDepthFunc(GL_LEQUAL);
|
||||
|
||||
/* texture stuff */
|
||||
makeCheckImage();
|
||||
|
||||
glPixelStorei(GL_UNPACK_ALIGNMENT, 1);
|
||||
glGenTextures(1, &texName);
|
||||
glBindTexture(GL_TEXTURE_2D, texName);
|
||||
glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_WRAP_S, GL_REPEAT);
|
||||
glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_WRAP_T, GL_REPEAT);
|
||||
glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_NEAREST);
|
||||
glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_NEAREST);
|
||||
glTexImage2D(GL_TEXTURE_2D, 0, GL_RGBA, checkImageWidth, checkImageHeight, 0, GL_RGBA, GL_UNSIGNED_BYTE, checkImage);
|
||||
|
||||
/* lighting stuff */
|
||||
glShadeModel (GL_SMOOTH);
|
||||
|
||||
glMaterialfv(GL_FRONT_AND_BACK, GL_SPECULAR, mat_specular);
|
||||
glMaterialfv(GL_FRONT_AND_BACK, GL_SHININESS, mat_shininess);
|
||||
glEnable(GL_LIGHTING);
|
||||
glEnable(GL_LIGHT0);
|
||||
}
|
||||
|
||||
|
||||
|
||||
void display(void)
|
||||
{
|
||||
GLfloat mat_green[] = {0.0, 1.0, 0.0, 0.0};
|
||||
GLfloat mat_blue[] = {0.0, 0.0, 1.0, 0.0};
|
||||
GLfloat light_position[] = {10.0, 10.0, 10.0, 0.0};
|
||||
|
||||
/* this will be your shadow matrix. You need to specify what this contains.
|
||||
* OpenGL has a funky ordering for rows and columns
|
||||
* use this ordering for rows and columns
|
||||
*/
|
||||
|
||||
GLfloat m[16];
|
||||
|
||||
m[0]= 1; m[4]= 0; m[8] = 0; m[12]= 0;
|
||||
m[1]= 0; m[5]= 1; m[9] = 0; m[13]= 0;
|
||||
m[2]= 0; m[6]= 0; m[10]= 0; m[14]= 0;
|
||||
m[3]= 0; m[7]= 0; m[11]= 0; m[15]= 1;
|
||||
|
||||
glLoadIdentity();
|
||||
gluLookAt(10,0,5, 0,0,0, 0,0,1);
|
||||
glLightfv(GL_LIGHT0, GL_POSITION, light_position);
|
||||
glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);
|
||||
|
||||
/* draw checkered floor */
|
||||
glEnable(GL_TEXTURE_2D);
|
||||
glTexEnvf(GL_TEXTURE_ENV, GL_TEXTURE_ENV_MODE, GL_DECAL);
|
||||
glBindTexture(GL_TEXTURE_2D, texName);
|
||||
glBegin(GL_QUADS);
|
||||
|
||||
/* z=-0.01 so that the floor doesn't overlap your shadows */
|
||||
|
||||
glTexCoord2f(0.0, 0.0); glVertex3f(-4.0, -4.0, -0.01);
|
||||
glTexCoord2f(0.0, 1.0); glVertex3f(-4.0, 4.0, -0.01);
|
||||
glTexCoord2f(1.0, 1.0); glVertex3f( 4.0, 4.0, -0.01);
|
||||
glTexCoord2f(1.0, 0.0); glVertex3f( 4.0, -4.0, -0.01);
|
||||
|
||||
glEnd();
|
||||
glFlush();
|
||||
|
||||
glDisable(GL_TEXTURE_2D);
|
||||
|
||||
glPolygonMode(GL_FRONT_AND_BACK, GL_LINE);
|
||||
/* draw cubes */
|
||||
/* scale translate and draw blue cube */
|
||||
glMaterialfv(GL_FRONT_AND_BACK, GL_AMBIENT_AND_DIFFUSE, mat_blue);
|
||||
glPushMatrix();
|
||||
glTranslatef(2.5, 2.5, 0); // translate cube front and right.
|
||||
glScalef(0.5, 0.5, 3); // scale to be narrow and tall
|
||||
glTranslatef(0,0,0.5); // translate unit cube to surface
|
||||
glutSolidCube(1); // draw unit cube
|
||||
glPopMatrix();
|
||||
|
||||
|
||||
|
||||
/* scale rotate and draw green cube */
|
||||
glMaterialfv(GL_FRONT_AND_BACK, GL_AMBIENT_AND_DIFFUSE, mat_green);
|
||||
glPushMatrix();
|
||||
glTranslatef(0, -3, 0.5); // translate to left side and up so that it is on the surface
|
||||
glRotatef(90, 1, 0, 0); // rotate to its side
|
||||
glScalef(0.5, 0.5, 3); // scale to be narrow and tall
|
||||
glutSolidCube(1); // draw unit cube
|
||||
glPopMatrix();
|
||||
|
||||
glPolygonMode(GL_FRONT_AND_BACK, GL_FILL);
|
||||
|
||||
|
||||
/* apply a matrix 'm' to a cone w/o scaling, rotation, or projection */
|
||||
/* the matrix is wrong, so don't expect this to work */
|
||||
glDisable(GL_LIGHTING); // so that OpenGL doesn't shade your shadows.
|
||||
glColor3f(0.0, 0.0, 0.0); // shadow color
|
||||
|
||||
glPushMatrix();
|
||||
glMultMatrixf(m); // apply transform of matrix m
|
||||
/* draw cubes */
|
||||
/* scale translate and draw blue cube */
|
||||
glMaterialfv(GL_FRONT_AND_BACK, GL_AMBIENT_AND_DIFFUSE, mat_blue);
|
||||
glPushMatrix();
|
||||
glTranslatef(2.5, 2.5, 0); // translate cube front and right.
|
||||
glScalef(0.5, 0.5, 3); // scale to be narrow and tall
|
||||
glTranslatef(0,0,0.5); // translate unit cube to surface
|
||||
glutSolidCube(1); // draw unit cube
|
||||
glPopMatrix();
|
||||
|
||||
|
||||
|
||||
/* scale rotate and draw green cube */
|
||||
glMaterialfv(GL_FRONT_AND_BACK, GL_AMBIENT_AND_DIFFUSE, mat_green);
|
||||
glPushMatrix();
|
||||
glTranslatef(0, -3, 0.5); // translate to left side and up so that it is on the surface
|
||||
glRotatef(90, 1, 0, 0); // rotate to its side
|
||||
glScalef(0.5, 0.5, 3); // scale to be narrow and tall
|
||||
glutSolidCube(1); // draw unit cube
|
||||
glPopMatrix();
|
||||
|
||||
glPopMatrix();
|
||||
|
||||
glEnable(GL_LIGHTING); // enable lighting for future calls to display()
|
||||
glFlush();
|
||||
}
|
||||
|
||||
void reshape(int w, int h)
|
||||
{
|
||||
glViewport(0, 0, (GLsizei) w, (GLsizei) h);
|
||||
glMatrixMode(GL_PROJECTION);
|
||||
glLoadIdentity();
|
||||
gluPerspective(30.0, (GLfloat) w/(GLfloat) h, 1.0, 30.0);
|
||||
glMatrixMode(GL_MODELVIEW);
|
||||
glLoadIdentity();
|
||||
}
|
||||
|
||||
|
||||
|
||||
void keyboard (unsigned char key, int x, int y)
|
||||
{
|
||||
switch (key) {
|
||||
case 'q':
|
||||
exit(0);
|
||||
break;
|
||||
|
||||
default:
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
int main(int argc, char** argv)
|
||||
{
|
||||
glutInit(&argc, argv);
|
||||
glutInitDisplayMode(GLUT_SINGLE | GLUT_RGB | GLUT_DEPTH);
|
||||
glutInitWindowSize(500, 500);
|
||||
glutInitWindowPosition(100, 100);
|
||||
glutCreateWindow(argv[0]);
|
||||
init();
|
||||
|
||||
glutDisplayFunc(display);
|
||||
glutReshapeFunc(reshape);
|
||||
glutKeyboardFunc(keyboard);
|
||||
|
||||
glutMainLoop();
|
||||
|
||||
return EXIT_SUCCESS;
|
||||
}
|
||||
|
||||
|
||||
|
||||
59
CS4451/oglexamples/light.c
Normal file
59
CS4451/oglexamples/light.c
Normal file
@@ -0,0 +1,59 @@
|
||||
#ifdef _WIN32
|
||||
#include <windows.h>
|
||||
#endif
|
||||
#include <GL/glut.h>
|
||||
#include <stdlib.h>
|
||||
|
||||
void init(void)
|
||||
{
|
||||
GLfloat mat_specular[] = { 1.0, 1.0, 1.0, 1.0 };
|
||||
GLfloat mat_shininess[] = { 50.0 };
|
||||
GLfloat light_position[] = { 1.0, 1.0, 1.0, 0.0 };
|
||||
glClearColor (0.0, 0.0, 0.0, 0.0);
|
||||
glShadeModel (GL_SMOOTH);
|
||||
|
||||
glMaterialfv(GL_FRONT, GL_SPECULAR, mat_specular);
|
||||
glMaterialfv(GL_FRONT, GL_SHININESS, mat_shininess);
|
||||
glLightfv(GL_LIGHT0, GL_POSITION, light_position);
|
||||
|
||||
glEnable(GL_LIGHTING);
|
||||
glEnable(GL_LIGHT0);
|
||||
glEnable(GL_DEPTH_TEST);
|
||||
}
|
||||
|
||||
void display(void)
|
||||
{
|
||||
glClear (GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);
|
||||
glutSolidSphere (1.0, 20, 16);
|
||||
glFlush ();
|
||||
}
|
||||
|
||||
void reshape (int w, int h)
|
||||
{
|
||||
glViewport (0, 0, (GLsizei) w, (GLsizei) h);
|
||||
glMatrixMode (GL_PROJECTION);
|
||||
glLoadIdentity();
|
||||
if (w <= h)
|
||||
glOrtho (-1.5, 1.5, -1.5*(GLfloat)h/(GLfloat)w,
|
||||
1.5*(GLfloat)h/(GLfloat)w, -10.0, 10.0);
|
||||
else
|
||||
glOrtho (-1.5*(GLfloat)w/(GLfloat)h,
|
||||
1.5*(GLfloat)w/(GLfloat)h, -1.5, 1.5, -10.0, 10.0);
|
||||
glMatrixMode(GL_MODELVIEW);
|
||||
glLoadIdentity();
|
||||
}
|
||||
|
||||
int main(int argc, char** argv)
|
||||
{
|
||||
glutInit(&argc, argv);
|
||||
glutInitDisplayMode (GLUT_SINGLE | GLUT_RGB | GLUT_DEPTH);
|
||||
glutInitWindowSize (500, 500);
|
||||
glutInitWindowPosition (100, 100);
|
||||
glutCreateWindow (argv[0]);
|
||||
init ();
|
||||
glutDisplayFunc(display);
|
||||
glutReshapeFunc(reshape);
|
||||
glutMainLoop();
|
||||
return EXIT_SUCCESS;
|
||||
}
|
||||
|
||||
131
CS4451/oglexamples/spinner.cpp
Normal file
131
CS4451/oglexamples/spinner.cpp
Normal file
@@ -0,0 +1,131 @@
|
||||
/* Rotates3D points. Changes points each time mouse is clicked (courtesy of Brooks van Horn) */
|
||||
#ifdef _WIN32
|
||||
#include <windows.h>
|
||||
#endif
|
||||
#include <GL/glut.h>
|
||||
#include <stdlib.h>
|
||||
|
||||
void mouse( int, int, int, int );
|
||||
void display( void );
|
||||
void reshape( int, int );
|
||||
void keyboard( unsigned char, int, int );
|
||||
void Idle( void );
|
||||
void InitializeVariables( void ); /// forwarding functions
|
||||
|
||||
int xdim, ydim; /// screen dimensions
|
||||
|
||||
struct vPoint
|
||||
{
|
||||
inline float &operator[] ( int index )
|
||||
{
|
||||
return element[index];
|
||||
}
|
||||
float element[3];
|
||||
}; //
|
||||
|
||||
const float X_STEP = 0.005;
|
||||
const float Y_STEP = 0.020;
|
||||
const float Z_STEP = 0.025; //
|
||||
|
||||
bool flag; /// flag to tell us if there is anything to draw yet/
|
||||
|
||||
vPoint rotation; // current rotation
|
||||
|
||||
const int MAX_DOTS = 10; /// # of dots to generate and render/
|
||||
vPoint dots[ MAX_DOTS ]; /// the set of points to render/
|
||||
|
||||
int main( int argc, char *argv[] )
|
||||
{
|
||||
InitializeVariables(); /// nothing to do with OpenGL. My function that zeroes variables and such stuff./
|
||||
|
||||
xdim = ( argc > 1 ) ? atoi( argv[ 1 ] ) : 500; ydim = ( argc > 2 ) ? atoi( argv[ 2 ] ) : 500;
|
||||
|
||||
glutInit( &argc, argv ); //* Initialization function *//
|
||||
glutInitDisplayMode( GLUT_DOUBLE | GLUT_RGB ); /// Set double buffer and GRB modes/
|
||||
glutInitWindowSize( xdim, ydim ); /// Set the screen size/
|
||||
glutCreateWindow( "This is the title of the window.");
|
||||
glClearColor( 0.0, 0.0, 0.0, 0.0 ); /// clear color and alpha at each pixel/
|
||||
glShadeModel( GL_FLAT ); /// set shading mode to flat (constant color for each polygon)/
|
||||
glutDisplayFunc( display ); /// tells OpenGL what function to call when it needs to redraw/
|
||||
glutReshapeFunc( reshape ); /// tells OpenGL what function to call when window is reshaped/
|
||||
glutMouseFunc( mouse ); /// tells OpenGL what function to call when a mouse button is pressed/
|
||||
glutKeyboardFunc( keyboard ); /// tells OpenGL to call the keyboard function with current parameters/
|
||||
glutIdleFunc( Idle );
|
||||
glutMainLoop(); /// important call to include after the above 3/
|
||||
|
||||
return EXIT_SUCCESS;
|
||||
}
|
||||
|
||||
void InitializeVariables( void ) {rotation[ 0 ] = rotation[ 1 ] = rotation[ 2 ] = 0.0; flag = true; }
|
||||
|
||||
void mouse( int button, int state, int x, int y )
|
||||
/*
|
||||
button: GLUT_LEFT_BUTTON or GLUT_MIDDLE_BUTTON or GLUT_RIGHT_BUTTON,
|
||||
state : state of the button: pressed (GLUT_DOWN) or not pressed (GLUT_UP),
|
||||
x, y : position of mouse
|
||||
*/
|
||||
{
|
||||
|
||||
if ( state == GLUT_UP ) return ; /// we don't care when the mouse button is released/
|
||||
|
||||
for (int i = 0; i<MAX_DOTS; i++) for (int j = 0; j<3; j++) dots[i][j] = (float) rand() / (float) RAND_MAX; /// Generate dots/
|
||||
|
||||
flag = false; /// we now have something to display/
|
||||
|
||||
glutPostRedisplay();} /// need to call display again so that a new thing is put on the screen/
|
||||
|
||||
|
||||
|
||||
void keyboard( unsigned char c, int x, int y )
|
||||
//* c: ASCII character pressed (excluding shift, ctrl, alt), (x,y) = position of the mouse */
|
||||
{
|
||||
if ( c == 27 ) exit( 0 );
|
||||
} // "escape" key
|
||||
|
||||
void Idle( void )
|
||||
{
|
||||
rotation[0]+=X_STEP; rotation[1]+=Y_STEP;
|
||||
rotation[2]+=Z_STEP; glutPostRedisplay();
|
||||
}
|
||||
|
||||
void display( void )
|
||||
{
|
||||
|
||||
glClear( GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT );
|
||||
|
||||
if( flag )
|
||||
{
|
||||
glutSwapBuffers();
|
||||
return;
|
||||
}
|
||||
glPushMatrix(); /// push matrix on stack/
|
||||
|
||||
glColor3f( 1.0, 1.0, 1.0 ); /// Here I specify a color by giving R-G-B values from 0 to 1./
|
||||
glTranslatef( 0.0, 0.0, -3.0 ); /// move the dots so that we can see them/
|
||||
glRotatef(rotation[0],1,0,0); glRotatef(rotation[1],0,1,0);
|
||||
glRotatef(rotation[2],0,0,1); /// rotate the dots/
|
||||
|
||||
glBegin( GL_POINTS );
|
||||
|
||||
for ( int i = 0; i < MAX_DOTS; i++ )
|
||||
glVertex3f(dots[i][0],dots[i][1],dots[i][2]);
|
||||
|
||||
glEnd();
|
||||
|
||||
glPopMatrix();
|
||||
glutSwapBuffers();
|
||||
} /// This says: "DRAW WHAT YOU'VE GOT!"/
|
||||
|
||||
|
||||
|
||||
void reshape( int new_width, int new_height )
|
||||
{
|
||||
xdim = new_width; ydim = new_height;
|
||||
|
||||
glViewport(0,0,(GLsizei) new_width, (GLsizei) new_height ); /// This resets the viewing port/
|
||||
glMatrixMode( GL_PROJECTION ); /// This resets the use of Matrices based upon the new view/
|
||||
glLoadIdentity();
|
||||
gluPerspective( 60.0, (GLfloat) xdim / (GLfloat) ydim, 0.1, 20.0 ); /// reset the viewing projection/
|
||||
glMatrixMode( GL_MODELVIEW );
|
||||
}
|
||||
|
||||
73
CS4451/oglexamples/unproject.c
Normal file
73
CS4451/oglexamples/unproject.c
Normal file
@@ -0,0 +1,73 @@
|
||||
#ifdef _WIN32
|
||||
#include <windows.h>
|
||||
#endif
|
||||
#include <GL/glut.h>
|
||||
#include <stdlib.h>
|
||||
#include <stdio.h>
|
||||
|
||||
void display(void)
|
||||
{
|
||||
glClear(GL_COLOR_BUFFER_BIT);
|
||||
glFlush();
|
||||
}
|
||||
|
||||
void reshape(int w, int h)
|
||||
{
|
||||
glViewport (0, 0, (GLsizei) w, (GLsizei) h);
|
||||
glMatrixMode(GL_PROJECTION);
|
||||
glLoadIdentity();
|
||||
gluPerspective (45.0, (GLfloat) w/(GLfloat) h, 1.0, 100.0);
|
||||
glMatrixMode(GL_MODELVIEW);
|
||||
glLoadIdentity();
|
||||
}
|
||||
|
||||
void mouse(int button, int state, int x, int y)
|
||||
{
|
||||
GLint viewport[4];
|
||||
GLdouble mvmatrix[16], projmatrix[16];
|
||||
GLint realy; /* OpenGL y coordinate position */
|
||||
GLdouble wx, wy, wz; /* returned world x, y, z coords */
|
||||
|
||||
switch (button) {
|
||||
case GLUT_LEFT_BUTTON:
|
||||
if (state == GLUT_DOWN) {
|
||||
glGetIntegerv (GL_VIEWPORT, viewport);
|
||||
glGetDoublev (GL_MODELVIEW_MATRIX, mvmatrix);
|
||||
glGetDoublev (GL_PROJECTION_MATRIX, projmatrix);
|
||||
/* note viewport[3] is height of window in pixels */
|
||||
realy = viewport[3] - (GLint) y - 1;
|
||||
printf ("Coordinates at cursor are (%4d, %4d)\n",
|
||||
x, realy);
|
||||
gluUnProject ((GLdouble) x, (GLdouble) realy, 0.0,
|
||||
mvmatrix, projmatrix, viewport, &wx, &wy, &wz);
|
||||
printf ("World coords at z=0.0 are (%f, %f, %f)\n",
|
||||
wx, wy, wz);
|
||||
gluUnProject ((GLdouble) x, (GLdouble) realy, 1.0,
|
||||
mvmatrix, projmatrix, viewport, &wx, &wy, &wz);
|
||||
printf ("World coords at z=1.0 are (%f, %f, %f)\n",
|
||||
wx, wy, wz);
|
||||
}
|
||||
break;
|
||||
case GLUT_RIGHT_BUTTON:
|
||||
if (state == GLUT_DOWN)
|
||||
exit(0);
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
int main(int argc, char** argv)
|
||||
{
|
||||
glutInit(&argc, argv);
|
||||
glutInitDisplayMode (GLUT_SINGLE | GLUT_RGB);
|
||||
glutInitWindowSize (500, 500);
|
||||
glutInitWindowPosition (100, 100);
|
||||
glutCreateWindow (argv[0]);
|
||||
glutDisplayFunc(display);
|
||||
glutReshapeFunc(reshape);
|
||||
glutMouseFunc(mouse);
|
||||
glutMainLoop();
|
||||
return EXIT_SUCCESS;
|
||||
}
|
||||
|
||||
307
CS4451/oglexamples/viewer.cpp
Normal file
307
CS4451/oglexamples/viewer.cpp
Normal file
@@ -0,0 +1,307 @@
|
||||
/*
|
||||
Simple geometry viewer:
|
||||
Left mouse: rotate;
|
||||
Middle mouse: zoom;
|
||||
Right mouse: menu;
|
||||
ESC to quit
|
||||
|
||||
The function InitGeometry() initializes the geometry that will be displayed.
|
||||
*/
|
||||
#ifdef _WIN32
|
||||
#include <windows.h>
|
||||
#endif
|
||||
#include <GL/glut.h>
|
||||
#include <assert.h>
|
||||
#include <math.h>
|
||||
#include <stdlib.h>
|
||||
|
||||
#define MAX_TRIANGLES 10
|
||||
|
||||
struct Point{ float x[3]; float n[3]; };
|
||||
struct Triangle{ Point v[3]; };
|
||||
|
||||
Triangle triangleList[MAX_TRIANGLES];
|
||||
int triangleCount = 0;
|
||||
|
||||
void InitGeometry();
|
||||
|
||||
/* Viewer state */
|
||||
float sphi=90.0, stheta=45.0;
|
||||
float sdepth = 10;
|
||||
float zNear=1.0, zFar=100.0;
|
||||
float aspect = 5.0/4.0;
|
||||
float xcam = 0, ycam = 0;
|
||||
long xsize, ysize;
|
||||
int downX, downY;
|
||||
bool leftButton = false, middleButton = false;
|
||||
int i,j;
|
||||
GLfloat light0Position[] = { 0, 1, 0, 1.0};
|
||||
int displayMenu, mainMenu;
|
||||
enum {WIREFRAME, HIDDENLINE, FLATSHADED, SMOOTHSHADED};
|
||||
int displayMode = WIREFRAME;
|
||||
|
||||
void MyIdleFunc(void) { glutPostRedisplay();} /* things to do while idle */
|
||||
void RunIdleFunc(void) { glutIdleFunc(MyIdleFunc); }
|
||||
void PauseIdleFunc(void) { glutIdleFunc(NULL); }
|
||||
|
||||
void DrawSmoothShaded(void) {
|
||||
int i;
|
||||
assert( triangleCount < MAX_TRIANGLES );
|
||||
glColor3f(0.8f, 0.2f, 0.8f);
|
||||
glBegin( GL_TRIANGLES );
|
||||
for ( i = 0; i < triangleCount; ++i ) {
|
||||
glNormal3fv( triangleList[i].v[0].n );
|
||||
glVertex3fv( triangleList[i].v[0].x );
|
||||
glNormal3fv( triangleList[i].v[1].n );
|
||||
glVertex3fv( triangleList[i].v[1].x );
|
||||
glNormal3fv( triangleList[i].v[2].n );
|
||||
glVertex3fv( triangleList[i].v[2].x );
|
||||
}
|
||||
glEnd();
|
||||
}
|
||||
|
||||
void DrawWireframe(void) {
|
||||
int i;
|
||||
glColor3f(1.0, 1.0, 1.0);
|
||||
for ( i = 0; i < triangleCount; ++i ) {
|
||||
glBegin(GL_LINE_STRIP);
|
||||
glVertex3fv( triangleList[i].v[0].x );
|
||||
glVertex3fv( triangleList[i].v[1].x );
|
||||
glVertex3fv( triangleList[i].v[2].x );
|
||||
glVertex3fv( triangleList[i].v[0].x );
|
||||
glEnd();
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
void DrawFlatShaded(void) {
|
||||
int i;
|
||||
glEnable(GL_POLYGON_OFFSET_FILL);
|
||||
glColor3f(0.8f, 0.2f, 0.8f);
|
||||
glBegin ( GL_TRIANGLES ) ;
|
||||
for ( i = 0; i < triangleCount; ++i ) {
|
||||
glVertex3fv( triangleList[i].v[0].x );
|
||||
glVertex3fv( triangleList[i].v[1].x );
|
||||
glVertex3fv( triangleList[i].v[2].x ); }
|
||||
glEnd();
|
||||
|
||||
glDisable(GL_POLYGON_OFFSET_FILL);
|
||||
}
|
||||
|
||||
|
||||
void DrawHiddenLine(void) {
|
||||
|
||||
glEnable(GL_POLYGON_OFFSET_FILL);
|
||||
glColor3f(0,0,0);
|
||||
|
||||
glBegin( GL_TRIANGLES );
|
||||
for ( i = 0; i < triangleCount; ++i ) {
|
||||
glVertex3fv( triangleList[i].v[0].x );
|
||||
glVertex3fv( triangleList[i].v[1].x );
|
||||
glVertex3fv( triangleList[i].v[2].x );
|
||||
}
|
||||
glEnd();
|
||||
|
||||
glDisable(GL_POLYGON_OFFSET_FILL);
|
||||
glColor3f(1.0,1.0,1.0);
|
||||
glPolygonMode(GL_FRONT_AND_BACK, GL_LINE);
|
||||
|
||||
glBegin( GL_TRIANGLES );
|
||||
for ( i = 0; i < triangleCount; ++i ) {
|
||||
glVertex3fv( triangleList[i].v[0].x );
|
||||
glVertex3fv( triangleList[i].v[1].x );
|
||||
glVertex3fv( triangleList[i].v[2].x );
|
||||
}
|
||||
glEnd();
|
||||
|
||||
glPolygonMode(GL_FRONT_AND_BACK, GL_FILL);
|
||||
}
|
||||
|
||||
|
||||
|
||||
void ReshapeCallback(int width, int height) {
|
||||
xsize = width;
|
||||
ysize = height;
|
||||
aspect = (float)xsize/(float)ysize;
|
||||
glViewport(0, 0, xsize, ysize);
|
||||
glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);
|
||||
glutPostRedisplay();
|
||||
}
|
||||
|
||||
|
||||
void SetDisplayMenu(int value) {
|
||||
displayMode = value;
|
||||
switch(value) {
|
||||
case WIREFRAME: glShadeModel(GL_FLAT); glDisable(GL_LIGHTING); break;
|
||||
case HIDDENLINE: glShadeModel(GL_FLAT); glDisable(GL_LIGHTING); break;
|
||||
case FLATSHADED: glShadeModel(GL_FLAT); glEnable(GL_LIGHTING); break;
|
||||
case SMOOTHSHADED: glShadeModel(GL_SMOOTH); glEnable(GL_LIGHTING); break;
|
||||
}
|
||||
glutPostRedisplay();
|
||||
}
|
||||
|
||||
|
||||
void SetMainMenu(int value)
|
||||
{
|
||||
switch(value)
|
||||
{
|
||||
case 99: exit(0); break;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
void DisplayCallback(void) {
|
||||
glClear( GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT );
|
||||
glMatrixMode(GL_PROJECTION);
|
||||
glLoadIdentity();
|
||||
gluPerspective(64.0, aspect, zNear, zFar);
|
||||
glMatrixMode(GL_MODELVIEW);
|
||||
glLoadIdentity();
|
||||
glTranslatef(0.0,0.0,-sdepth);
|
||||
glRotatef(-stheta, 1.0, 0.0, 0.0);
|
||||
glRotatef(sphi, 0.0, 0.0, 1.0);
|
||||
switch (displayMode) {
|
||||
case WIREFRAME: DrawWireframe(); break;
|
||||
case HIDDENLINE: DrawHiddenLine(); break;
|
||||
case FLATSHADED: DrawFlatShaded(); break;
|
||||
case SMOOTHSHADED: DrawSmoothShaded(); break;
|
||||
}
|
||||
glutSwapBuffers();
|
||||
}
|
||||
|
||||
|
||||
void KeyboardCallback(unsigned char ch, int x, int y) {
|
||||
switch(ch){
|
||||
case 27: exit(0);break;
|
||||
}
|
||||
|
||||
glutPostRedisplay();
|
||||
|
||||
}
|
||||
|
||||
|
||||
void MouseCallback(int button, int state, int x, int y) {
|
||||
downX = x; downY = y;
|
||||
leftButton = ((button == GLUT_LEFT_BUTTON) && (state == GLUT_DOWN));
|
||||
middleButton = ((button == GLUT_MIDDLE_BUTTON) && (state == GLUT_DOWN));
|
||||
glutPostRedisplay();
|
||||
}
|
||||
|
||||
|
||||
void MotionCallback(int x, int y) {
|
||||
|
||||
if(leftButton){sphi+=(float)(x-downX)/4.0;stheta+=(float)(downY-y)/4.0;}
|
||||
// rotate
|
||||
|
||||
if (middleButton){sdepth += (float)(downY - y) / 10.0; } // scale
|
||||
|
||||
downX = x; downY = y;
|
||||
|
||||
glutPostRedisplay();
|
||||
}
|
||||
|
||||
|
||||
void InitGL() {
|
||||
|
||||
glutInitDisplayMode(GLUT_DOUBLE | GLUT_RGB | GLUT_DEPTH);
|
||||
glutInitWindowSize(500, 500);
|
||||
glutCreateWindow("cs175 Triangle Viewer");
|
||||
glEnable(GL_DEPTH_TEST);
|
||||
glDepthFunc(GL_LEQUAL);
|
||||
glClearColor(0.0, 0.0, 0.0, 0.0);
|
||||
glPolygonOffset(1.0, 1.0);
|
||||
glDisable(GL_CULL_FACE);
|
||||
glHint(GL_LINE_SMOOTH_HINT, GL_NICEST);
|
||||
glHint(GL_POLYGON_SMOOTH_HINT, GL_NICEST);
|
||||
glHint(GL_PERSPECTIVE_CORRECTION_HINT, GL_NICEST);
|
||||
glEnable(GL_COLOR_MATERIAL);
|
||||
glColorMaterial(GL_FRONT, GL_DIFFUSE);
|
||||
glLightfv (GL_LIGHT0, GL_POSITION, light0Position);
|
||||
glEnable(GL_LIGHT0);
|
||||
glutReshapeFunc(ReshapeCallback);
|
||||
glutDisplayFunc(DisplayCallback);
|
||||
glutKeyboardFunc(KeyboardCallback);
|
||||
glutMouseFunc(MouseCallback);
|
||||
glutMotionFunc(MotionCallback);
|
||||
}
|
||||
|
||||
|
||||
void InitMenu() {
|
||||
displayMenu = glutCreateMenu(SetDisplayMenu);
|
||||
glutAddMenuEntry("Wireframe", WIREFRAME);
|
||||
glutAddMenuEntry("Hidden Line", HIDDENLINE);
|
||||
glutAddMenuEntry("Flat Shaded", FLATSHADED);
|
||||
glutAddMenuEntry("Smooth Shaded", SMOOTHSHADED);
|
||||
|
||||
mainMenu = glutCreateMenu(SetMainMenu);
|
||||
glutAddSubMenu("Display", displayMenu);
|
||||
glutAddMenuEntry("Exit", 99);
|
||||
glutAttachMenu(GLUT_RIGHT_BUTTON);
|
||||
}
|
||||
|
||||
|
||||
void InitGeometry() {
|
||||
|
||||
triangleCount = 2;
|
||||
/* coordinates */
|
||||
triangleList[0].v[0].x[0] = 0;
|
||||
triangleList[0].v[0].x[1] = 0;
|
||||
triangleList[0].v[0].x[2] = 0;
|
||||
|
||||
triangleList[0].v[1].x[0] = 0;
|
||||
triangleList[0].v[1].x[1] = 1;
|
||||
triangleList[0].v[1].x[2] = 0;
|
||||
|
||||
triangleList[0].v[2].x[0] = 1;
|
||||
triangleList[0].v[2].x[1] = 0;
|
||||
triangleList[0].v[2].x[2] = 0;
|
||||
|
||||
triangleList[1].v[0].x[0] = 0;
|
||||
triangleList[1].v[0].x[1] = 0;
|
||||
triangleList[1].v[0].x[2] = 0;
|
||||
|
||||
triangleList[1].v[1].x[0] = 0;
|
||||
triangleList[1].v[1].x[1] = 0;
|
||||
triangleList[1].v[1].x[2] = 1;
|
||||
|
||||
triangleList[1].v[2].x[0] = 0;
|
||||
triangleList[1].v[2].x[1] = 1;
|
||||
triangleList[1].v[2].x[2] = 0;
|
||||
|
||||
/* normals */
|
||||
triangleList[0].v[0].n[0] = 0.7;
|
||||
triangleList[0].v[0].n[1] = 0;
|
||||
triangleList[0].v[0].n[2] = 0.7;
|
||||
|
||||
triangleList[0].v[1].n[0] = 0.7;
|
||||
triangleList[0].v[1].n[1] = 0;
|
||||
triangleList[0].v[1].n[2] = 0.7;
|
||||
|
||||
triangleList[0].v[2].n[0] = 0;
|
||||
triangleList[0].v[2].n[1] = 0;
|
||||
triangleList[0].v[2].n[2] = 1;
|
||||
|
||||
triangleList[1].v[0].n[0] = 0.7;
|
||||
triangleList[1].v[0].n[1] = 0;
|
||||
triangleList[1].v[0].n[2] = 0.7;
|
||||
|
||||
triangleList[1].v[1].n[0] = 1;
|
||||
triangleList[1].v[1].n[1] = 0;
|
||||
triangleList[1].v[1].n[2] = 0;
|
||||
|
||||
triangleList[1].v[2].n[0] = 0.7;
|
||||
triangleList[1].v[2].n[1] = 0;
|
||||
triangleList[1].v[2].n[2] = 0.7;
|
||||
}
|
||||
|
||||
|
||||
int main(int argc, char **argv) {
|
||||
glutInit(&argc, argv);
|
||||
InitGL();
|
||||
InitMenu();
|
||||
InitGeometry();
|
||||
glutMainLoop();
|
||||
|
||||
return EXIT_SUCCESS;
|
||||
}
|
||||
|
||||
92
CS4451/oglexamples/win32/3d.dsp
Normal file
92
CS4451/oglexamples/win32/3d.dsp
Normal file
@@ -0,0 +1,92 @@
|
||||
# Microsoft Developer Studio Project File - Name="3d" - Package Owner=<4>
|
||||
# Microsoft Developer Studio Generated Build File, Format Version 6.00
|
||||
# ** DO NOT EDIT **
|
||||
|
||||
# TARGTYPE "Win32 (x86) Console Application" 0x0103
|
||||
|
||||
CFG=3d - Win32 Debug
|
||||
!MESSAGE This is not a valid makefile. To build this project using NMAKE,
|
||||
!MESSAGE use the Export Makefile command and run
|
||||
!MESSAGE
|
||||
!MESSAGE NMAKE /f "3d.mak".
|
||||
!MESSAGE
|
||||
!MESSAGE You can specify a configuration when running NMAKE
|
||||
!MESSAGE by defining the macro CFG on the command line. For example:
|
||||
!MESSAGE
|
||||
!MESSAGE NMAKE /f "3d.mak" CFG="3d - Win32 Debug"
|
||||
!MESSAGE
|
||||
!MESSAGE Possible choices for configuration are:
|
||||
!MESSAGE
|
||||
!MESSAGE "3d - Win32 Release" (based on "Win32 (x86) Console Application")
|
||||
!MESSAGE "3d - Win32 Debug" (based on "Win32 (x86) Console Application")
|
||||
!MESSAGE
|
||||
|
||||
# Begin Project
|
||||
# PROP AllowPerConfigDependencies 0
|
||||
# PROP Scc_ProjName ""
|
||||
# PROP Scc_LocalPath ""
|
||||
CPP=cl.exe
|
||||
RSC=rc.exe
|
||||
|
||||
!IF "$(CFG)" == "3d - Win32 Release"
|
||||
|
||||
# PROP BASE Use_MFC 0
|
||||
# PROP BASE Use_Debug_Libraries 0
|
||||
# PROP BASE Output_Dir "Release"
|
||||
# PROP BASE Intermediate_Dir "Release"
|
||||
# PROP BASE Target_Dir ""
|
||||
# PROP Use_MFC 0
|
||||
# PROP Use_Debug_Libraries 0
|
||||
# PROP Output_Dir "Release"
|
||||
# PROP Intermediate_Dir "Release"
|
||||
# PROP Target_Dir ""
|
||||
# ADD BASE CPP /nologo /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /c
|
||||
# ADD CPP /nologo /W3 /GX /O2 /I "./" /D "WIN32" /D "NDEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /c
|
||||
# ADD BASE RSC /l 0x409 /d "NDEBUG"
|
||||
# ADD RSC /l 0x409 /d "NDEBUG"
|
||||
BSC32=bscmake.exe
|
||||
# ADD BASE BSC32 /nologo
|
||||
# ADD BSC32 /nologo
|
||||
LINK32=link.exe
|
||||
# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /machine:I386
|
||||
# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib opengl32.lib glu32.lib glut32.lib /nologo /subsystem:console /machine:I386 /libpath:"./lib"
|
||||
|
||||
!ELSEIF "$(CFG)" == "3d - Win32 Debug"
|
||||
|
||||
# PROP BASE Use_MFC 0
|
||||
# PROP BASE Use_Debug_Libraries 1
|
||||
# PROP BASE Output_Dir "3d___Win32_Debug"
|
||||
# PROP BASE Intermediate_Dir "3d___Win32_Debug"
|
||||
# PROP BASE Target_Dir ""
|
||||
# PROP Use_MFC 0
|
||||
# PROP Use_Debug_Libraries 1
|
||||
# PROP Output_Dir "3d___Win32_Debug"
|
||||
# PROP Intermediate_Dir "3d___Win32_Debug"
|
||||
# PROP Target_Dir ""
|
||||
# ADD BASE CPP /nologo /W3 /Gm /GX /ZI /Od /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /GZ /c
|
||||
# ADD CPP /nologo /W3 /Gm /GX /ZI /Od /I "./" /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /GZ /c
|
||||
# ADD BASE RSC /l 0x409 /d "_DEBUG"
|
||||
# ADD RSC /l 0x409 /d "_DEBUG"
|
||||
BSC32=bscmake.exe
|
||||
# ADD BASE BSC32 /nologo
|
||||
# ADD BSC32 /nologo
|
||||
LINK32=link.exe
|
||||
# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /debug /machine:I386 /pdbtype:sept
|
||||
# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib opengl32.lib glu32.lib glut32.lib /nologo /subsystem:console /debug /machine:I386 /pdbtype:sept /libpath:"./lib"
|
||||
|
||||
!ENDIF
|
||||
|
||||
# Begin Target
|
||||
|
||||
# Name "3d - Win32 Release"
|
||||
# Name "3d - Win32 Debug"
|
||||
# Begin Group "Source Files"
|
||||
|
||||
# PROP Default_Filter "cpp;c;cxx;rc;def;r;odl;idl;hpj;bat"
|
||||
# Begin Source File
|
||||
|
||||
SOURCE=..\3d.c
|
||||
# End Source File
|
||||
# End Group
|
||||
# End Target
|
||||
# End Project
|
||||
148
CS4451/oglexamples/win32/3d.vcproj
Normal file
148
CS4451/oglexamples/win32/3d.vcproj
Normal file
@@ -0,0 +1,148 @@
|
||||
<?xml version="1.0" encoding="Windows-1252"?>
|
||||
<VisualStudioProject
|
||||
ProjectType="Visual C++"
|
||||
Version="7.10"
|
||||
Name="3d"
|
||||
SccProjectName=""
|
||||
SccLocalPath="">
|
||||
<Platforms>
|
||||
<Platform
|
||||
Name="Win32"/>
|
||||
</Platforms>
|
||||
<Configurations>
|
||||
<Configuration
|
||||
Name="Release|Win32"
|
||||
OutputDirectory=".\Release"
|
||||
IntermediateDirectory=".\Release"
|
||||
ConfigurationType="1"
|
||||
UseOfMFC="0"
|
||||
ATLMinimizesCRunTimeLibraryUsage="FALSE"
|
||||
CharacterSet="2">
|
||||
<Tool
|
||||
Name="VCCLCompilerTool"
|
||||
InlineFunctionExpansion="1"
|
||||
AdditionalIncludeDirectories="./"
|
||||
PreprocessorDefinitions="WIN32,NDEBUG,_CONSOLE"
|
||||
StringPooling="TRUE"
|
||||
RuntimeLibrary="4"
|
||||
EnableFunctionLevelLinking="TRUE"
|
||||
UsePrecompiledHeader="2"
|
||||
PrecompiledHeaderFile=".\Release/3d.pch"
|
||||
AssemblerListingLocation=".\Release/"
|
||||
ObjectFile=".\Release/"
|
||||
ProgramDataBaseFileName=".\Release/"
|
||||
WarningLevel="3"
|
||||
SuppressStartupBanner="TRUE"
|
||||
CompileAs="0"/>
|
||||
<Tool
|
||||
Name="VCCustomBuildTool"/>
|
||||
<Tool
|
||||
Name="VCLinkerTool"
|
||||
AdditionalOptions="/MACHINE:I386"
|
||||
AdditionalDependencies="odbc32.lib odbccp32.lib opengl32.lib glu32.lib glut32.lib"
|
||||
OutputFile=".\Release/3d.exe"
|
||||
LinkIncremental="1"
|
||||
SuppressStartupBanner="TRUE"
|
||||
AdditionalLibraryDirectories="./lib"
|
||||
ProgramDatabaseFile=".\Release/3d.pdb"
|
||||
SubSystem="1"/>
|
||||
<Tool
|
||||
Name="VCMIDLTool"
|
||||
TypeLibraryName=".\Release/3d.tlb"/>
|
||||
<Tool
|
||||
Name="VCPostBuildEventTool"/>
|
||||
<Tool
|
||||
Name="VCPreBuildEventTool"/>
|
||||
<Tool
|
||||
Name="VCPreLinkEventTool"/>
|
||||
<Tool
|
||||
Name="VCResourceCompilerTool"
|
||||
PreprocessorDefinitions="NDEBUG"
|
||||
Culture="1033"/>
|
||||
<Tool
|
||||
Name="VCWebServiceProxyGeneratorTool"/>
|
||||
<Tool
|
||||
Name="VCXMLDataGeneratorTool"/>
|
||||
<Tool
|
||||
Name="VCWebDeploymentTool"/>
|
||||
<Tool
|
||||
Name="VCManagedWrapperGeneratorTool"/>
|
||||
<Tool
|
||||
Name="VCAuxiliaryManagedWrapperGeneratorTool"/>
|
||||
</Configuration>
|
||||
<Configuration
|
||||
Name="Debug|Win32"
|
||||
OutputDirectory=".\3d___Win32_Debug"
|
||||
IntermediateDirectory=".\3d___Win32_Debug"
|
||||
ConfigurationType="1"
|
||||
UseOfMFC="0"
|
||||
ATLMinimizesCRunTimeLibraryUsage="FALSE"
|
||||
CharacterSet="2">
|
||||
<Tool
|
||||
Name="VCCLCompilerTool"
|
||||
Optimization="0"
|
||||
AdditionalIncludeDirectories="./"
|
||||
PreprocessorDefinitions="WIN32,_DEBUG,_CONSOLE"
|
||||
BasicRuntimeChecks="3"
|
||||
RuntimeLibrary="5"
|
||||
UsePrecompiledHeader="2"
|
||||
PrecompiledHeaderFile=".\3d___Win32_Debug/3d.pch"
|
||||
AssemblerListingLocation=".\3d___Win32_Debug/"
|
||||
ObjectFile=".\3d___Win32_Debug/"
|
||||
ProgramDataBaseFileName=".\3d___Win32_Debug/"
|
||||
WarningLevel="3"
|
||||
SuppressStartupBanner="TRUE"
|
||||
DebugInformationFormat="4"
|
||||
CompileAs="0"/>
|
||||
<Tool
|
||||
Name="VCCustomBuildTool"/>
|
||||
<Tool
|
||||
Name="VCLinkerTool"
|
||||
AdditionalOptions="/MACHINE:I386"
|
||||
AdditionalDependencies="odbc32.lib odbccp32.lib opengl32.lib glu32.lib glut32.lib"
|
||||
OutputFile=".\3d___Win32_Debug/3d.exe"
|
||||
LinkIncremental="2"
|
||||
SuppressStartupBanner="TRUE"
|
||||
AdditionalLibraryDirectories="./lib"
|
||||
GenerateDebugInformation="TRUE"
|
||||
ProgramDatabaseFile=".\3d___Win32_Debug/3d.pdb"
|
||||
SubSystem="1"/>
|
||||
<Tool
|
||||
Name="VCMIDLTool"
|
||||
TypeLibraryName=".\3d___Win32_Debug/3d.tlb"/>
|
||||
<Tool
|
||||
Name="VCPostBuildEventTool"/>
|
||||
<Tool
|
||||
Name="VCPreBuildEventTool"/>
|
||||
<Tool
|
||||
Name="VCPreLinkEventTool"/>
|
||||
<Tool
|
||||
Name="VCResourceCompilerTool"
|
||||
PreprocessorDefinitions="_DEBUG"
|
||||
Culture="1033"/>
|
||||
<Tool
|
||||
Name="VCWebServiceProxyGeneratorTool"/>
|
||||
<Tool
|
||||
Name="VCXMLDataGeneratorTool"/>
|
||||
<Tool
|
||||
Name="VCWebDeploymentTool"/>
|
||||
<Tool
|
||||
Name="VCManagedWrapperGeneratorTool"/>
|
||||
<Tool
|
||||
Name="VCAuxiliaryManagedWrapperGeneratorTool"/>
|
||||
</Configuration>
|
||||
</Configurations>
|
||||
<References>
|
||||
</References>
|
||||
<Files>
|
||||
<Filter
|
||||
Name="Source Files"
|
||||
Filter="cpp;c;cxx;rc;def;r;odl;idl;hpj;bat">
|
||||
<File
|
||||
RelativePath="..\3d.c">
|
||||
</File>
|
||||
</Filter>
|
||||
</Files>
|
||||
<Globals>
|
||||
</Globals>
|
||||
</VisualStudioProject>
|
||||
134
CS4451/oglexamples/win32/3d.vcproj.old
Normal file
134
CS4451/oglexamples/win32/3d.vcproj.old
Normal file
@@ -0,0 +1,134 @@
|
||||
<?xml version="1.0" encoding = "Windows-1252"?>
|
||||
<VisualStudioProject
|
||||
ProjectType="Visual C++"
|
||||
Version="7.00"
|
||||
Name="3d"
|
||||
SccProjectName=""
|
||||
SccLocalPath="">
|
||||
<Platforms>
|
||||
<Platform
|
||||
Name="Win32"/>
|
||||
</Platforms>
|
||||
<Configurations>
|
||||
<Configuration
|
||||
Name="Release|Win32"
|
||||
OutputDirectory=".\Release"
|
||||
IntermediateDirectory=".\Release"
|
||||
ConfigurationType="1"
|
||||
UseOfMFC="0"
|
||||
ATLMinimizesCRunTimeLibraryUsage="FALSE"
|
||||
CharacterSet="2">
|
||||
<Tool
|
||||
Name="VCCLCompilerTool"
|
||||
InlineFunctionExpansion="1"
|
||||
AdditionalIncludeDirectories="./"
|
||||
PreprocessorDefinitions="WIN32,NDEBUG,_CONSOLE"
|
||||
StringPooling="TRUE"
|
||||
RuntimeLibrary="4"
|
||||
EnableFunctionLevelLinking="TRUE"
|
||||
UsePrecompiledHeader="2"
|
||||
PrecompiledHeaderFile=".\Release/3d.pch"
|
||||
AssemblerListingLocation=".\Release/"
|
||||
ObjectFile=".\Release/"
|
||||
ProgramDataBaseFileName=".\Release/"
|
||||
WarningLevel="3"
|
||||
SuppressStartupBanner="TRUE"
|
||||
CompileAs="0"/>
|
||||
<Tool
|
||||
Name="VCCustomBuildTool"/>
|
||||
<Tool
|
||||
Name="VCLinkerTool"
|
||||
AdditionalOptions="/MACHINE:I386"
|
||||
AdditionalDependencies="odbc32.lib odbccp32.lib opengl32.lib glu32.lib glut32.lib"
|
||||
OutputFile=".\Release/3d.exe"
|
||||
LinkIncremental="1"
|
||||
SuppressStartupBanner="TRUE"
|
||||
AdditionalLibraryDirectories="./lib"
|
||||
ProgramDatabaseFile=".\Release/3d.pdb"
|
||||
SubSystem="1"/>
|
||||
<Tool
|
||||
Name="VCMIDLTool"
|
||||
TypeLibraryName=".\Release/3d.tlb"/>
|
||||
<Tool
|
||||
Name="VCPostBuildEventTool"/>
|
||||
<Tool
|
||||
Name="VCPreBuildEventTool"/>
|
||||
<Tool
|
||||
Name="VCPreLinkEventTool"/>
|
||||
<Tool
|
||||
Name="VCResourceCompilerTool"
|
||||
PreprocessorDefinitions="NDEBUG"
|
||||
Culture="1033"/>
|
||||
<Tool
|
||||
Name="VCWebServiceProxyGeneratorTool"/>
|
||||
<Tool
|
||||
Name="VCWebDeploymentTool"/>
|
||||
</Configuration>
|
||||
<Configuration
|
||||
Name="Debug|Win32"
|
||||
OutputDirectory=".\3d___Win32_Debug"
|
||||
IntermediateDirectory=".\3d___Win32_Debug"
|
||||
ConfigurationType="1"
|
||||
UseOfMFC="0"
|
||||
ATLMinimizesCRunTimeLibraryUsage="FALSE"
|
||||
CharacterSet="2">
|
||||
<Tool
|
||||
Name="VCCLCompilerTool"
|
||||
Optimization="0"
|
||||
AdditionalIncludeDirectories="./"
|
||||
PreprocessorDefinitions="WIN32,_DEBUG,_CONSOLE"
|
||||
BasicRuntimeChecks="3"
|
||||
RuntimeLibrary="5"
|
||||
UsePrecompiledHeader="2"
|
||||
PrecompiledHeaderFile=".\3d___Win32_Debug/3d.pch"
|
||||
AssemblerListingLocation=".\3d___Win32_Debug/"
|
||||
ObjectFile=".\3d___Win32_Debug/"
|
||||
ProgramDataBaseFileName=".\3d___Win32_Debug/"
|
||||
WarningLevel="3"
|
||||
SuppressStartupBanner="TRUE"
|
||||
DebugInformationFormat="4"
|
||||
CompileAs="0"/>
|
||||
<Tool
|
||||
Name="VCCustomBuildTool"/>
|
||||
<Tool
|
||||
Name="VCLinkerTool"
|
||||
AdditionalOptions="/MACHINE:I386"
|
||||
AdditionalDependencies="odbc32.lib odbccp32.lib opengl32.lib glu32.lib glut32.lib"
|
||||
OutputFile=".\3d___Win32_Debug/3d.exe"
|
||||
LinkIncremental="2"
|
||||
SuppressStartupBanner="TRUE"
|
||||
AdditionalLibraryDirectories="./lib"
|
||||
GenerateDebugInformation="TRUE"
|
||||
ProgramDatabaseFile=".\3d___Win32_Debug/3d.pdb"
|
||||
SubSystem="1"/>
|
||||
<Tool
|
||||
Name="VCMIDLTool"
|
||||
TypeLibraryName=".\3d___Win32_Debug/3d.tlb"/>
|
||||
<Tool
|
||||
Name="VCPostBuildEventTool"/>
|
||||
<Tool
|
||||
Name="VCPreBuildEventTool"/>
|
||||
<Tool
|
||||
Name="VCPreLinkEventTool"/>
|
||||
<Tool
|
||||
Name="VCResourceCompilerTool"
|
||||
PreprocessorDefinitions="_DEBUG"
|
||||
Culture="1033"/>
|
||||
<Tool
|
||||
Name="VCWebServiceProxyGeneratorTool"/>
|
||||
<Tool
|
||||
Name="VCWebDeploymentTool"/>
|
||||
</Configuration>
|
||||
</Configurations>
|
||||
<Files>
|
||||
<Filter
|
||||
Name="Source Files"
|
||||
Filter="cpp;c;cxx;rc;def;r;odl;idl;hpj;bat">
|
||||
<File
|
||||
RelativePath="..\3d.c">
|
||||
</File>
|
||||
</Filter>
|
||||
</Files>
|
||||
<Globals>
|
||||
</Globals>
|
||||
</VisualStudioProject>
|
||||
1526
CS4451/oglexamples/win32/GL/GL.H
Normal file
1526
CS4451/oglexamples/win32/GL/GL.H
Normal file
File diff suppressed because it is too large
Load Diff
373
CS4451/oglexamples/win32/GL/GLAUX.H
Normal file
373
CS4451/oglexamples/win32/GL/GLAUX.H
Normal file
@@ -0,0 +1,373 @@
|
||||
/*++ BUILD Version: 0004 // Increment this if a change has global effects
|
||||
|
||||
Copyright (c) 1985-95, Microsoft Corporation
|
||||
|
||||
Module Name:
|
||||
|
||||
glaux.h
|
||||
|
||||
Abstract:
|
||||
|
||||
Procedure declarations, constant definitions and macros for the OpenGL
|
||||
Auxiliary Library.
|
||||
|
||||
--*/
|
||||
|
||||
#ifndef __GLAUX_H__
|
||||
#define __GLAUX_H__
|
||||
|
||||
/*
|
||||
* (c) Copyright 1993, Silicon Graphics, Inc.
|
||||
* ALL RIGHTS RESERVED
|
||||
* Permission to use, copy, modify, and distribute this software for
|
||||
* any purpose and without fee is hereby granted, provided that the above
|
||||
* copyright notice appear in all copies and that both the copyright notice
|
||||
* and this permission notice appear in supporting documentation, and that
|
||||
* the name of Silicon Graphics, Inc. not be used in advertising
|
||||
* or publicity pertaining to distribution of the software without specific,
|
||||
* written prior permission.
|
||||
*
|
||||
* THE MATERIAL EMBODIED ON THIS SOFTWARE IS PROVIDED TO YOU "AS-IS"
|
||||
* AND WITHOUT WARRANTY OF ANY KIND, EXPRESS, IMPLIED OR OTHERWISE,
|
||||
* INCLUDING WITHOUT LIMITATION, ANY WARRANTY OF MERCHANTABILITY OR
|
||||
* FITNESS FOR A PARTICULAR PURPOSE. IN NO EVENT SHALL SILICON
|
||||
* GRAPHICS, INC. BE LIABLE TO YOU OR ANYONE ELSE FOR ANY DIRECT,
|
||||
* SPECIAL, INCIDENTAL, INDIRECT OR CONSEQUENTIAL DAMAGES OF ANY
|
||||
* KIND, OR ANY DAMAGES WHATSOEVER, INCLUDING WITHOUT LIMITATION,
|
||||
* LOSS OF PROFIT, LOSS OF USE, SAVINGS OR REVENUE, OR THE CLAIMS OF
|
||||
* THIRD PARTIES, WHETHER OR NOT SILICON GRAPHICS, INC. HAS BEEN
|
||||
* ADVISED OF THE POSSIBILITY OF SUCH LOSS, HOWEVER CAUSED AND ON
|
||||
* ANY THEORY OF LIABILITY, ARISING OUT OF OR IN CONNECTION WITH THE
|
||||
* POSSESSION, USE OR PERFORMANCE OF THIS SOFTWARE.
|
||||
*
|
||||
* US Government Users Restricted Rights
|
||||
* Use, duplication, or disclosure by the Government is subject to
|
||||
* restrictions set forth in FAR 52.227.19(c)(2) or subparagraph
|
||||
* (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 or the DOD or NASA FAR Supplement.
|
||||
* Unpublished-- rights reserved under the copyright laws of the
|
||||
* United States. Contractor/manufacturer is Silicon Graphics,
|
||||
* Inc., 2011 N. Shoreline Blvd., Mountain View, CA 94039-7311.
|
||||
*
|
||||
* OpenGL(TM) is a trademark of Silicon Graphics, Inc.
|
||||
*/
|
||||
|
||||
#include <windows.h>
|
||||
#include <GL/gl.h>
|
||||
#include <GL/glu.h>
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
/*
|
||||
** ToolKit Window Types
|
||||
** In the future, AUX_RGBA may be a combination of both RGB and ALPHA
|
||||
*/
|
||||
|
||||
#define AUX_RGB 0
|
||||
#define AUX_RGBA AUX_RGB
|
||||
#define AUX_INDEX 1
|
||||
#define AUX_SINGLE 0
|
||||
#define AUX_DOUBLE 2
|
||||
#define AUX_DIRECT 0
|
||||
#define AUX_INDIRECT 4
|
||||
|
||||
#define AUX_ACCUM 8
|
||||
#define AUX_ALPHA 16
|
||||
#define AUX_DEPTH24 32 /* 24-bit depth buffer */
|
||||
#define AUX_STENCIL 64
|
||||
#define AUX_AUX 128
|
||||
#define AUX_DEPTH16 256 /* 16-bit depth buffer */
|
||||
#define AUX_FIXED_332_PAL 512
|
||||
#define AUX_DEPTH AUX_DEPTH16 /* default is 16-bit depth buffer */
|
||||
|
||||
/*
|
||||
** Window Masks
|
||||
*/
|
||||
|
||||
#define AUX_WIND_IS_RGB(x) (((x) & AUX_INDEX) == 0)
|
||||
#define AUX_WIND_IS_INDEX(x) (((x) & AUX_INDEX) != 0)
|
||||
#define AUX_WIND_IS_SINGLE(x) (((x) & AUX_DOUBLE) == 0)
|
||||
#define AUX_WIND_IS_DOUBLE(x) (((x) & AUX_DOUBLE) != 0)
|
||||
#define AUX_WIND_IS_INDIRECT(x) (((x) & AUX_INDIRECT) != 0)
|
||||
#define AUX_WIND_IS_DIRECT(x) (((x) & AUX_INDIRECT) == 0)
|
||||
#define AUX_WIND_HAS_ACCUM(x) (((x) & AUX_ACCUM) != 0)
|
||||
#define AUX_WIND_HAS_ALPHA(x) (((x) & AUX_ALPHA) != 0)
|
||||
#define AUX_WIND_HAS_DEPTH(x) (((x) & (AUX_DEPTH24 | AUX_DEPTH16)) != 0)
|
||||
#define AUX_WIND_HAS_STENCIL(x) (((x) & AUX_STENCIL) != 0)
|
||||
#define AUX_WIND_USES_FIXED_332_PAL(x) (((x) & AUX_FIXED_332_PAL) != 0)
|
||||
|
||||
/*
|
||||
** ToolKit Event Structure
|
||||
*/
|
||||
|
||||
typedef struct _AUX_EVENTREC {
|
||||
GLint event;
|
||||
GLint data[4];
|
||||
} AUX_EVENTREC;
|
||||
|
||||
/*
|
||||
** ToolKit Event Types
|
||||
*/
|
||||
#define AUX_EXPOSE 1
|
||||
#define AUX_CONFIG 2
|
||||
#define AUX_DRAW 4
|
||||
#define AUX_KEYEVENT 8
|
||||
#define AUX_MOUSEDOWN 16
|
||||
#define AUX_MOUSEUP 32
|
||||
#define AUX_MOUSELOC 64
|
||||
|
||||
/*
|
||||
** Toolkit Event Data Indices
|
||||
*/
|
||||
#define AUX_WINDOWX 0
|
||||
#define AUX_WINDOWY 1
|
||||
#define AUX_MOUSEX 0
|
||||
#define AUX_MOUSEY 1
|
||||
#define AUX_MOUSESTATUS 3
|
||||
#define AUX_KEY 0
|
||||
#define AUX_KEYSTATUS 1
|
||||
|
||||
/*
|
||||
** ToolKit Event Status Messages
|
||||
*/
|
||||
#define AUX_LEFTBUTTON 1
|
||||
#define AUX_RIGHTBUTTON 2
|
||||
#define AUX_MIDDLEBUTTON 4
|
||||
#define AUX_SHIFT 1
|
||||
#define AUX_CONTROL 2
|
||||
|
||||
/*
|
||||
** ToolKit Key Codes
|
||||
*/
|
||||
#define AUX_RETURN 0x0D
|
||||
#define AUX_ESCAPE 0x1B
|
||||
#define AUX_SPACE 0x20
|
||||
#define AUX_LEFT 0x25
|
||||
#define AUX_UP 0x26
|
||||
#define AUX_RIGHT 0x27
|
||||
#define AUX_DOWN 0x28
|
||||
#define AUX_A 'A'
|
||||
#define AUX_B 'B'
|
||||
#define AUX_C 'C'
|
||||
#define AUX_D 'D'
|
||||
#define AUX_E 'E'
|
||||
#define AUX_F 'F'
|
||||
#define AUX_G 'G'
|
||||
#define AUX_H 'H'
|
||||
#define AUX_I 'I'
|
||||
#define AUX_J 'J'
|
||||
#define AUX_K 'K'
|
||||
#define AUX_L 'L'
|
||||
#define AUX_M 'M'
|
||||
#define AUX_N 'N'
|
||||
#define AUX_O 'O'
|
||||
#define AUX_P 'P'
|
||||
#define AUX_Q 'Q'
|
||||
#define AUX_R 'R'
|
||||
#define AUX_S 'S'
|
||||
#define AUX_T 'T'
|
||||
#define AUX_U 'U'
|
||||
#define AUX_V 'V'
|
||||
#define AUX_W 'W'
|
||||
#define AUX_X 'X'
|
||||
#define AUX_Y 'Y'
|
||||
#define AUX_Z 'Z'
|
||||
#define AUX_a 'a'
|
||||
#define AUX_b 'b'
|
||||
#define AUX_c 'c'
|
||||
#define AUX_d 'd'
|
||||
#define AUX_e 'e'
|
||||
#define AUX_f 'f'
|
||||
#define AUX_g 'g'
|
||||
#define AUX_h 'h'
|
||||
#define AUX_i 'i'
|
||||
#define AUX_j 'j'
|
||||
#define AUX_k 'k'
|
||||
#define AUX_l 'l'
|
||||
#define AUX_m 'm'
|
||||
#define AUX_n 'n'
|
||||
#define AUX_o 'o'
|
||||
#define AUX_p 'p'
|
||||
#define AUX_q 'q'
|
||||
#define AUX_r 'r'
|
||||
#define AUX_s 's'
|
||||
#define AUX_t 't'
|
||||
#define AUX_u 'u'
|
||||
#define AUX_v 'v'
|
||||
#define AUX_w 'w'
|
||||
#define AUX_x 'x'
|
||||
#define AUX_y 'y'
|
||||
#define AUX_z 'z'
|
||||
#define AUX_0 '0'
|
||||
#define AUX_1 '1'
|
||||
#define AUX_2 '2'
|
||||
#define AUX_3 '3'
|
||||
#define AUX_4 '4'
|
||||
#define AUX_5 '5'
|
||||
#define AUX_6 '6'
|
||||
#define AUX_7 '7'
|
||||
#define AUX_8 '8'
|
||||
#define AUX_9 '9'
|
||||
|
||||
/*
|
||||
** ToolKit Gets and Sets
|
||||
*/
|
||||
#define AUX_FD 1 /* return fd (long) */
|
||||
#define AUX_COLORMAP 3 /* pass buf of r, g and b (unsigned char) */
|
||||
#define AUX_GREYSCALEMAP 4
|
||||
#define AUX_FOGMAP 5 /* pass fog and color bits (long) */
|
||||
#define AUX_ONECOLOR 6 /* pass index, r, g, and b (long) */
|
||||
|
||||
/*
|
||||
** Color Macros
|
||||
*/
|
||||
|
||||
#define AUX_BLACK 0
|
||||
#define AUX_RED 13
|
||||
#define AUX_GREEN 14
|
||||
#define AUX_YELLOW 15
|
||||
#define AUX_BLUE 16
|
||||
#define AUX_MAGENTA 17
|
||||
#define AUX_CYAN 18
|
||||
#define AUX_WHITE 19
|
||||
|
||||
extern float auxRGBMap[20][3];
|
||||
|
||||
#define AUX_SETCOLOR(x, y) (AUX_WIND_IS_RGB((x)) ? \
|
||||
glColor3fv(auxRGBMap[(y)]) : glIndexf((y)))
|
||||
|
||||
/*
|
||||
** RGB Image Structure
|
||||
*/
|
||||
|
||||
typedef struct _AUX_RGBImageRec {
|
||||
GLint sizeX, sizeY;
|
||||
unsigned char *data;
|
||||
} AUX_RGBImageRec;
|
||||
|
||||
/*
|
||||
** Prototypes
|
||||
*/
|
||||
|
||||
void APIENTRY auxInitDisplayMode(GLenum);
|
||||
void APIENTRY auxInitPosition(int, int, int, int);
|
||||
|
||||
/* GLenum APIENTRY auxInitWindow(LPCTSTR); */
|
||||
#ifdef UNICODE
|
||||
#define auxInitWindow auxInitWindowW
|
||||
#else
|
||||
#define auxInitWindow auxInitWindowA
|
||||
#endif
|
||||
GLenum APIENTRY auxInitWindowA(LPCSTR);
|
||||
GLenum APIENTRY auxInitWindowW(LPCWSTR);
|
||||
|
||||
void APIENTRY auxCloseWindow(void);
|
||||
void APIENTRY auxQuit(void);
|
||||
void APIENTRY auxSwapBuffers(void);
|
||||
|
||||
typedef void (CALLBACK* AUXMAINPROC)(void);
|
||||
void APIENTRY auxMainLoop(AUXMAINPROC);
|
||||
|
||||
typedef void (CALLBACK* AUXEXPOSEPROC)(int, int);
|
||||
void APIENTRY auxExposeFunc(AUXEXPOSEPROC);
|
||||
|
||||
typedef void (CALLBACK* AUXRESHAPEPROC)(GLsizei, GLsizei);
|
||||
void APIENTRY auxReshapeFunc(AUXRESHAPEPROC);
|
||||
|
||||
typedef void (CALLBACK* AUXIDLEPROC)(void);
|
||||
void APIENTRY auxIdleFunc(AUXIDLEPROC);
|
||||
|
||||
typedef void (CALLBACK* AUXKEYPROC)(void);
|
||||
void APIENTRY auxKeyFunc(int, AUXKEYPROC);
|
||||
|
||||
typedef void (CALLBACK* AUXMOUSEPROC)(AUX_EVENTREC *);
|
||||
void APIENTRY auxMouseFunc(int, int, AUXMOUSEPROC);
|
||||
|
||||
int APIENTRY auxGetColorMapSize(void);
|
||||
void APIENTRY auxGetMouseLoc(int *, int *);
|
||||
void APIENTRY auxSetOneColor(int, float, float, float);
|
||||
void APIENTRY auxSetFogRamp(int, int);
|
||||
void APIENTRY auxSetGreyRamp(void);
|
||||
void APIENTRY auxSetRGBMap(int, float *);
|
||||
|
||||
/* AUX_RGBImageRec * APIENTRY auxRGBImageLoad(LPCTSTR); */
|
||||
#ifdef UNICODE
|
||||
#define auxRGBImageLoad auxRGBImageLoadW
|
||||
#else
|
||||
#define auxRGBImageLoad auxRGBImageLoadA
|
||||
#endif
|
||||
AUX_RGBImageRec * APIENTRY auxRGBImageLoadA(LPCSTR);
|
||||
AUX_RGBImageRec * APIENTRY auxRGBImageLoadW(LPCWSTR);
|
||||
|
||||
#ifdef UNICODE
|
||||
#define auxDIBImageLoad auxDIBImageLoadW
|
||||
#else
|
||||
#define auxDIBImageLoad auxDIBImageLoadA
|
||||
#endif
|
||||
AUX_RGBImageRec * APIENTRY auxDIBImageLoadA(LPCSTR);
|
||||
AUX_RGBImageRec * APIENTRY auxDIBImageLoadW(LPCWSTR);
|
||||
|
||||
void APIENTRY auxCreateFont(void);
|
||||
/* void APIENTRY auxDrawStr(LPCTSTR); */
|
||||
#ifdef UNICODE
|
||||
#define auxDrawStr auxDrawStrW
|
||||
#else
|
||||
#define auxDrawStr auxDrawStrA
|
||||
#endif
|
||||
void APIENTRY auxDrawStrA(LPCSTR);
|
||||
void APIENTRY auxDrawStrW(LPCWSTR);
|
||||
|
||||
void APIENTRY auxWireSphere(GLdouble);
|
||||
void APIENTRY auxSolidSphere(GLdouble);
|
||||
void APIENTRY auxWireCube(GLdouble);
|
||||
void APIENTRY auxSolidCube(GLdouble);
|
||||
void APIENTRY auxWireBox(GLdouble, GLdouble, GLdouble);
|
||||
void APIENTRY auxSolidBox(GLdouble, GLdouble, GLdouble);
|
||||
void APIENTRY auxWireTorus(GLdouble, GLdouble);
|
||||
void APIENTRY auxSolidTorus(GLdouble, GLdouble);
|
||||
void APIENTRY auxWireCylinder(GLdouble, GLdouble);
|
||||
void APIENTRY auxSolidCylinder(GLdouble, GLdouble);
|
||||
void APIENTRY auxWireIcosahedron(GLdouble);
|
||||
void APIENTRY auxSolidIcosahedron(GLdouble);
|
||||
void APIENTRY auxWireOctahedron(GLdouble);
|
||||
void APIENTRY auxSolidOctahedron(GLdouble);
|
||||
void APIENTRY auxWireTetrahedron(GLdouble);
|
||||
void APIENTRY auxSolidTetrahedron(GLdouble);
|
||||
void APIENTRY auxWireDodecahedron(GLdouble);
|
||||
void APIENTRY auxSolidDodecahedron(GLdouble);
|
||||
void APIENTRY auxWireCone(GLdouble, GLdouble);
|
||||
void APIENTRY auxSolidCone(GLdouble, GLdouble);
|
||||
void APIENTRY auxWireTeapot(GLdouble);
|
||||
void APIENTRY auxSolidTeapot(GLdouble);
|
||||
|
||||
/*
|
||||
** Window specific functions
|
||||
** hwnd, hdc, and hglrc valid after auxInitWindow()
|
||||
*/
|
||||
HWND APIENTRY auxGetHWND(void);
|
||||
HDC APIENTRY auxGetHDC(void);
|
||||
HGLRC APIENTRY auxGetHGLRC(void);
|
||||
|
||||
/*
|
||||
** Viewperf support functions and constants
|
||||
*/
|
||||
/* Display Mode Selection Criteria */
|
||||
enum {
|
||||
AUX_USE_ID = 1,
|
||||
AUX_EXACT_MATCH,
|
||||
AUX_MINIMUM_CRITERIA
|
||||
};
|
||||
void APIENTRY auxInitDisplayModePolicy(GLenum);
|
||||
GLenum APIENTRY auxInitDisplayModeID(GLint);
|
||||
GLenum APIENTRY auxGetDisplayModePolicy(void);
|
||||
GLint APIENTRY auxGetDisplayModeID(void);
|
||||
GLenum APIENTRY auxGetDisplayMode(void);
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
|
||||
#endif /* __GLAUX_H__ */
|
||||
584
CS4451/oglexamples/win32/GL/GLU.H
Normal file
584
CS4451/oglexamples/win32/GL/GLU.H
Normal file
@@ -0,0 +1,584 @@
|
||||
/*++ BUILD Version: 0004 // Increment this if a change has global effects
|
||||
|
||||
Copyright (c) 1985-95, Microsoft Corporation
|
||||
|
||||
Module Name:
|
||||
|
||||
glu.h
|
||||
|
||||
Abstract:
|
||||
|
||||
Procedure declarations, constant definitions and macros for the OpenGL
|
||||
Utility Library.
|
||||
|
||||
--*/
|
||||
|
||||
#ifndef __glu_h__
|
||||
#ifndef __GLU_H__
|
||||
|
||||
#define __glu_h__
|
||||
#define __GLU_H__
|
||||
|
||||
#include <GL/gl.h>
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
/*
|
||||
** 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.
|
||||
*/
|
||||
|
||||
/*
|
||||
** Return the error string associated with a particular error code.
|
||||
** This will return 0 for an invalid error code.
|
||||
**
|
||||
** The generic function prototype that can be compiled for ANSI or Unicode
|
||||
** is defined as follows:
|
||||
**
|
||||
** LPCTSTR APIENTRY gluErrorStringWIN (GLenum errCode);
|
||||
*/
|
||||
#ifdef UNICODE
|
||||
#define gluErrorStringWIN(errCode) ((LPCSTR) gluErrorUnicodeStringEXT(errCode))
|
||||
#else
|
||||
#define gluErrorStringWIN(errCode) ((LPCWSTR) gluErrorString(errCode))
|
||||
#endif
|
||||
|
||||
const GLubyte* APIENTRY gluErrorString (
|
||||
GLenum errCode);
|
||||
|
||||
const wchar_t* APIENTRY gluErrorUnicodeStringEXT (
|
||||
GLenum errCode);
|
||||
|
||||
const GLubyte* APIENTRY gluGetString (
|
||||
GLenum name);
|
||||
|
||||
void APIENTRY gluOrtho2D (
|
||||
GLdouble left,
|
||||
GLdouble right,
|
||||
GLdouble bottom,
|
||||
GLdouble top);
|
||||
|
||||
void APIENTRY gluPerspective (
|
||||
GLdouble fovy,
|
||||
GLdouble aspect,
|
||||
GLdouble zNear,
|
||||
GLdouble zFar);
|
||||
|
||||
void APIENTRY gluPickMatrix (
|
||||
GLdouble x,
|
||||
GLdouble y,
|
||||
GLdouble width,
|
||||
GLdouble height,
|
||||
GLint viewport[4]);
|
||||
|
||||
void APIENTRY gluLookAt (
|
||||
GLdouble eyex,
|
||||
GLdouble eyey,
|
||||
GLdouble eyez,
|
||||
GLdouble centerx,
|
||||
GLdouble centery,
|
||||
GLdouble centerz,
|
||||
GLdouble upx,
|
||||
GLdouble upy,
|
||||
GLdouble upz);
|
||||
|
||||
int APIENTRY gluProject (
|
||||
GLdouble objx,
|
||||
GLdouble objy,
|
||||
GLdouble objz,
|
||||
const GLdouble modelMatrix[16],
|
||||
const GLdouble projMatrix[16],
|
||||
const GLint viewport[4],
|
||||
GLdouble *winx,
|
||||
GLdouble *winy,
|
||||
GLdouble *winz);
|
||||
|
||||
int APIENTRY gluUnProject (
|
||||
GLdouble winx,
|
||||
GLdouble winy,
|
||||
GLdouble winz,
|
||||
const GLdouble modelMatrix[16],
|
||||
const GLdouble projMatrix[16],
|
||||
const GLint viewport[4],
|
||||
GLdouble *objx,
|
||||
GLdouble *objy,
|
||||
GLdouble *objz);
|
||||
|
||||
|
||||
int APIENTRY gluScaleImage (
|
||||
GLenum format,
|
||||
GLint widthin,
|
||||
GLint heightin,
|
||||
GLenum typein,
|
||||
const void *datain,
|
||||
GLint widthout,
|
||||
GLint heightout,
|
||||
GLenum typeout,
|
||||
void *dataout);
|
||||
|
||||
|
||||
int APIENTRY gluBuild1DMipmaps (
|
||||
GLenum target,
|
||||
GLint components,
|
||||
GLint width,
|
||||
GLenum format,
|
||||
GLenum type,
|
||||
const void *data);
|
||||
|
||||
int APIENTRY gluBuild2DMipmaps (
|
||||
GLenum target,
|
||||
GLint components,
|
||||
GLint width,
|
||||
GLint height,
|
||||
GLenum format,
|
||||
GLenum type,
|
||||
const void *data);
|
||||
|
||||
#ifdef __cplusplus
|
||||
|
||||
class GLUnurbs;
|
||||
class GLUquadric;
|
||||
class GLUtesselator;
|
||||
|
||||
/* backwards compatibility: */
|
||||
typedef class GLUnurbs GLUnurbsObj;
|
||||
typedef class GLUquadric GLUquadricObj;
|
||||
typedef class GLUtesselator GLUtesselatorObj;
|
||||
typedef class GLUtesselator GLUtriangulatorObj;
|
||||
|
||||
#else
|
||||
|
||||
typedef struct GLUnurbs GLUnurbs;
|
||||
typedef struct GLUquadric GLUquadric;
|
||||
typedef struct GLUtesselator GLUtesselator;
|
||||
|
||||
/* backwards compatibility: */
|
||||
typedef struct GLUnurbs GLUnurbsObj;
|
||||
typedef struct GLUquadric GLUquadricObj;
|
||||
typedef struct GLUtesselator GLUtesselatorObj;
|
||||
typedef struct GLUtesselator GLUtriangulatorObj;
|
||||
|
||||
#endif
|
||||
|
||||
|
||||
GLUquadric* APIENTRY gluNewQuadric (void);
|
||||
void APIENTRY gluDeleteQuadric (
|
||||
GLUquadric *state);
|
||||
|
||||
void APIENTRY gluQuadricNormals (
|
||||
GLUquadric *quadObject,
|
||||
GLenum normals);
|
||||
|
||||
void APIENTRY gluQuadricTexture (
|
||||
GLUquadric *quadObject,
|
||||
GLboolean textureCoords);
|
||||
|
||||
void APIENTRY gluQuadricOrientation (
|
||||
GLUquadric *quadObject,
|
||||
GLenum orientation);
|
||||
|
||||
void APIENTRY gluQuadricDrawStyle (
|
||||
GLUquadric *quadObject,
|
||||
GLenum drawStyle);
|
||||
|
||||
void APIENTRY gluCylinder (
|
||||
GLUquadric *qobj,
|
||||
GLdouble baseRadius,
|
||||
GLdouble topRadius,
|
||||
GLdouble height,
|
||||
GLint slices,
|
||||
GLint stacks);
|
||||
|
||||
void APIENTRY gluDisk (
|
||||
GLUquadric *qobj,
|
||||
GLdouble innerRadius,
|
||||
GLdouble outerRadius,
|
||||
GLint slices,
|
||||
GLint loops);
|
||||
|
||||
void APIENTRY gluPartialDisk (
|
||||
GLUquadric *qobj,
|
||||
GLdouble innerRadius,
|
||||
GLdouble outerRadius,
|
||||
GLint slices,
|
||||
GLint loops,
|
||||
GLdouble startAngle,
|
||||
GLdouble sweepAngle);
|
||||
|
||||
void APIENTRY gluSphere (
|
||||
GLUquadric *qobj,
|
||||
GLdouble radius,
|
||||
GLint slices,
|
||||
GLint stacks);
|
||||
|
||||
void APIENTRY gluQuadricCallback (
|
||||
GLUquadric *qobj,
|
||||
GLenum which,
|
||||
void (CALLBACK* fn)());
|
||||
|
||||
GLUtesselator* APIENTRY gluNewTess(
|
||||
void );
|
||||
|
||||
void APIENTRY gluDeleteTess(
|
||||
GLUtesselator *tess );
|
||||
|
||||
void APIENTRY gluTessBeginPolygon(
|
||||
GLUtesselator *tess,
|
||||
void *polygon_data );
|
||||
|
||||
void APIENTRY gluTessBeginContour(
|
||||
GLUtesselator *tess );
|
||||
|
||||
void APIENTRY gluTessVertex(
|
||||
GLUtesselator *tess,
|
||||
GLdouble coords[3],
|
||||
void *data );
|
||||
|
||||
void APIENTRY gluTessEndContour(
|
||||
GLUtesselator *tess );
|
||||
|
||||
void APIENTRY gluTessEndPolygon(
|
||||
GLUtesselator *tess );
|
||||
|
||||
void APIENTRY gluTessProperty(
|
||||
GLUtesselator *tess,
|
||||
GLenum which,
|
||||
GLdouble value );
|
||||
|
||||
void APIENTRY gluTessNormal(
|
||||
GLUtesselator *tess,
|
||||
GLdouble x,
|
||||
GLdouble y,
|
||||
GLdouble z );
|
||||
|
||||
void APIENTRY gluTessCallback(
|
||||
GLUtesselator *tess,
|
||||
GLenum which,
|
||||
void (CALLBACK *fn)());
|
||||
|
||||
void APIENTRY gluGetTessProperty(
|
||||
GLUtesselator *tess,
|
||||
GLenum which,
|
||||
GLdouble *value );
|
||||
|
||||
GLUnurbs* APIENTRY gluNewNurbsRenderer (void);
|
||||
|
||||
void APIENTRY gluDeleteNurbsRenderer (
|
||||
GLUnurbs *nobj);
|
||||
|
||||
void APIENTRY gluBeginSurface (
|
||||
GLUnurbs *nobj);
|
||||
|
||||
void APIENTRY gluBeginCurve (
|
||||
GLUnurbs *nobj);
|
||||
|
||||
void APIENTRY gluEndCurve (
|
||||
GLUnurbs *nobj);
|
||||
|
||||
void APIENTRY gluEndSurface (
|
||||
GLUnurbs *nobj);
|
||||
|
||||
void APIENTRY gluBeginTrim (
|
||||
GLUnurbs *nobj);
|
||||
|
||||
void APIENTRY gluEndTrim (
|
||||
GLUnurbs *nobj);
|
||||
|
||||
void APIENTRY gluPwlCurve (
|
||||
GLUnurbs *nobj,
|
||||
GLint count,
|
||||
GLfloat *array,
|
||||
GLint stride,
|
||||
GLenum type);
|
||||
|
||||
void APIENTRY gluNurbsCurve (
|
||||
GLUnurbs *nobj,
|
||||
GLint nknots,
|
||||
GLfloat *knot,
|
||||
GLint stride,
|
||||
GLfloat *ctlarray,
|
||||
GLint order,
|
||||
GLenum type);
|
||||
|
||||
void APIENTRY
|
||||
gluNurbsSurface(
|
||||
GLUnurbs *nobj,
|
||||
GLint sknot_count,
|
||||
float *sknot,
|
||||
GLint tknot_count,
|
||||
GLfloat *tknot,
|
||||
GLint s_stride,
|
||||
GLint t_stride,
|
||||
GLfloat *ctlarray,
|
||||
GLint sorder,
|
||||
GLint torder,
|
||||
GLenum type);
|
||||
|
||||
void APIENTRY
|
||||
gluLoadSamplingMatrices (
|
||||
GLUnurbs *nobj,
|
||||
const GLfloat modelMatrix[16],
|
||||
const GLfloat projMatrix[16],
|
||||
const GLint viewport[4] );
|
||||
|
||||
void APIENTRY
|
||||
gluNurbsProperty (
|
||||
GLUnurbs *nobj,
|
||||
GLenum property,
|
||||
GLfloat value );
|
||||
|
||||
void APIENTRY
|
||||
gluGetNurbsProperty (
|
||||
GLUnurbs *nobj,
|
||||
GLenum property,
|
||||
GLfloat *value );
|
||||
|
||||
void APIENTRY
|
||||
gluNurbsCallback (
|
||||
GLUnurbs *nobj,
|
||||
GLenum which,
|
||||
void (CALLBACK* fn)() );
|
||||
|
||||
|
||||
/**** Callback function prototypes ****/
|
||||
|
||||
/* gluQuadricCallback */
|
||||
typedef void (CALLBACK* GLUquadricErrorProc) (GLenum);
|
||||
|
||||
/* gluTessCallback */
|
||||
typedef void (CALLBACK* GLUtessBeginProc) (GLenum);
|
||||
typedef void (CALLBACK* GLUtessEdgeFlagProc) (GLboolean);
|
||||
typedef void (CALLBACK* GLUtessVertexProc) (void *);
|
||||
typedef void (CALLBACK* GLUtessEndProc) (void);
|
||||
typedef void (CALLBACK* GLUtessErrorProc) (GLenum);
|
||||
typedef void (CALLBACK* GLUtessCombineProc) (GLdouble[3],
|
||||
void*[4],
|
||||
GLfloat[4],
|
||||
void** );
|
||||
typedef void (CALLBACK* GLUtessBeginDataProc) (GLenum, void *);
|
||||
typedef void (CALLBACK* GLUtessEdgeFlagDataProc) (GLboolean, void *);
|
||||
typedef void (CALLBACK* GLUtessVertexDataProc) (void *, void *);
|
||||
typedef void (CALLBACK* GLUtessEndDataProc) (void *);
|
||||
typedef void (CALLBACK* GLUtessErrorDataProc) (GLenum, void *);
|
||||
typedef void (CALLBACK* GLUtessCombineDataProc) (GLdouble[3],
|
||||
void*[4],
|
||||
GLfloat[4],
|
||||
void**,
|
||||
void* );
|
||||
|
||||
/* gluNurbsCallback */
|
||||
typedef void (CALLBACK* GLUnurbsErrorProc) (GLenum);
|
||||
|
||||
|
||||
/**** Generic constants ****/
|
||||
|
||||
/* Version */
|
||||
#define GLU_VERSION_1_1 1
|
||||
#define GLU_VERSION_1_2 1
|
||||
|
||||
/* Errors: (return value 0 = no error) */
|
||||
#define GLU_INVALID_ENUM 100900
|
||||
#define GLU_INVALID_VALUE 100901
|
||||
#define GLU_OUT_OF_MEMORY 100902
|
||||
#define GLU_INCOMPATIBLE_GL_VERSION 100903
|
||||
|
||||
/* StringName */
|
||||
#define GLU_VERSION 100800
|
||||
#define GLU_EXTENSIONS 100801
|
||||
|
||||
/* Boolean */
|
||||
#define GLU_TRUE GL_TRUE
|
||||
#define GLU_FALSE GL_FALSE
|
||||
|
||||
|
||||
/**** Quadric constants ****/
|
||||
|
||||
/* QuadricNormal */
|
||||
#define GLU_SMOOTH 100000
|
||||
#define GLU_FLAT 100001
|
||||
#define GLU_NONE 100002
|
||||
|
||||
/* QuadricDrawStyle */
|
||||
#define GLU_POINT 100010
|
||||
#define GLU_LINE 100011
|
||||
#define GLU_FILL 100012
|
||||
#define GLU_SILHOUETTE 100013
|
||||
|
||||
/* QuadricOrientation */
|
||||
#define GLU_OUTSIDE 100020
|
||||
#define GLU_INSIDE 100021
|
||||
|
||||
/* Callback types: */
|
||||
/* GLU_ERROR 100103 */
|
||||
|
||||
|
||||
/**** Tesselation constants ****/
|
||||
|
||||
#define GLU_TESS_MAX_COORD 1.0e150
|
||||
|
||||
/* TessProperty */
|
||||
#define GLU_TESS_WINDING_RULE 100140
|
||||
#define GLU_TESS_BOUNDARY_ONLY 100141
|
||||
#define GLU_TESS_TOLERANCE 100142
|
||||
|
||||
/* TessWinding */
|
||||
#define GLU_TESS_WINDING_ODD 100130
|
||||
#define GLU_TESS_WINDING_NONZERO 100131
|
||||
#define GLU_TESS_WINDING_POSITIVE 100132
|
||||
#define GLU_TESS_WINDING_NEGATIVE 100133
|
||||
#define GLU_TESS_WINDING_ABS_GEQ_TWO 100134
|
||||
|
||||
/* TessCallback */
|
||||
#define GLU_TESS_BEGIN 100100 /* void (CALLBACK*)(GLenum type) */
|
||||
#define GLU_TESS_VERTEX 100101 /* void (CALLBACK*)(void *data) */
|
||||
#define GLU_TESS_END 100102 /* void (CALLBACK*)(void) */
|
||||
#define GLU_TESS_ERROR 100103 /* void (CALLBACK*)(GLenum errno) */
|
||||
#define GLU_TESS_EDGE_FLAG 100104 /* void (CALLBACK*)(GLboolean boundaryEdge) */
|
||||
#define GLU_TESS_COMBINE 100105 /* void (CALLBACK*)(GLdouble coords[3],
|
||||
void *data[4],
|
||||
GLfloat weight[4],
|
||||
void **dataOut) */
|
||||
#define GLU_TESS_BEGIN_DATA 100106 /* void (CALLBACK*)(GLenum type,
|
||||
void *polygon_data) */
|
||||
#define GLU_TESS_VERTEX_DATA 100107 /* void (CALLBACK*)(void *data,
|
||||
void *polygon_data) */
|
||||
#define GLU_TESS_END_DATA 100108 /* void (CALLBACK*)(void *polygon_data) */
|
||||
#define GLU_TESS_ERROR_DATA 100109 /* void (CALLBACK*)(GLenum errno,
|
||||
void *polygon_data) */
|
||||
#define GLU_TESS_EDGE_FLAG_DATA 100110 /* void (CALLBACK*)(GLboolean boundaryEdge,
|
||||
void *polygon_data) */
|
||||
#define GLU_TESS_COMBINE_DATA 100111 /* void (CALLBACK*)(GLdouble coords[3],
|
||||
void *data[4],
|
||||
GLfloat weight[4],
|
||||
void **dataOut,
|
||||
void *polygon_data) */
|
||||
|
||||
/* TessError */
|
||||
#define GLU_TESS_ERROR1 100151
|
||||
#define GLU_TESS_ERROR2 100152
|
||||
#define GLU_TESS_ERROR3 100153
|
||||
#define GLU_TESS_ERROR4 100154
|
||||
#define GLU_TESS_ERROR5 100155
|
||||
#define GLU_TESS_ERROR6 100156
|
||||
#define GLU_TESS_ERROR7 100157
|
||||
#define GLU_TESS_ERROR8 100158
|
||||
|
||||
#define GLU_TESS_MISSING_BEGIN_POLYGON GLU_TESS_ERROR1
|
||||
#define GLU_TESS_MISSING_BEGIN_CONTOUR GLU_TESS_ERROR2
|
||||
#define GLU_TESS_MISSING_END_POLYGON GLU_TESS_ERROR3
|
||||
#define GLU_TESS_MISSING_END_CONTOUR GLU_TESS_ERROR4
|
||||
#define GLU_TESS_COORD_TOO_LARGE GLU_TESS_ERROR5
|
||||
#define GLU_TESS_NEED_COMBINE_CALLBACK GLU_TESS_ERROR6
|
||||
|
||||
/**** NURBS constants ****/
|
||||
|
||||
/* NurbsProperty */
|
||||
#define GLU_AUTO_LOAD_MATRIX 100200
|
||||
#define GLU_CULLING 100201
|
||||
#define GLU_SAMPLING_TOLERANCE 100203
|
||||
#define GLU_DISPLAY_MODE 100204
|
||||
#define GLU_PARAMETRIC_TOLERANCE 100202
|
||||
#define GLU_SAMPLING_METHOD 100205
|
||||
#define GLU_U_STEP 100206
|
||||
#define GLU_V_STEP 100207
|
||||
|
||||
/* NurbsSampling */
|
||||
#define GLU_PATH_LENGTH 100215
|
||||
#define GLU_PARAMETRIC_ERROR 100216
|
||||
#define GLU_DOMAIN_DISTANCE 100217
|
||||
|
||||
|
||||
/* NurbsTrim */
|
||||
#define GLU_MAP1_TRIM_2 100210
|
||||
#define GLU_MAP1_TRIM_3 100211
|
||||
|
||||
/* NurbsDisplay */
|
||||
/* GLU_FILL 100012 */
|
||||
#define GLU_OUTLINE_POLYGON 100240
|
||||
#define GLU_OUTLINE_PATCH 100241
|
||||
|
||||
/* NurbsCallback */
|
||||
/* GLU_ERROR 100103 */
|
||||
|
||||
/* NurbsErrors */
|
||||
#define GLU_NURBS_ERROR1 100251
|
||||
#define GLU_NURBS_ERROR2 100252
|
||||
#define GLU_NURBS_ERROR3 100253
|
||||
#define GLU_NURBS_ERROR4 100254
|
||||
#define GLU_NURBS_ERROR5 100255
|
||||
#define GLU_NURBS_ERROR6 100256
|
||||
#define GLU_NURBS_ERROR7 100257
|
||||
#define GLU_NURBS_ERROR8 100258
|
||||
#define GLU_NURBS_ERROR9 100259
|
||||
#define GLU_NURBS_ERROR10 100260
|
||||
#define GLU_NURBS_ERROR11 100261
|
||||
#define GLU_NURBS_ERROR12 100262
|
||||
#define GLU_NURBS_ERROR13 100263
|
||||
#define GLU_NURBS_ERROR14 100264
|
||||
#define GLU_NURBS_ERROR15 100265
|
||||
#define GLU_NURBS_ERROR16 100266
|
||||
#define GLU_NURBS_ERROR17 100267
|
||||
#define GLU_NURBS_ERROR18 100268
|
||||
#define GLU_NURBS_ERROR19 100269
|
||||
#define GLU_NURBS_ERROR20 100270
|
||||
#define GLU_NURBS_ERROR21 100271
|
||||
#define GLU_NURBS_ERROR22 100272
|
||||
#define GLU_NURBS_ERROR23 100273
|
||||
#define GLU_NURBS_ERROR24 100274
|
||||
#define GLU_NURBS_ERROR25 100275
|
||||
#define GLU_NURBS_ERROR26 100276
|
||||
#define GLU_NURBS_ERROR27 100277
|
||||
#define GLU_NURBS_ERROR28 100278
|
||||
#define GLU_NURBS_ERROR29 100279
|
||||
#define GLU_NURBS_ERROR30 100280
|
||||
#define GLU_NURBS_ERROR31 100281
|
||||
#define GLU_NURBS_ERROR32 100282
|
||||
#define GLU_NURBS_ERROR33 100283
|
||||
#define GLU_NURBS_ERROR34 100284
|
||||
#define GLU_NURBS_ERROR35 100285
|
||||
#define GLU_NURBS_ERROR36 100286
|
||||
#define GLU_NURBS_ERROR37 100287
|
||||
|
||||
/**** Backwards compatibility for old tesselator ****/
|
||||
|
||||
void APIENTRY gluBeginPolygon( GLUtesselator *tess );
|
||||
|
||||
void APIENTRY gluNextContour( GLUtesselator *tess,
|
||||
GLenum type );
|
||||
|
||||
void APIENTRY gluEndPolygon( GLUtesselator *tess );
|
||||
|
||||
/* Contours types -- obsolete! */
|
||||
#define GLU_CW 100120
|
||||
#define GLU_CCW 100121
|
||||
#define GLU_INTERIOR 100122
|
||||
#define GLU_EXTERIOR 100123
|
||||
#define GLU_UNKNOWN 100124
|
||||
|
||||
/* Names without "TESS_" prefix */
|
||||
#define GLU_BEGIN GLU_TESS_BEGIN
|
||||
#define GLU_VERTEX GLU_TESS_VERTEX
|
||||
#define GLU_END GLU_TESS_END
|
||||
#define GLU_ERROR GLU_TESS_ERROR
|
||||
#define GLU_EDGE_FLAG GLU_TESS_EDGE_FLAG
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
|
||||
#endif /* __GLU_H__ */
|
||||
#endif /* __glu_h__ */
|
||||
716
CS4451/oglexamples/win32/GL/glut.h
Normal file
716
CS4451/oglexamples/win32/GL/glut.h
Normal file
@@ -0,0 +1,716 @@
|
||||
#ifndef __glut_h__
|
||||
#define __glut_h__
|
||||
|
||||
/* Copyright (c) Mark J. Kilgard, 1994, 1995, 1996, 1998. */
|
||||
|
||||
/* 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)
|
||||
|
||||
/* GLUT 3.7 now tries to avoid including <windows.h>
|
||||
to avoid name space pollution, but Win32's <GL/gl.h>
|
||||
needs APIENTRY and WINGDIAPI defined properly. */
|
||||
# if 0
|
||||
/* This would put tons of macros and crap in our clean name space. */
|
||||
# define WIN32_LEAN_AND_MEAN
|
||||
# include <windows.h>
|
||||
# else
|
||||
/* XXX This is from Win32's <windef.h> */
|
||||
# ifndef APIENTRY
|
||||
# define GLUT_APIENTRY_DEFINED
|
||||
# if (_MSC_VER >= 800) || defined(_STDCALL_SUPPORTED) || defined(__BORLANDC__) || defined(__LCC__)
|
||||
# define APIENTRY __stdcall
|
||||
# else
|
||||
# define APIENTRY
|
||||
# endif
|
||||
# endif
|
||||
/* XXX This is from Win32's <winnt.h> */
|
||||
# ifndef CALLBACK
|
||||
# if (defined(_M_MRX000) || defined(_M_IX86) || defined(_M_ALPHA) || defined(_M_PPC)) && !defined(MIDL_PASS) || defined(__LCC__)
|
||||
# define CALLBACK __stdcall
|
||||
# else
|
||||
# define CALLBACK
|
||||
# endif
|
||||
# endif
|
||||
/* XXX Hack for lcc compiler. It doesn't support __declspec(dllimport), just __stdcall. */
|
||||
# if defined( __LCC__ )
|
||||
# undef WINGDIAPI
|
||||
# define WINGDIAPI __stdcall
|
||||
# else
|
||||
/* XXX This is from Win32's <wingdi.h> and <winnt.h> */
|
||||
# ifndef WINGDIAPI
|
||||
# define GLUT_WINGDIAPI_DEFINED
|
||||
# define WINGDIAPI __declspec(dllimport)
|
||||
# endif
|
||||
# endif
|
||||
/* XXX This is from Win32's <ctype.h> */
|
||||
# ifndef _WCHAR_T_DEFINED
|
||||
typedef unsigned short wchar_t;
|
||||
# define _WCHAR_T_DEFINED
|
||||
# endif
|
||||
# endif
|
||||
|
||||
/* To disable automatic library usage for GLUT, define GLUT_NO_LIB_PRAGMA
|
||||
in your compile preprocessor options. */
|
||||
# if !defined(GLUT_BUILDING_LIB) && !defined(GLUT_NO_LIB_PRAGMA)
|
||||
# pragma comment (lib, "winmm.lib") /* link with Windows MultiMedia lib */
|
||||
/* To enable automatic SGI OpenGL for Windows library usage for GLUT,
|
||||
define GLUT_USE_SGI_OPENGL in your compile preprocessor options. */
|
||||
# ifdef GLUT_USE_SGI_OPENGL
|
||||
# pragma comment (lib, "opengl.lib") /* link with SGI OpenGL for Windows lib */
|
||||
# pragma comment (lib, "glu.lib") /* link with SGI OpenGL Utility lib */
|
||||
# pragma comment (lib, "glut.lib") /* link with Win32 GLUT for SGI OpenGL lib */
|
||||
# else
|
||||
# pragma comment (lib, "opengl32.lib") /* link with Microsoft OpenGL lib */
|
||||
# pragma comment (lib, "glu32.lib") /* link with Microsoft OpenGL Utility lib */
|
||||
# pragma comment (lib, "glut32.lib") /* link with Win32 GLUT lib */
|
||||
# endif
|
||||
# endif
|
||||
|
||||
/* To disable supression of annoying warnings about floats being promoted
|
||||
to doubles, define GLUT_NO_WARNING_DISABLE in your compile preprocessor
|
||||
options. */
|
||||
# ifndef GLUT_NO_WARNING_DISABLE
|
||||
# pragma warning (disable:4244) /* Disable bogus VC++ 4.2 conversion warnings. */
|
||||
# pragma warning (disable:4305) /* VC++ 5.0 version of above warning. */
|
||||
# endif
|
||||
|
||||
/* Win32 has an annoying issue where there are multiple C run-time
|
||||
libraries (CRTs). If the executable is linked with a different CRT
|
||||
from the GLUT DLL, the GLUT DLL will not share the same CRT static
|
||||
data seen by the executable. In particular, atexit callbacks registered
|
||||
in the executable will not be called if GLUT calls its (different)
|
||||
exit routine). GLUT is typically built with the
|
||||
"/MD" option (the CRT with multithreading DLL support), but the Visual
|
||||
C++ linker default is "/ML" (the single threaded CRT).
|
||||
|
||||
One workaround to this issue is requiring users to always link with
|
||||
the same CRT as GLUT is compiled with. That requires users supply a
|
||||
non-standard option. GLUT 3.7 has its own built-in workaround where
|
||||
the executable's "exit" function pointer is covertly passed to GLUT.
|
||||
GLUT then calls the executable's exit function pointer to ensure that
|
||||
any "atexit" calls registered by the application are called if GLUT
|
||||
needs to exit.
|
||||
|
||||
Note that the __glut*WithExit routines should NEVER be called directly.
|
||||
To avoid the atexit workaround, #define GLUT_DISABLE_ATEXIT_HACK. */
|
||||
|
||||
/* XXX This is from Win32's <process.h> */
|
||||
# if !defined(_MSC_VER) && !defined(__cdecl)
|
||||
/* Define __cdecl for non-Microsoft compilers. */
|
||||
# define __cdecl
|
||||
# define GLUT_DEFINED___CDECL
|
||||
# endif
|
||||
# ifndef _CRTIMP
|
||||
# ifdef _NTSDK
|
||||
/* Definition compatible with NT SDK */
|
||||
# define _CRTIMP
|
||||
# else
|
||||
/* Current definition */
|
||||
# ifdef _DLL
|
||||
# define _CRTIMP __declspec(dllimport)
|
||||
# else
|
||||
# define _CRTIMP
|
||||
# endif
|
||||
# endif
|
||||
# define GLUT_DEFINED__CRTIMP
|
||||
# endif
|
||||
|
||||
/* GLUT API entry point declarations for Win32. */
|
||||
# ifdef GLUT_BUILDING_LIB
|
||||
# define GLUTAPI __declspec(dllexport)
|
||||
# else
|
||||
# ifdef _DLL
|
||||
# define GLUTAPI __declspec(dllimport)
|
||||
# else
|
||||
# define GLUTAPI extern
|
||||
# endif
|
||||
# endif
|
||||
|
||||
/* GLUT callback calling convention for Win32. */
|
||||
# define GLUTCALLBACK __cdecl
|
||||
|
||||
#endif /* _WIN32 */
|
||||
|
||||
#include <GL/gl.h>
|
||||
#include <GL/glu.h>
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
#if defined(_WIN32)
|
||||
# ifndef GLUT_BUILDING_LIB
|
||||
extern _CRTIMP void __cdecl exit(int);
|
||||
# endif
|
||||
#else
|
||||
/* non-Win32 case. */
|
||||
/* Define APIENTRY and CALLBACK to nothing if we aren't on Win32. */
|
||||
# define APIENTRY
|
||||
# define GLUT_APIENTRY_DEFINED
|
||||
# define CALLBACK
|
||||
/* Define GLUTAPI and GLUTCALLBACK as below if we aren't on Win32. */
|
||||
# define GLUTAPI extern
|
||||
# define GLUTCALLBACK
|
||||
/* Prototype exit for the non-Win32 case (see above). */
|
||||
extern void exit(int);
|
||||
#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, glutKeyboardUpFunc,
|
||||
glutSpecialUpFunc, glutIgnoreKeyRepeat, glutSetKeyRepeat,
|
||||
glutJoystickFunc, glutForceJoystickFunc (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.
|
||||
|
||||
GLUT_XLIB_IMPLEMENTATION=13 mjk's GLUT 3.7 beta with GameGLUT support.
|
||||
|
||||
GLUT_XLIB_IMPLEMENTATION=14 mjk's GLUT 3.7 beta with f90gl friend interface.
|
||||
|
||||
GLUT_XLIB_IMPLEMENTATION=15 mjk's GLUT 3.7 beta sync'ed with Mesa <GL/glut.h>
|
||||
**/
|
||||
#ifndef GLUT_XLIB_IMPLEMENTATION /* Allow this to be overriden. */
|
||||
#define GLUT_XLIB_IMPLEMENTATION 15
|
||||
#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
|
||||
|
||||
#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). */
|
||||
GLUTAPI void *glutStrokeRoman;
|
||||
GLUTAPI 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). */
|
||||
GLUTAPI void *glutBitmap9By15;
|
||||
GLUTAPI void *glutBitmap8By13;
|
||||
GLUTAPI void *glutBitmapTimesRoman10;
|
||||
GLUTAPI void *glutBitmapTimesRoman24;
|
||||
GLUTAPI void *glutBitmapHelvetica10;
|
||||
GLUTAPI void *glutBitmapHelvetica12;
|
||||
GLUTAPI 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 ((GLenum) 100)
|
||||
#define GLUT_WINDOW_Y ((GLenum) 101)
|
||||
#define GLUT_WINDOW_WIDTH ((GLenum) 102)
|
||||
#define GLUT_WINDOW_HEIGHT ((GLenum) 103)
|
||||
#define GLUT_WINDOW_BUFFER_SIZE ((GLenum) 104)
|
||||
#define GLUT_WINDOW_STENCIL_SIZE ((GLenum) 105)
|
||||
#define GLUT_WINDOW_DEPTH_SIZE ((GLenum) 106)
|
||||
#define GLUT_WINDOW_RED_SIZE ((GLenum) 107)
|
||||
#define GLUT_WINDOW_GREEN_SIZE ((GLenum) 108)
|
||||
#define GLUT_WINDOW_BLUE_SIZE ((GLenum) 109)
|
||||
#define GLUT_WINDOW_ALPHA_SIZE ((GLenum) 110)
|
||||
#define GLUT_WINDOW_ACCUM_RED_SIZE ((GLenum) 111)
|
||||
#define GLUT_WINDOW_ACCUM_GREEN_SIZE ((GLenum) 112)
|
||||
#define GLUT_WINDOW_ACCUM_BLUE_SIZE ((GLenum) 113)
|
||||
#define GLUT_WINDOW_ACCUM_ALPHA_SIZE ((GLenum) 114)
|
||||
#define GLUT_WINDOW_DOUBLEBUFFER ((GLenum) 115)
|
||||
#define GLUT_WINDOW_RGBA ((GLenum) 116)
|
||||
#define GLUT_WINDOW_PARENT ((GLenum) 117)
|
||||
#define GLUT_WINDOW_NUM_CHILDREN ((GLenum) 118)
|
||||
#define GLUT_WINDOW_COLORMAP_SIZE ((GLenum) 119)
|
||||
#if (GLUT_API_VERSION >= 2)
|
||||
#define GLUT_WINDOW_NUM_SAMPLES ((GLenum) 120)
|
||||
#define GLUT_WINDOW_STEREO ((GLenum) 121)
|
||||
#endif
|
||||
#if (GLUT_API_VERSION >= 3)
|
||||
#define GLUT_WINDOW_CURSOR ((GLenum) 122)
|
||||
#endif
|
||||
#define GLUT_SCREEN_WIDTH ((GLenum) 200)
|
||||
#define GLUT_SCREEN_HEIGHT ((GLenum) 201)
|
||||
#define GLUT_SCREEN_WIDTH_MM ((GLenum) 202)
|
||||
#define GLUT_SCREEN_HEIGHT_MM ((GLenum) 203)
|
||||
#define GLUT_MENU_NUM_ITEMS ((GLenum) 300)
|
||||
#define GLUT_DISPLAY_MODE_POSSIBLE ((GLenum) 400)
|
||||
#define GLUT_INIT_WINDOW_X ((GLenum) 500)
|
||||
#define GLUT_INIT_WINDOW_Y ((GLenum) 501)
|
||||
#define GLUT_INIT_WINDOW_WIDTH ((GLenum) 502)
|
||||
#define GLUT_INIT_WINDOW_HEIGHT ((GLenum) 503)
|
||||
#define GLUT_INIT_DISPLAY_MODE ((GLenum) 504)
|
||||
#if (GLUT_API_VERSION >= 2)
|
||||
#define GLUT_ELAPSED_TIME ((GLenum) 700)
|
||||
#endif
|
||||
#if (GLUT_API_VERSION >= 4 || GLUT_XLIB_IMPLEMENTATION >= 13)
|
||||
#define GLUT_WINDOW_FORMAT_ID ((GLenum) 123)
|
||||
#endif
|
||||
|
||||
#if (GLUT_API_VERSION >= 2)
|
||||
/* glutDeviceGet parameters. */
|
||||
#define GLUT_HAS_KEYBOARD ((GLenum) 600)
|
||||
#define GLUT_HAS_MOUSE ((GLenum) 601)
|
||||
#define GLUT_HAS_SPACEBALL ((GLenum) 602)
|
||||
#define GLUT_HAS_DIAL_AND_BUTTON_BOX ((GLenum) 603)
|
||||
#define GLUT_HAS_TABLET ((GLenum) 604)
|
||||
#define GLUT_NUM_MOUSE_BUTTONS ((GLenum) 605)
|
||||
#define GLUT_NUM_SPACEBALL_BUTTONS ((GLenum) 606)
|
||||
#define GLUT_NUM_BUTTON_BOX_BUTTONS ((GLenum) 607)
|
||||
#define GLUT_NUM_DIALS ((GLenum) 608)
|
||||
#define GLUT_NUM_TABLET_BUTTONS ((GLenum) 609)
|
||||
#endif
|
||||
#if (GLUT_API_VERSION >= 4 || GLUT_XLIB_IMPLEMENTATION >= 13)
|
||||
#define GLUT_DEVICE_IGNORE_KEY_REPEAT ((GLenum) 610)
|
||||
#define GLUT_DEVICE_KEY_REPEAT ((GLenum) 611)
|
||||
#define GLUT_HAS_JOYSTICK ((GLenum) 612)
|
||||
#define GLUT_OWNS_JOYSTICK ((GLenum) 613)
|
||||
#define GLUT_JOYSTICK_BUTTONS ((GLenum) 614)
|
||||
#define GLUT_JOYSTICK_AXES ((GLenum) 615)
|
||||
#define GLUT_JOYSTICK_POLL_RATE ((GLenum) 616)
|
||||
#endif
|
||||
|
||||
#if (GLUT_API_VERSION >= 3)
|
||||
/* glutLayerGet parameters. */
|
||||
#define GLUT_OVERLAY_POSSIBLE ((GLenum) 800)
|
||||
#define GLUT_LAYER_IN_USE ((GLenum) 801)
|
||||
#define GLUT_HAS_OVERLAY ((GLenum) 802)
|
||||
#define GLUT_TRANSPARENT_INDEX ((GLenum) 803)
|
||||
#define GLUT_NORMAL_DAMAGED ((GLenum) 804)
|
||||
#define GLUT_OVERLAY_DAMAGED ((GLenum) 805)
|
||||
|
||||
#if (GLUT_API_VERSION >= 4 || GLUT_XLIB_IMPLEMENTATION >= 9)
|
||||
/* glutVideoResizeGet parameters. */
|
||||
#define GLUT_VIDEO_RESIZE_POSSIBLE ((GLenum) 900)
|
||||
#define GLUT_VIDEO_RESIZE_IN_USE ((GLenum) 901)
|
||||
#define GLUT_VIDEO_RESIZE_X_DELTA ((GLenum) 902)
|
||||
#define GLUT_VIDEO_RESIZE_Y_DELTA ((GLenum) 903)
|
||||
#define GLUT_VIDEO_RESIZE_WIDTH_DELTA ((GLenum) 904)
|
||||
#define GLUT_VIDEO_RESIZE_HEIGHT_DELTA ((GLenum) 905)
|
||||
#define GLUT_VIDEO_RESIZE_X ((GLenum) 906)
|
||||
#define GLUT_VIDEO_RESIZE_Y ((GLenum) 907)
|
||||
#define GLUT_VIDEO_RESIZE_WIDTH ((GLenum) 908)
|
||||
#define GLUT_VIDEO_RESIZE_HEIGHT ((GLenum) 909)
|
||||
#endif
|
||||
|
||||
/* glutUseLayer parameters. */
|
||||
#define GLUT_NORMAL ((GLenum) 0)
|
||||
#define GLUT_OVERLAY ((GLenum) 1)
|
||||
|
||||
/* glutGetModifiers return mask. */
|
||||
#define GLUT_ACTIVE_SHIFT 1
|
||||
#define GLUT_ACTIVE_CTRL 2
|
||||
#define GLUT_ACTIVE_ALT 4
|
||||
|
||||
/* glutSetCursor parameters. */
|
||||
/* Basic arrows. */
|
||||
#define GLUT_CURSOR_RIGHT_ARROW 0
|
||||
#define GLUT_CURSOR_LEFT_ARROW 1
|
||||
/* Symbolic cursor shapes. */
|
||||
#define GLUT_CURSOR_INFO 2
|
||||
#define GLUT_CURSOR_DESTROY 3
|
||||
#define GLUT_CURSOR_HELP 4
|
||||
#define GLUT_CURSOR_CYCLE 5
|
||||
#define GLUT_CURSOR_SPRAY 6
|
||||
#define GLUT_CURSOR_WAIT 7
|
||||
#define GLUT_CURSOR_TEXT 8
|
||||
#define GLUT_CURSOR_CROSSHAIR 9
|
||||
/* Directional cursors. */
|
||||
#define GLUT_CURSOR_UP_DOWN 10
|
||||
#define GLUT_CURSOR_LEFT_RIGHT 11
|
||||
/* Sizing cursors. */
|
||||
#define GLUT_CURSOR_TOP_SIDE 12
|
||||
#define GLUT_CURSOR_BOTTOM_SIDE 13
|
||||
#define GLUT_CURSOR_LEFT_SIDE 14
|
||||
#define GLUT_CURSOR_RIGHT_SIDE 15
|
||||
#define GLUT_CURSOR_TOP_LEFT_CORNER 16
|
||||
#define GLUT_CURSOR_TOP_RIGHT_CORNER 17
|
||||
#define GLUT_CURSOR_BOTTOM_RIGHT_CORNER 18
|
||||
#define GLUT_CURSOR_BOTTOM_LEFT_CORNER 19
|
||||
/* Inherit from parent window. */
|
||||
#define GLUT_CURSOR_INHERIT 100
|
||||
/* Blank cursor. */
|
||||
#define GLUT_CURSOR_NONE 101
|
||||
/* Fullscreen crosshair (if available). */
|
||||
#define GLUT_CURSOR_FULL_CROSSHAIR 102
|
||||
#endif
|
||||
|
||||
/* GLUT initialization sub-API. */
|
||||
GLUTAPI void APIENTRY glutInit(int *argcp, char **argv);
|
||||
#if defined(_WIN32) && !defined(GLUT_DISABLE_ATEXIT_HACK)
|
||||
GLUTAPI void APIENTRY __glutInitWithExit(int *argcp, char **argv, void (__cdecl *exitfunc)(int));
|
||||
#ifndef GLUT_BUILDING_LIB
|
||||
static void APIENTRY glutInit_ATEXIT_HACK(int *argcp, char **argv) { __glutInitWithExit(argcp, argv, exit); }
|
||||
#define glutInit glutInit_ATEXIT_HACK
|
||||
#endif
|
||||
#endif
|
||||
GLUTAPI void APIENTRY glutInitDisplayMode(unsigned int mode);
|
||||
#if (GLUT_API_VERSION >= 4 || GLUT_XLIB_IMPLEMENTATION >= 9)
|
||||
GLUTAPI void APIENTRY glutInitDisplayString(const char *string);
|
||||
#endif
|
||||
GLUTAPI void APIENTRY glutInitWindowPosition(int x, int y);
|
||||
GLUTAPI void APIENTRY glutInitWindowSize(int width, int height);
|
||||
GLUTAPI void APIENTRY glutMainLoop(void);
|
||||
|
||||
/* GLUT window sub-API. */
|
||||
GLUTAPI int APIENTRY glutCreateWindow(const char *title);
|
||||
#if defined(_WIN32) && !defined(GLUT_DISABLE_ATEXIT_HACK)
|
||||
GLUTAPI int APIENTRY __glutCreateWindowWithExit(const char *title, void (__cdecl *exitfunc)(int));
|
||||
#ifndef GLUT_BUILDING_LIB
|
||||
static int APIENTRY glutCreateWindow_ATEXIT_HACK(const char *title) { return __glutCreateWindowWithExit(title, exit); }
|
||||
#define glutCreateWindow glutCreateWindow_ATEXIT_HACK
|
||||
#endif
|
||||
#endif
|
||||
GLUTAPI int APIENTRY glutCreateSubWindow(int win, int x, int y, int width, int height);
|
||||
GLUTAPI void APIENTRY glutDestroyWindow(int win);
|
||||
GLUTAPI void APIENTRY glutPostRedisplay(void);
|
||||
#if (GLUT_API_VERSION >= 4 || GLUT_XLIB_IMPLEMENTATION >= 11)
|
||||
GLUTAPI void APIENTRY glutPostWindowRedisplay(int win);
|
||||
#endif
|
||||
GLUTAPI void APIENTRY glutSwapBuffers(void);
|
||||
GLUTAPI int APIENTRY glutGetWindow(void);
|
||||
GLUTAPI void APIENTRY glutSetWindow(int win);
|
||||
GLUTAPI void APIENTRY glutSetWindowTitle(const char *title);
|
||||
GLUTAPI void APIENTRY glutSetIconTitle(const char *title);
|
||||
GLUTAPI void APIENTRY glutPositionWindow(int x, int y);
|
||||
GLUTAPI void APIENTRY glutReshapeWindow(int width, int height);
|
||||
GLUTAPI void APIENTRY glutPopWindow(void);
|
||||
GLUTAPI void APIENTRY glutPushWindow(void);
|
||||
GLUTAPI void APIENTRY glutIconifyWindow(void);
|
||||
GLUTAPI void APIENTRY glutShowWindow(void);
|
||||
GLUTAPI void APIENTRY glutHideWindow(void);
|
||||
#if (GLUT_API_VERSION >= 3)
|
||||
GLUTAPI void APIENTRY glutFullScreen(void);
|
||||
GLUTAPI void APIENTRY glutSetCursor(int cursor);
|
||||
#if (GLUT_API_VERSION >= 4 || GLUT_XLIB_IMPLEMENTATION >= 9)
|
||||
GLUTAPI void APIENTRY glutWarpPointer(int x, int y);
|
||||
#endif
|
||||
|
||||
/* GLUT overlay sub-API. */
|
||||
GLUTAPI void APIENTRY glutEstablishOverlay(void);
|
||||
GLUTAPI void APIENTRY glutRemoveOverlay(void);
|
||||
GLUTAPI void APIENTRY glutUseLayer(GLenum layer);
|
||||
GLUTAPI void APIENTRY glutPostOverlayRedisplay(void);
|
||||
#if (GLUT_API_VERSION >= 4 || GLUT_XLIB_IMPLEMENTATION >= 11)
|
||||
GLUTAPI void APIENTRY glutPostWindowOverlayRedisplay(int win);
|
||||
#endif
|
||||
GLUTAPI void APIENTRY glutShowOverlay(void);
|
||||
GLUTAPI void APIENTRY glutHideOverlay(void);
|
||||
#endif
|
||||
|
||||
/* GLUT menu sub-API. */
|
||||
GLUTAPI int APIENTRY glutCreateMenu(void (GLUTCALLBACK *func)(int));
|
||||
#if defined(_WIN32) && !defined(GLUT_DISABLE_ATEXIT_HACK)
|
||||
GLUTAPI int APIENTRY __glutCreateMenuWithExit(void (GLUTCALLBACK *func)(int), void (__cdecl *exitfunc)(int));
|
||||
#ifndef GLUT_BUILDING_LIB
|
||||
static int APIENTRY glutCreateMenu_ATEXIT_HACK(void (GLUTCALLBACK *func)(int)) { return __glutCreateMenuWithExit(func, exit); }
|
||||
#define glutCreateMenu glutCreateMenu_ATEXIT_HACK
|
||||
#endif
|
||||
#endif
|
||||
GLUTAPI void APIENTRY glutDestroyMenu(int menu);
|
||||
GLUTAPI int APIENTRY glutGetMenu(void);
|
||||
GLUTAPI void APIENTRY glutSetMenu(int menu);
|
||||
GLUTAPI void APIENTRY glutAddMenuEntry(const char *label, int value);
|
||||
GLUTAPI void APIENTRY glutAddSubMenu(const char *label, int submenu);
|
||||
GLUTAPI void APIENTRY glutChangeToMenuEntry(int item, const char *label, int value);
|
||||
GLUTAPI void APIENTRY glutChangeToSubMenu(int item, const char *label, int submenu);
|
||||
GLUTAPI void APIENTRY glutRemoveMenuItem(int item);
|
||||
GLUTAPI void APIENTRY glutAttachMenu(int button);
|
||||
GLUTAPI void APIENTRY glutDetachMenu(int button);
|
||||
|
||||
/* GLUT window callback sub-API. */
|
||||
GLUTAPI void APIENTRY glutDisplayFunc(void (GLUTCALLBACK *func)(void));
|
||||
GLUTAPI void APIENTRY glutReshapeFunc(void (GLUTCALLBACK *func)(int width, int height));
|
||||
GLUTAPI void APIENTRY glutKeyboardFunc(void (GLUTCALLBACK *func)(unsigned char key, int x, int y));
|
||||
GLUTAPI void APIENTRY glutMouseFunc(void (GLUTCALLBACK *func)(int button, int state, int x, int y));
|
||||
GLUTAPI void APIENTRY glutMotionFunc(void (GLUTCALLBACK *func)(int x, int y));
|
||||
GLUTAPI void APIENTRY glutPassiveMotionFunc(void (GLUTCALLBACK *func)(int x, int y));
|
||||
GLUTAPI void APIENTRY glutEntryFunc(void (GLUTCALLBACK *func)(int state));
|
||||
GLUTAPI void APIENTRY glutVisibilityFunc(void (GLUTCALLBACK *func)(int state));
|
||||
GLUTAPI void APIENTRY glutIdleFunc(void (GLUTCALLBACK *func)(void));
|
||||
GLUTAPI void APIENTRY glutTimerFunc(unsigned int millis, void (GLUTCALLBACK *func)(int value), int value);
|
||||
GLUTAPI void APIENTRY glutMenuStateFunc(void (GLUTCALLBACK *func)(int state));
|
||||
#if (GLUT_API_VERSION >= 2)
|
||||
GLUTAPI void APIENTRY glutSpecialFunc(void (GLUTCALLBACK *func)(int key, int x, int y));
|
||||
GLUTAPI void APIENTRY glutSpaceballMotionFunc(void (GLUTCALLBACK *func)(int x, int y, int z));
|
||||
GLUTAPI void APIENTRY glutSpaceballRotateFunc(void (GLUTCALLBACK *func)(int x, int y, int z));
|
||||
GLUTAPI void APIENTRY glutSpaceballButtonFunc(void (GLUTCALLBACK *func)(int button, int state));
|
||||
GLUTAPI void APIENTRY glutButtonBoxFunc(void (GLUTCALLBACK *func)(int button, int state));
|
||||
GLUTAPI void APIENTRY glutDialsFunc(void (GLUTCALLBACK *func)(int dial, int value));
|
||||
GLUTAPI void APIENTRY glutTabletMotionFunc(void (GLUTCALLBACK *func)(int x, int y));
|
||||
GLUTAPI void APIENTRY glutTabletButtonFunc(void (GLUTCALLBACK *func)(int button, int state, int x, int y));
|
||||
#if (GLUT_API_VERSION >= 3)
|
||||
GLUTAPI void APIENTRY glutMenuStatusFunc(void (GLUTCALLBACK *func)(int status, int x, int y));
|
||||
GLUTAPI void APIENTRY glutOverlayDisplayFunc(void (GLUTCALLBACK *func)(void));
|
||||
#if (GLUT_API_VERSION >= 4 || GLUT_XLIB_IMPLEMENTATION >= 9)
|
||||
GLUTAPI void APIENTRY glutWindowStatusFunc(void (GLUTCALLBACK *func)(int state));
|
||||
#endif
|
||||
#if (GLUT_API_VERSION >= 4 || GLUT_XLIB_IMPLEMENTATION >= 13)
|
||||
GLUTAPI void APIENTRY glutKeyboardUpFunc(void (GLUTCALLBACK *func)(unsigned char key, int x, int y));
|
||||
GLUTAPI void APIENTRY glutSpecialUpFunc(void (GLUTCALLBACK *func)(int key, int x, int y));
|
||||
GLUTAPI void APIENTRY glutJoystickFunc(void (GLUTCALLBACK *func)(unsigned int buttonMask, int x, int y, int z), int pollInterval);
|
||||
#endif
|
||||
#endif
|
||||
#endif
|
||||
|
||||
/* GLUT color index sub-API. */
|
||||
GLUTAPI void APIENTRY glutSetColor(int, GLfloat red, GLfloat green, GLfloat blue);
|
||||
GLUTAPI GLfloat APIENTRY glutGetColor(int ndx, int component);
|
||||
GLUTAPI void APIENTRY glutCopyColormap(int win);
|
||||
|
||||
/* GLUT state retrieval sub-API. */
|
||||
GLUTAPI int APIENTRY glutGet(GLenum type);
|
||||
GLUTAPI int APIENTRY glutDeviceGet(GLenum type);
|
||||
#if (GLUT_API_VERSION >= 2)
|
||||
/* GLUT extension support sub-API */
|
||||
GLUTAPI int APIENTRY glutExtensionSupported(const char *name);
|
||||
#endif
|
||||
#if (GLUT_API_VERSION >= 3)
|
||||
GLUTAPI int APIENTRY glutGetModifiers(void);
|
||||
GLUTAPI int APIENTRY glutLayerGet(GLenum type);
|
||||
#endif
|
||||
|
||||
/* GLUT font sub-API */
|
||||
GLUTAPI void APIENTRY glutBitmapCharacter(void *font, int character);
|
||||
GLUTAPI int APIENTRY glutBitmapWidth(void *font, int character);
|
||||
GLUTAPI void APIENTRY glutStrokeCharacter(void *font, int character);
|
||||
GLUTAPI int APIENTRY glutStrokeWidth(void *font, int character);
|
||||
#if (GLUT_API_VERSION >= 4 || GLUT_XLIB_IMPLEMENTATION >= 9)
|
||||
GLUTAPI int APIENTRY glutBitmapLength(void *font, const unsigned char *string);
|
||||
GLUTAPI int APIENTRY glutStrokeLength(void *font, const unsigned char *string);
|
||||
#endif
|
||||
|
||||
/* GLUT pre-built models sub-API */
|
||||
GLUTAPI void APIENTRY glutWireSphere(GLdouble radius, GLint slices, GLint stacks);
|
||||
GLUTAPI void APIENTRY glutSolidSphere(GLdouble radius, GLint slices, GLint stacks);
|
||||
GLUTAPI void APIENTRY glutWireCone(GLdouble base, GLdouble height, GLint slices, GLint stacks);
|
||||
GLUTAPI void APIENTRY glutSolidCone(GLdouble base, GLdouble height, GLint slices, GLint stacks);
|
||||
GLUTAPI void APIENTRY glutWireCube(GLdouble size);
|
||||
GLUTAPI void APIENTRY glutSolidCube(GLdouble size);
|
||||
GLUTAPI void APIENTRY glutWireTorus(GLdouble innerRadius, GLdouble outerRadius, GLint sides, GLint rings);
|
||||
GLUTAPI void APIENTRY glutSolidTorus(GLdouble innerRadius, GLdouble outerRadius, GLint sides, GLint rings);
|
||||
GLUTAPI void APIENTRY glutWireDodecahedron(void);
|
||||
GLUTAPI void APIENTRY glutSolidDodecahedron(void);
|
||||
GLUTAPI void APIENTRY glutWireTeapot(GLdouble size);
|
||||
GLUTAPI void APIENTRY glutSolidTeapot(GLdouble size);
|
||||
GLUTAPI void APIENTRY glutWireOctahedron(void);
|
||||
GLUTAPI void APIENTRY glutSolidOctahedron(void);
|
||||
GLUTAPI void APIENTRY glutWireTetrahedron(void);
|
||||
GLUTAPI void APIENTRY glutSolidTetrahedron(void);
|
||||
GLUTAPI void APIENTRY glutWireIcosahedron(void);
|
||||
GLUTAPI void APIENTRY glutSolidIcosahedron(void);
|
||||
|
||||
#if (GLUT_API_VERSION >= 4 || GLUT_XLIB_IMPLEMENTATION >= 9)
|
||||
/* GLUT video resize sub-API. */
|
||||
GLUTAPI int APIENTRY glutVideoResizeGet(GLenum param);
|
||||
GLUTAPI void APIENTRY glutSetupVideoResizing(void);
|
||||
GLUTAPI void APIENTRY glutStopVideoResizing(void);
|
||||
GLUTAPI void APIENTRY glutVideoResize(int x, int y, int width, int height);
|
||||
GLUTAPI void APIENTRY glutVideoPan(int x, int y, int width, int height);
|
||||
|
||||
/* GLUT debugging sub-API. */
|
||||
GLUTAPI void APIENTRY glutReportErrors(void);
|
||||
#endif
|
||||
|
||||
#if (GLUT_API_VERSION >= 4 || GLUT_XLIB_IMPLEMENTATION >= 13)
|
||||
/* GLUT device control sub-API. */
|
||||
/* glutSetKeyRepeat modes. */
|
||||
#define GLUT_KEY_REPEAT_OFF 0
|
||||
#define GLUT_KEY_REPEAT_ON 1
|
||||
#define GLUT_KEY_REPEAT_DEFAULT 2
|
||||
|
||||
/* Joystick button masks. */
|
||||
#define GLUT_JOYSTICK_BUTTON_A 1
|
||||
#define GLUT_JOYSTICK_BUTTON_B 2
|
||||
#define GLUT_JOYSTICK_BUTTON_C 4
|
||||
#define GLUT_JOYSTICK_BUTTON_D 8
|
||||
|
||||
GLUTAPI void APIENTRY glutIgnoreKeyRepeat(int ignore);
|
||||
GLUTAPI void APIENTRY glutSetKeyRepeat(int repeatMode);
|
||||
GLUTAPI void APIENTRY glutForceJoystickFunc(void);
|
||||
|
||||
/* GLUT game mode sub-API. */
|
||||
/* glutGameModeGet. */
|
||||
#define GLUT_GAME_MODE_ACTIVE ((GLenum) 0)
|
||||
#define GLUT_GAME_MODE_POSSIBLE ((GLenum) 1)
|
||||
#define GLUT_GAME_MODE_WIDTH ((GLenum) 2)
|
||||
#define GLUT_GAME_MODE_HEIGHT ((GLenum) 3)
|
||||
#define GLUT_GAME_MODE_PIXEL_DEPTH ((GLenum) 4)
|
||||
#define GLUT_GAME_MODE_REFRESH_RATE ((GLenum) 5)
|
||||
#define GLUT_GAME_MODE_DISPLAY_CHANGED ((GLenum) 6)
|
||||
|
||||
GLUTAPI void APIENTRY glutGameModeString(const char *string);
|
||||
GLUTAPI int APIENTRY glutEnterGameMode(void);
|
||||
GLUTAPI void APIENTRY glutLeaveGameMode(void);
|
||||
GLUTAPI int APIENTRY glutGameModeGet(GLenum mode);
|
||||
#endif
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
|
||||
#endif
|
||||
|
||||
#ifdef GLUT_APIENTRY_DEFINED
|
||||
# undef GLUT_APIENTRY_DEFINED
|
||||
# undef APIENTRY
|
||||
#endif
|
||||
|
||||
#ifdef GLUT_WINGDIAPI_DEFINED
|
||||
# undef GLUT_WINGDIAPI_DEFINED
|
||||
# undef WINGDIAPI
|
||||
#endif
|
||||
|
||||
#ifdef GLUT_DEFINED___CDECL
|
||||
# undef GLUT_DEFINED___CDECL
|
||||
# undef __cdecl
|
||||
#endif
|
||||
|
||||
#ifdef GLUT_DEFINED__CRTIMP
|
||||
# undef GLUT_DEFINED__CRTIMP
|
||||
# undef _CRTIMP
|
||||
#endif
|
||||
|
||||
#endif /* __glut_h__ */
|
||||
92
CS4451/oglexamples/win32/cubes.dsp
Normal file
92
CS4451/oglexamples/win32/cubes.dsp
Normal file
@@ -0,0 +1,92 @@
|
||||
# Microsoft Developer Studio Project File - Name="cubes" - Package Owner=<4>
|
||||
# Microsoft Developer Studio Generated Build File, Format Version 6.00
|
||||
# ** DO NOT EDIT **
|
||||
|
||||
# TARGTYPE "Win32 (x86) Console Application" 0x0103
|
||||
|
||||
CFG=cubes - Win32 Debug
|
||||
!MESSAGE This is not a valid makefile. To build this project using NMAKE,
|
||||
!MESSAGE use the Export Makefile command and run
|
||||
!MESSAGE
|
||||
!MESSAGE NMAKE /f "cubes.mak".
|
||||
!MESSAGE
|
||||
!MESSAGE You can specify a configuration when running NMAKE
|
||||
!MESSAGE by defining the macro CFG on the command line. For example:
|
||||
!MESSAGE
|
||||
!MESSAGE NMAKE /f "cubes.mak" CFG="cubes - Win32 Debug"
|
||||
!MESSAGE
|
||||
!MESSAGE Possible choices for configuration are:
|
||||
!MESSAGE
|
||||
!MESSAGE "cubes - Win32 Release" (based on "Win32 (x86) Console Application")
|
||||
!MESSAGE "cubes - Win32 Debug" (based on "Win32 (x86) Console Application")
|
||||
!MESSAGE
|
||||
|
||||
# Begin Project
|
||||
# PROP AllowPerConfigDependencies 0
|
||||
# PROP Scc_ProjName ""
|
||||
# PROP Scc_LocalPath ""
|
||||
CPP=cl.exe
|
||||
RSC=rc.exe
|
||||
|
||||
!IF "$(CFG)" == "cubes - Win32 Release"
|
||||
|
||||
# PROP BASE Use_MFC 0
|
||||
# PROP BASE Use_Debug_Libraries 0
|
||||
# PROP BASE Output_Dir "Release"
|
||||
# PROP BASE Intermediate_Dir "Release"
|
||||
# PROP BASE Target_Dir ""
|
||||
# PROP Use_MFC 0
|
||||
# PROP Use_Debug_Libraries 0
|
||||
# PROP Output_Dir "Release"
|
||||
# PROP Intermediate_Dir "Release"
|
||||
# PROP Target_Dir ""
|
||||
# ADD BASE CPP /nologo /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /c
|
||||
# ADD CPP /nologo /W3 /GX /O2 /I "./" /D "WIN32" /D "NDEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /c
|
||||
# ADD BASE RSC /l 0x409 /d "NDEBUG"
|
||||
# ADD RSC /l 0x409 /d "NDEBUG"
|
||||
BSC32=bscmake.exe
|
||||
# ADD BASE BSC32 /nologo
|
||||
# ADD BSC32 /nologo
|
||||
LINK32=link.exe
|
||||
# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /machine:I386
|
||||
# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib opengl32.lib glu32.lib glut32.lib /nologo /subsystem:console /machine:I386 /libpath:"./lib"
|
||||
|
||||
!ELSEIF "$(CFG)" == "cubes - Win32 Debug"
|
||||
|
||||
# PROP BASE Use_MFC 0
|
||||
# PROP BASE Use_Debug_Libraries 1
|
||||
# PROP BASE Output_Dir "cubes___Win32_Debug"
|
||||
# PROP BASE Intermediate_Dir "cubes___Win32_Debug"
|
||||
# PROP BASE Target_Dir ""
|
||||
# PROP Use_MFC 0
|
||||
# PROP Use_Debug_Libraries 1
|
||||
# PROP Output_Dir "cubes___Win32_Debug"
|
||||
# PROP Intermediate_Dir "cubes___Win32_Debug"
|
||||
# PROP Target_Dir ""
|
||||
# ADD BASE CPP /nologo /W3 /Gm /GX /ZI /Od /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /GZ /c
|
||||
# ADD CPP /nologo /W3 /Gm /GX /ZI /Od /I "./" /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /GZ /c
|
||||
# ADD BASE RSC /l 0x409 /d "_DEBUG"
|
||||
# ADD RSC /l 0x409 /d "_DEBUG"
|
||||
BSC32=bscmake.exe
|
||||
# ADD BASE BSC32 /nologo
|
||||
# ADD BSC32 /nologo
|
||||
LINK32=link.exe
|
||||
# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /debug /machine:I386 /pdbtype:sept
|
||||
# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib opengl32.lib glu32.lib glut32.lib /nologo /subsystem:console /debug /machine:I386 /pdbtype:sept /libpath:"./lib"
|
||||
|
||||
!ENDIF
|
||||
|
||||
# Begin Target
|
||||
|
||||
# Name "cubes - Win32 Release"
|
||||
# Name "cubes - Win32 Debug"
|
||||
# Begin Group "Source Files"
|
||||
|
||||
# PROP Default_Filter "cpp;c;cxx;rc;def;r;odl;idl;hpj;bat"
|
||||
# Begin Source File
|
||||
|
||||
SOURCE=..\cubes.c
|
||||
# End Source File
|
||||
# End Group
|
||||
# End Target
|
||||
# End Project
|
||||
148
CS4451/oglexamples/win32/cubes.vcproj
Normal file
148
CS4451/oglexamples/win32/cubes.vcproj
Normal file
@@ -0,0 +1,148 @@
|
||||
<?xml version="1.0" encoding="Windows-1252"?>
|
||||
<VisualStudioProject
|
||||
ProjectType="Visual C++"
|
||||
Version="7.10"
|
||||
Name="cubes"
|
||||
SccProjectName=""
|
||||
SccLocalPath="">
|
||||
<Platforms>
|
||||
<Platform
|
||||
Name="Win32"/>
|
||||
</Platforms>
|
||||
<Configurations>
|
||||
<Configuration
|
||||
Name="Release|Win32"
|
||||
OutputDirectory=".\Release"
|
||||
IntermediateDirectory=".\Release"
|
||||
ConfigurationType="1"
|
||||
UseOfMFC="0"
|
||||
ATLMinimizesCRunTimeLibraryUsage="FALSE"
|
||||
CharacterSet="2">
|
||||
<Tool
|
||||
Name="VCCLCompilerTool"
|
||||
InlineFunctionExpansion="1"
|
||||
AdditionalIncludeDirectories="./"
|
||||
PreprocessorDefinitions="WIN32,NDEBUG,_CONSOLE"
|
||||
StringPooling="TRUE"
|
||||
RuntimeLibrary="4"
|
||||
EnableFunctionLevelLinking="TRUE"
|
||||
UsePrecompiledHeader="2"
|
||||
PrecompiledHeaderFile=".\Release/cubes.pch"
|
||||
AssemblerListingLocation=".\Release/"
|
||||
ObjectFile=".\Release/"
|
||||
ProgramDataBaseFileName=".\Release/"
|
||||
WarningLevel="3"
|
||||
SuppressStartupBanner="TRUE"
|
||||
CompileAs="0"/>
|
||||
<Tool
|
||||
Name="VCCustomBuildTool"/>
|
||||
<Tool
|
||||
Name="VCLinkerTool"
|
||||
AdditionalOptions="/MACHINE:I386"
|
||||
AdditionalDependencies="odbc32.lib odbccp32.lib opengl32.lib glu32.lib glut32.lib"
|
||||
OutputFile=".\Release/cubes.exe"
|
||||
LinkIncremental="1"
|
||||
SuppressStartupBanner="TRUE"
|
||||
AdditionalLibraryDirectories="./lib"
|
||||
ProgramDatabaseFile=".\Release/cubes.pdb"
|
||||
SubSystem="1"/>
|
||||
<Tool
|
||||
Name="VCMIDLTool"
|
||||
TypeLibraryName=".\Release/cubes.tlb"/>
|
||||
<Tool
|
||||
Name="VCPostBuildEventTool"/>
|
||||
<Tool
|
||||
Name="VCPreBuildEventTool"/>
|
||||
<Tool
|
||||
Name="VCPreLinkEventTool"/>
|
||||
<Tool
|
||||
Name="VCResourceCompilerTool"
|
||||
PreprocessorDefinitions="NDEBUG"
|
||||
Culture="1033"/>
|
||||
<Tool
|
||||
Name="VCWebServiceProxyGeneratorTool"/>
|
||||
<Tool
|
||||
Name="VCXMLDataGeneratorTool"/>
|
||||
<Tool
|
||||
Name="VCWebDeploymentTool"/>
|
||||
<Tool
|
||||
Name="VCManagedWrapperGeneratorTool"/>
|
||||
<Tool
|
||||
Name="VCAuxiliaryManagedWrapperGeneratorTool"/>
|
||||
</Configuration>
|
||||
<Configuration
|
||||
Name="Debug|Win32"
|
||||
OutputDirectory=".\cubes___Win32_Debug"
|
||||
IntermediateDirectory=".\cubes___Win32_Debug"
|
||||
ConfigurationType="1"
|
||||
UseOfMFC="0"
|
||||
ATLMinimizesCRunTimeLibraryUsage="FALSE"
|
||||
CharacterSet="2">
|
||||
<Tool
|
||||
Name="VCCLCompilerTool"
|
||||
Optimization="0"
|
||||
AdditionalIncludeDirectories="./"
|
||||
PreprocessorDefinitions="WIN32,_DEBUG,_CONSOLE"
|
||||
BasicRuntimeChecks="3"
|
||||
RuntimeLibrary="5"
|
||||
UsePrecompiledHeader="2"
|
||||
PrecompiledHeaderFile=".\cubes___Win32_Debug/cubes.pch"
|
||||
AssemblerListingLocation=".\cubes___Win32_Debug/"
|
||||
ObjectFile=".\cubes___Win32_Debug/"
|
||||
ProgramDataBaseFileName=".\cubes___Win32_Debug/"
|
||||
WarningLevel="3"
|
||||
SuppressStartupBanner="TRUE"
|
||||
DebugInformationFormat="4"
|
||||
CompileAs="0"/>
|
||||
<Tool
|
||||
Name="VCCustomBuildTool"/>
|
||||
<Tool
|
||||
Name="VCLinkerTool"
|
||||
AdditionalOptions="/MACHINE:I386"
|
||||
AdditionalDependencies="odbc32.lib odbccp32.lib opengl32.lib glu32.lib glut32.lib"
|
||||
OutputFile=".\cubes___Win32_Debug/cubes.exe"
|
||||
LinkIncremental="2"
|
||||
SuppressStartupBanner="TRUE"
|
||||
AdditionalLibraryDirectories="./lib"
|
||||
GenerateDebugInformation="TRUE"
|
||||
ProgramDatabaseFile=".\cubes___Win32_Debug/cubes.pdb"
|
||||
SubSystem="1"/>
|
||||
<Tool
|
||||
Name="VCMIDLTool"
|
||||
TypeLibraryName=".\cubes___Win32_Debug/cubes.tlb"/>
|
||||
<Tool
|
||||
Name="VCPostBuildEventTool"/>
|
||||
<Tool
|
||||
Name="VCPreBuildEventTool"/>
|
||||
<Tool
|
||||
Name="VCPreLinkEventTool"/>
|
||||
<Tool
|
||||
Name="VCResourceCompilerTool"
|
||||
PreprocessorDefinitions="_DEBUG"
|
||||
Culture="1033"/>
|
||||
<Tool
|
||||
Name="VCWebServiceProxyGeneratorTool"/>
|
||||
<Tool
|
||||
Name="VCXMLDataGeneratorTool"/>
|
||||
<Tool
|
||||
Name="VCWebDeploymentTool"/>
|
||||
<Tool
|
||||
Name="VCManagedWrapperGeneratorTool"/>
|
||||
<Tool
|
||||
Name="VCAuxiliaryManagedWrapperGeneratorTool"/>
|
||||
</Configuration>
|
||||
</Configurations>
|
||||
<References>
|
||||
</References>
|
||||
<Files>
|
||||
<Filter
|
||||
Name="Source Files"
|
||||
Filter="cpp;c;cxx;rc;def;r;odl;idl;hpj;bat">
|
||||
<File
|
||||
RelativePath="..\cubes.c">
|
||||
</File>
|
||||
</Filter>
|
||||
</Files>
|
||||
<Globals>
|
||||
</Globals>
|
||||
</VisualStudioProject>
|
||||
134
CS4451/oglexamples/win32/cubes.vcproj.old
Normal file
134
CS4451/oglexamples/win32/cubes.vcproj.old
Normal file
@@ -0,0 +1,134 @@
|
||||
<?xml version="1.0" encoding = "Windows-1252"?>
|
||||
<VisualStudioProject
|
||||
ProjectType="Visual C++"
|
||||
Version="7.00"
|
||||
Name="cubes"
|
||||
SccProjectName=""
|
||||
SccLocalPath="">
|
||||
<Platforms>
|
||||
<Platform
|
||||
Name="Win32"/>
|
||||
</Platforms>
|
||||
<Configurations>
|
||||
<Configuration
|
||||
Name="Release|Win32"
|
||||
OutputDirectory=".\Release"
|
||||
IntermediateDirectory=".\Release"
|
||||
ConfigurationType="1"
|
||||
UseOfMFC="0"
|
||||
ATLMinimizesCRunTimeLibraryUsage="FALSE"
|
||||
CharacterSet="2">
|
||||
<Tool
|
||||
Name="VCCLCompilerTool"
|
||||
InlineFunctionExpansion="1"
|
||||
AdditionalIncludeDirectories="./"
|
||||
PreprocessorDefinitions="WIN32,NDEBUG,_CONSOLE"
|
||||
StringPooling="TRUE"
|
||||
RuntimeLibrary="4"
|
||||
EnableFunctionLevelLinking="TRUE"
|
||||
UsePrecompiledHeader="2"
|
||||
PrecompiledHeaderFile=".\Release/cubes.pch"
|
||||
AssemblerListingLocation=".\Release/"
|
||||
ObjectFile=".\Release/"
|
||||
ProgramDataBaseFileName=".\Release/"
|
||||
WarningLevel="3"
|
||||
SuppressStartupBanner="TRUE"
|
||||
CompileAs="0"/>
|
||||
<Tool
|
||||
Name="VCCustomBuildTool"/>
|
||||
<Tool
|
||||
Name="VCLinkerTool"
|
||||
AdditionalOptions="/MACHINE:I386"
|
||||
AdditionalDependencies="odbc32.lib odbccp32.lib opengl32.lib glu32.lib glut32.lib"
|
||||
OutputFile=".\Release/cubes.exe"
|
||||
LinkIncremental="1"
|
||||
SuppressStartupBanner="TRUE"
|
||||
AdditionalLibraryDirectories="./lib"
|
||||
ProgramDatabaseFile=".\Release/cubes.pdb"
|
||||
SubSystem="1"/>
|
||||
<Tool
|
||||
Name="VCMIDLTool"
|
||||
TypeLibraryName=".\Release/cubes.tlb"/>
|
||||
<Tool
|
||||
Name="VCPostBuildEventTool"/>
|
||||
<Tool
|
||||
Name="VCPreBuildEventTool"/>
|
||||
<Tool
|
||||
Name="VCPreLinkEventTool"/>
|
||||
<Tool
|
||||
Name="VCResourceCompilerTool"
|
||||
PreprocessorDefinitions="NDEBUG"
|
||||
Culture="1033"/>
|
||||
<Tool
|
||||
Name="VCWebServiceProxyGeneratorTool"/>
|
||||
<Tool
|
||||
Name="VCWebDeploymentTool"/>
|
||||
</Configuration>
|
||||
<Configuration
|
||||
Name="Debug|Win32"
|
||||
OutputDirectory=".\cubes___Win32_Debug"
|
||||
IntermediateDirectory=".\cubes___Win32_Debug"
|
||||
ConfigurationType="1"
|
||||
UseOfMFC="0"
|
||||
ATLMinimizesCRunTimeLibraryUsage="FALSE"
|
||||
CharacterSet="2">
|
||||
<Tool
|
||||
Name="VCCLCompilerTool"
|
||||
Optimization="0"
|
||||
AdditionalIncludeDirectories="./"
|
||||
PreprocessorDefinitions="WIN32,_DEBUG,_CONSOLE"
|
||||
BasicRuntimeChecks="3"
|
||||
RuntimeLibrary="5"
|
||||
UsePrecompiledHeader="2"
|
||||
PrecompiledHeaderFile=".\cubes___Win32_Debug/cubes.pch"
|
||||
AssemblerListingLocation=".\cubes___Win32_Debug/"
|
||||
ObjectFile=".\cubes___Win32_Debug/"
|
||||
ProgramDataBaseFileName=".\cubes___Win32_Debug/"
|
||||
WarningLevel="3"
|
||||
SuppressStartupBanner="TRUE"
|
||||
DebugInformationFormat="4"
|
||||
CompileAs="0"/>
|
||||
<Tool
|
||||
Name="VCCustomBuildTool"/>
|
||||
<Tool
|
||||
Name="VCLinkerTool"
|
||||
AdditionalOptions="/MACHINE:I386"
|
||||
AdditionalDependencies="odbc32.lib odbccp32.lib opengl32.lib glu32.lib glut32.lib"
|
||||
OutputFile=".\cubes___Win32_Debug/cubes.exe"
|
||||
LinkIncremental="2"
|
||||
SuppressStartupBanner="TRUE"
|
||||
AdditionalLibraryDirectories="./lib"
|
||||
GenerateDebugInformation="TRUE"
|
||||
ProgramDatabaseFile=".\cubes___Win32_Debug/cubes.pdb"
|
||||
SubSystem="1"/>
|
||||
<Tool
|
||||
Name="VCMIDLTool"
|
||||
TypeLibraryName=".\cubes___Win32_Debug/cubes.tlb"/>
|
||||
<Tool
|
||||
Name="VCPostBuildEventTool"/>
|
||||
<Tool
|
||||
Name="VCPreBuildEventTool"/>
|
||||
<Tool
|
||||
Name="VCPreLinkEventTool"/>
|
||||
<Tool
|
||||
Name="VCResourceCompilerTool"
|
||||
PreprocessorDefinitions="_DEBUG"
|
||||
Culture="1033"/>
|
||||
<Tool
|
||||
Name="VCWebServiceProxyGeneratorTool"/>
|
||||
<Tool
|
||||
Name="VCWebDeploymentTool"/>
|
||||
</Configuration>
|
||||
</Configurations>
|
||||
<Files>
|
||||
<Filter
|
||||
Name="Source Files"
|
||||
Filter="cpp;c;cxx;rc;def;r;odl;idl;hpj;bat">
|
||||
<File
|
||||
RelativePath="..\cubes.c">
|
||||
</File>
|
||||
</Filter>
|
||||
</Files>
|
||||
<Globals>
|
||||
</Globals>
|
||||
</VisualStudioProject>
|
||||
BIN
CS4451/oglexamples/win32/glut32.dll
Normal file
BIN
CS4451/oglexamples/win32/glut32.dll
Normal file
Binary file not shown.
BIN
CS4451/oglexamples/win32/lib/GLAUX.LIB
Normal file
BIN
CS4451/oglexamples/win32/lib/GLAUX.LIB
Normal file
Binary file not shown.
BIN
CS4451/oglexamples/win32/lib/GLU32.LIB
Normal file
BIN
CS4451/oglexamples/win32/lib/GLU32.LIB
Normal file
Binary file not shown.
BIN
CS4451/oglexamples/win32/lib/OPENGL32.LIB
Normal file
BIN
CS4451/oglexamples/win32/lib/OPENGL32.LIB
Normal file
Binary file not shown.
BIN
CS4451/oglexamples/win32/lib/glut32.lib
Normal file
BIN
CS4451/oglexamples/win32/lib/glut32.lib
Normal file
Binary file not shown.
92
CS4451/oglexamples/win32/light.dsp
Normal file
92
CS4451/oglexamples/win32/light.dsp
Normal file
@@ -0,0 +1,92 @@
|
||||
# Microsoft Developer Studio Project File - Name="light" - Package Owner=<4>
|
||||
# Microsoft Developer Studio Generated Build File, Format Version 6.00
|
||||
# ** DO NOT EDIT **
|
||||
|
||||
# TARGTYPE "Win32 (x86) Console Application" 0x0103
|
||||
|
||||
CFG=light - Win32 Debug
|
||||
!MESSAGE This is not a valid makefile. To build this project using NMAKE,
|
||||
!MESSAGE use the Export Makefile command and run
|
||||
!MESSAGE
|
||||
!MESSAGE NMAKE /f "light.mak".
|
||||
!MESSAGE
|
||||
!MESSAGE You can specify a configuration when running NMAKE
|
||||
!MESSAGE by defining the macro CFG on the command line. For example:
|
||||
!MESSAGE
|
||||
!MESSAGE NMAKE /f "light.mak" CFG="light - Win32 Debug"
|
||||
!MESSAGE
|
||||
!MESSAGE Possible choices for configuration are:
|
||||
!MESSAGE
|
||||
!MESSAGE "light - Win32 Release" (based on "Win32 (x86) Console Application")
|
||||
!MESSAGE "light - Win32 Debug" (based on "Win32 (x86) Console Application")
|
||||
!MESSAGE
|
||||
|
||||
# Begin Project
|
||||
# PROP AllowPerConfigDependencies 0
|
||||
# PROP Scc_ProjName ""
|
||||
# PROP Scc_LocalPath ""
|
||||
CPP=cl.exe
|
||||
RSC=rc.exe
|
||||
|
||||
!IF "$(CFG)" == "light - Win32 Release"
|
||||
|
||||
# PROP BASE Use_MFC 0
|
||||
# PROP BASE Use_Debug_Libraries 0
|
||||
# PROP BASE Output_Dir "Release"
|
||||
# PROP BASE Intermediate_Dir "Release"
|
||||
# PROP BASE Target_Dir ""
|
||||
# PROP Use_MFC 0
|
||||
# PROP Use_Debug_Libraries 0
|
||||
# PROP Output_Dir "Release"
|
||||
# PROP Intermediate_Dir "Release"
|
||||
# PROP Target_Dir ""
|
||||
# ADD BASE CPP /nologo /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /c
|
||||
# ADD CPP /nologo /W3 /GX /O2 /I "./" /D "WIN32" /D "NDEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /c
|
||||
# ADD BASE RSC /l 0x409 /d "NDEBUG"
|
||||
# ADD RSC /l 0x409 /d "NDEBUG"
|
||||
BSC32=bscmake.exe
|
||||
# ADD BASE BSC32 /nologo
|
||||
# ADD BSC32 /nologo
|
||||
LINK32=link.exe
|
||||
# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /machine:I386
|
||||
# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib opengl32.lib glu32.lib glut32.lib /nologo /subsystem:console /machine:I386 /libpath:"./lib"
|
||||
|
||||
!ELSEIF "$(CFG)" == "light - Win32 Debug"
|
||||
|
||||
# PROP BASE Use_MFC 0
|
||||
# PROP BASE Use_Debug_Libraries 1
|
||||
# PROP BASE Output_Dir "light___Win32_Debug"
|
||||
# PROP BASE Intermediate_Dir "light___Win32_Debug"
|
||||
# PROP BASE Target_Dir ""
|
||||
# PROP Use_MFC 0
|
||||
# PROP Use_Debug_Libraries 1
|
||||
# PROP Output_Dir "light___Win32_Debug"
|
||||
# PROP Intermediate_Dir "light___Win32_Debug"
|
||||
# PROP Target_Dir ""
|
||||
# ADD BASE CPP /nologo /W3 /Gm /GX /ZI /Od /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /GZ /c
|
||||
# ADD CPP /nologo /W3 /Gm /GX /ZI /Od /I "./" /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /GZ /c
|
||||
# ADD BASE RSC /l 0x409 /d "_DEBUG"
|
||||
# ADD RSC /l 0x409 /d "_DEBUG"
|
||||
BSC32=bscmake.exe
|
||||
# ADD BASE BSC32 /nologo
|
||||
# ADD BSC32 /nologo
|
||||
LINK32=link.exe
|
||||
# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /debug /machine:I386 /pdbtype:sept
|
||||
# ADD LINK32 opengl32.lib glu32.lib glut32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /debug /machine:I386 /pdbtype:sept /libpath:"./lib"
|
||||
|
||||
!ENDIF
|
||||
|
||||
# Begin Target
|
||||
|
||||
# Name "light - Win32 Release"
|
||||
# Name "light - Win32 Debug"
|
||||
# Begin Group "Source Files"
|
||||
|
||||
# PROP Default_Filter "cpp;c;cxx;rc;def;r;odl;idl;hpj;bat"
|
||||
# Begin Source File
|
||||
|
||||
SOURCE=..\light.c
|
||||
# End Source File
|
||||
# End Group
|
||||
# End Target
|
||||
# End Project
|
||||
148
CS4451/oglexamples/win32/light.vcproj
Normal file
148
CS4451/oglexamples/win32/light.vcproj
Normal file
@@ -0,0 +1,148 @@
|
||||
<?xml version="1.0" encoding="Windows-1252"?>
|
||||
<VisualStudioProject
|
||||
ProjectType="Visual C++"
|
||||
Version="7.10"
|
||||
Name="light"
|
||||
SccProjectName=""
|
||||
SccLocalPath="">
|
||||
<Platforms>
|
||||
<Platform
|
||||
Name="Win32"/>
|
||||
</Platforms>
|
||||
<Configurations>
|
||||
<Configuration
|
||||
Name="Debug|Win32"
|
||||
OutputDirectory=".\light___Win32_Debug"
|
||||
IntermediateDirectory=".\light___Win32_Debug"
|
||||
ConfigurationType="1"
|
||||
UseOfMFC="0"
|
||||
ATLMinimizesCRunTimeLibraryUsage="FALSE"
|
||||
CharacterSet="2">
|
||||
<Tool
|
||||
Name="VCCLCompilerTool"
|
||||
Optimization="0"
|
||||
AdditionalIncludeDirectories="./"
|
||||
PreprocessorDefinitions="WIN32,_DEBUG,_CONSOLE"
|
||||
BasicRuntimeChecks="3"
|
||||
RuntimeLibrary="5"
|
||||
UsePrecompiledHeader="2"
|
||||
PrecompiledHeaderFile=".\light___Win32_Debug/light.pch"
|
||||
AssemblerListingLocation=".\light___Win32_Debug/"
|
||||
ObjectFile=".\light___Win32_Debug/"
|
||||
ProgramDataBaseFileName=".\light___Win32_Debug/"
|
||||
WarningLevel="3"
|
||||
SuppressStartupBanner="TRUE"
|
||||
DebugInformationFormat="4"
|
||||
CompileAs="0"/>
|
||||
<Tool
|
||||
Name="VCCustomBuildTool"/>
|
||||
<Tool
|
||||
Name="VCLinkerTool"
|
||||
AdditionalOptions="/MACHINE:I386"
|
||||
AdditionalDependencies="opengl32.lib glu32.lib glut32.lib odbc32.lib odbccp32.lib"
|
||||
OutputFile=".\light___Win32_Debug/light.exe"
|
||||
LinkIncremental="2"
|
||||
SuppressStartupBanner="TRUE"
|
||||
AdditionalLibraryDirectories="./lib"
|
||||
GenerateDebugInformation="TRUE"
|
||||
ProgramDatabaseFile=".\light___Win32_Debug/light.pdb"
|
||||
SubSystem="1"/>
|
||||
<Tool
|
||||
Name="VCMIDLTool"
|
||||
TypeLibraryName=".\light___Win32_Debug/light.tlb"/>
|
||||
<Tool
|
||||
Name="VCPostBuildEventTool"/>
|
||||
<Tool
|
||||
Name="VCPreBuildEventTool"/>
|
||||
<Tool
|
||||
Name="VCPreLinkEventTool"/>
|
||||
<Tool
|
||||
Name="VCResourceCompilerTool"
|
||||
PreprocessorDefinitions="_DEBUG"
|
||||
Culture="1033"/>
|
||||
<Tool
|
||||
Name="VCWebServiceProxyGeneratorTool"/>
|
||||
<Tool
|
||||
Name="VCXMLDataGeneratorTool"/>
|
||||
<Tool
|
||||
Name="VCWebDeploymentTool"/>
|
||||
<Tool
|
||||
Name="VCManagedWrapperGeneratorTool"/>
|
||||
<Tool
|
||||
Name="VCAuxiliaryManagedWrapperGeneratorTool"/>
|
||||
</Configuration>
|
||||
<Configuration
|
||||
Name="Release|Win32"
|
||||
OutputDirectory=".\Release"
|
||||
IntermediateDirectory=".\Release"
|
||||
ConfigurationType="1"
|
||||
UseOfMFC="0"
|
||||
ATLMinimizesCRunTimeLibraryUsage="FALSE"
|
||||
CharacterSet="2">
|
||||
<Tool
|
||||
Name="VCCLCompilerTool"
|
||||
InlineFunctionExpansion="1"
|
||||
AdditionalIncludeDirectories="./"
|
||||
PreprocessorDefinitions="WIN32,NDEBUG,_CONSOLE"
|
||||
StringPooling="TRUE"
|
||||
RuntimeLibrary="4"
|
||||
EnableFunctionLevelLinking="TRUE"
|
||||
UsePrecompiledHeader="2"
|
||||
PrecompiledHeaderFile=".\Release/light.pch"
|
||||
AssemblerListingLocation=".\Release/"
|
||||
ObjectFile=".\Release/"
|
||||
ProgramDataBaseFileName=".\Release/"
|
||||
WarningLevel="3"
|
||||
SuppressStartupBanner="TRUE"
|
||||
CompileAs="0"/>
|
||||
<Tool
|
||||
Name="VCCustomBuildTool"/>
|
||||
<Tool
|
||||
Name="VCLinkerTool"
|
||||
AdditionalOptions="/MACHINE:I386"
|
||||
AdditionalDependencies="odbc32.lib odbccp32.lib opengl32.lib glu32.lib glut32.lib"
|
||||
OutputFile=".\Release/light.exe"
|
||||
LinkIncremental="1"
|
||||
SuppressStartupBanner="TRUE"
|
||||
AdditionalLibraryDirectories="./lib"
|
||||
ProgramDatabaseFile=".\Release/light.pdb"
|
||||
SubSystem="1"/>
|
||||
<Tool
|
||||
Name="VCMIDLTool"
|
||||
TypeLibraryName=".\Release/light.tlb"/>
|
||||
<Tool
|
||||
Name="VCPostBuildEventTool"/>
|
||||
<Tool
|
||||
Name="VCPreBuildEventTool"/>
|
||||
<Tool
|
||||
Name="VCPreLinkEventTool"/>
|
||||
<Tool
|
||||
Name="VCResourceCompilerTool"
|
||||
PreprocessorDefinitions="NDEBUG"
|
||||
Culture="1033"/>
|
||||
<Tool
|
||||
Name="VCWebServiceProxyGeneratorTool"/>
|
||||
<Tool
|
||||
Name="VCXMLDataGeneratorTool"/>
|
||||
<Tool
|
||||
Name="VCWebDeploymentTool"/>
|
||||
<Tool
|
||||
Name="VCManagedWrapperGeneratorTool"/>
|
||||
<Tool
|
||||
Name="VCAuxiliaryManagedWrapperGeneratorTool"/>
|
||||
</Configuration>
|
||||
</Configurations>
|
||||
<References>
|
||||
</References>
|
||||
<Files>
|
||||
<Filter
|
||||
Name="Source Files"
|
||||
Filter="cpp;c;cxx;rc;def;r;odl;idl;hpj;bat">
|
||||
<File
|
||||
RelativePath="..\light.c">
|
||||
</File>
|
||||
</Filter>
|
||||
</Files>
|
||||
<Globals>
|
||||
</Globals>
|
||||
</VisualStudioProject>
|
||||
134
CS4451/oglexamples/win32/light.vcproj.old
Normal file
134
CS4451/oglexamples/win32/light.vcproj.old
Normal file
@@ -0,0 +1,134 @@
|
||||
<?xml version="1.0" encoding = "Windows-1252"?>
|
||||
<VisualStudioProject
|
||||
ProjectType="Visual C++"
|
||||
Version="7.00"
|
||||
Name="light"
|
||||
SccProjectName=""
|
||||
SccLocalPath="">
|
||||
<Platforms>
|
||||
<Platform
|
||||
Name="Win32"/>
|
||||
</Platforms>
|
||||
<Configurations>
|
||||
<Configuration
|
||||
Name="Debug|Win32"
|
||||
OutputDirectory=".\light___Win32_Debug"
|
||||
IntermediateDirectory=".\light___Win32_Debug"
|
||||
ConfigurationType="1"
|
||||
UseOfMFC="0"
|
||||
ATLMinimizesCRunTimeLibraryUsage="FALSE"
|
||||
CharacterSet="2">
|
||||
<Tool
|
||||
Name="VCCLCompilerTool"
|
||||
Optimization="0"
|
||||
AdditionalIncludeDirectories="./"
|
||||
PreprocessorDefinitions="WIN32,_DEBUG,_CONSOLE"
|
||||
BasicRuntimeChecks="3"
|
||||
RuntimeLibrary="5"
|
||||
UsePrecompiledHeader="2"
|
||||
PrecompiledHeaderFile=".\light___Win32_Debug/light.pch"
|
||||
AssemblerListingLocation=".\light___Win32_Debug/"
|
||||
ObjectFile=".\light___Win32_Debug/"
|
||||
ProgramDataBaseFileName=".\light___Win32_Debug/"
|
||||
WarningLevel="3"
|
||||
SuppressStartupBanner="TRUE"
|
||||
DebugInformationFormat="4"
|
||||
CompileAs="0"/>
|
||||
<Tool
|
||||
Name="VCCustomBuildTool"/>
|
||||
<Tool
|
||||
Name="VCLinkerTool"
|
||||
AdditionalOptions="/MACHINE:I386"
|
||||
AdditionalDependencies="opengl32.lib glu32.lib glut32.lib odbc32.lib odbccp32.lib"
|
||||
OutputFile=".\light___Win32_Debug/light.exe"
|
||||
LinkIncremental="2"
|
||||
SuppressStartupBanner="TRUE"
|
||||
AdditionalLibraryDirectories="./lib"
|
||||
GenerateDebugInformation="TRUE"
|
||||
ProgramDatabaseFile=".\light___Win32_Debug/light.pdb"
|
||||
SubSystem="1"/>
|
||||
<Tool
|
||||
Name="VCMIDLTool"
|
||||
TypeLibraryName=".\light___Win32_Debug/light.tlb"/>
|
||||
<Tool
|
||||
Name="VCPostBuildEventTool"/>
|
||||
<Tool
|
||||
Name="VCPreBuildEventTool"/>
|
||||
<Tool
|
||||
Name="VCPreLinkEventTool"/>
|
||||
<Tool
|
||||
Name="VCResourceCompilerTool"
|
||||
PreprocessorDefinitions="_DEBUG"
|
||||
Culture="1033"/>
|
||||
<Tool
|
||||
Name="VCWebServiceProxyGeneratorTool"/>
|
||||
<Tool
|
||||
Name="VCWebDeploymentTool"/>
|
||||
</Configuration>
|
||||
<Configuration
|
||||
Name="Release|Win32"
|
||||
OutputDirectory=".\Release"
|
||||
IntermediateDirectory=".\Release"
|
||||
ConfigurationType="1"
|
||||
UseOfMFC="0"
|
||||
ATLMinimizesCRunTimeLibraryUsage="FALSE"
|
||||
CharacterSet="2">
|
||||
<Tool
|
||||
Name="VCCLCompilerTool"
|
||||
InlineFunctionExpansion="1"
|
||||
AdditionalIncludeDirectories="./"
|
||||
PreprocessorDefinitions="WIN32,NDEBUG,_CONSOLE"
|
||||
StringPooling="TRUE"
|
||||
RuntimeLibrary="4"
|
||||
EnableFunctionLevelLinking="TRUE"
|
||||
UsePrecompiledHeader="2"
|
||||
PrecompiledHeaderFile=".\Release/light.pch"
|
||||
AssemblerListingLocation=".\Release/"
|
||||
ObjectFile=".\Release/"
|
||||
ProgramDataBaseFileName=".\Release/"
|
||||
WarningLevel="3"
|
||||
SuppressStartupBanner="TRUE"
|
||||
CompileAs="0"/>
|
||||
<Tool
|
||||
Name="VCCustomBuildTool"/>
|
||||
<Tool
|
||||
Name="VCLinkerTool"
|
||||
AdditionalOptions="/MACHINE:I386"
|
||||
AdditionalDependencies="odbc32.lib odbccp32.lib opengl32.lib glu32.lib glut32.lib"
|
||||
OutputFile=".\Release/light.exe"
|
||||
LinkIncremental="1"
|
||||
SuppressStartupBanner="TRUE"
|
||||
AdditionalLibraryDirectories="./lib"
|
||||
ProgramDatabaseFile=".\Release/light.pdb"
|
||||
SubSystem="1"/>
|
||||
<Tool
|
||||
Name="VCMIDLTool"
|
||||
TypeLibraryName=".\Release/light.tlb"/>
|
||||
<Tool
|
||||
Name="VCPostBuildEventTool"/>
|
||||
<Tool
|
||||
Name="VCPreBuildEventTool"/>
|
||||
<Tool
|
||||
Name="VCPreLinkEventTool"/>
|
||||
<Tool
|
||||
Name="VCResourceCompilerTool"
|
||||
PreprocessorDefinitions="NDEBUG"
|
||||
Culture="1033"/>
|
||||
<Tool
|
||||
Name="VCWebServiceProxyGeneratorTool"/>
|
||||
<Tool
|
||||
Name="VCWebDeploymentTool"/>
|
||||
</Configuration>
|
||||
</Configurations>
|
||||
<Files>
|
||||
<Filter
|
||||
Name="Source Files"
|
||||
Filter="cpp;c;cxx;rc;def;r;odl;idl;hpj;bat">
|
||||
<File
|
||||
RelativePath="..\light.c">
|
||||
</File>
|
||||
</Filter>
|
||||
</Files>
|
||||
<Globals>
|
||||
</Globals>
|
||||
</VisualStudioProject>
|
||||
89
CS4451/oglexamples/win32/oglexamples.dsw
Normal file
89
CS4451/oglexamples/win32/oglexamples.dsw
Normal file
@@ -0,0 +1,89 @@
|
||||
Microsoft Developer Studio Workspace File, Format Version 6.00
|
||||
# WARNING: DO NOT EDIT OR DELETE THIS WORKSPACE FILE!
|
||||
|
||||
###############################################################################
|
||||
|
||||
Project: "3d"=".\3d.dsp" - Package Owner=<4>
|
||||
|
||||
Package=<5>
|
||||
{{{
|
||||
}}}
|
||||
|
||||
Package=<4>
|
||||
{{{
|
||||
}}}
|
||||
|
||||
###############################################################################
|
||||
|
||||
Project: "cubes"=".\cubes.dsp" - Package Owner=<4>
|
||||
|
||||
Package=<5>
|
||||
{{{
|
||||
}}}
|
||||
|
||||
Package=<4>
|
||||
{{{
|
||||
}}}
|
||||
|
||||
###############################################################################
|
||||
|
||||
Project: "light"=".\light.dsp" - Package Owner=<4>
|
||||
|
||||
Package=<5>
|
||||
{{{
|
||||
}}}
|
||||
|
||||
Package=<4>
|
||||
{{{
|
||||
}}}
|
||||
|
||||
###############################################################################
|
||||
|
||||
Project: "spinner"=".\spinner.dsp" - Package Owner=<4>
|
||||
|
||||
Package=<5>
|
||||
{{{
|
||||
}}}
|
||||
|
||||
Package=<4>
|
||||
{{{
|
||||
}}}
|
||||
|
||||
###############################################################################
|
||||
|
||||
Project: "unproject"=".\unproject.dsp" - Package Owner=<4>
|
||||
|
||||
Package=<5>
|
||||
{{{
|
||||
}}}
|
||||
|
||||
Package=<4>
|
||||
{{{
|
||||
}}}
|
||||
|
||||
###############################################################################
|
||||
|
||||
Project: "viewer"=".\viewer.dsp" - Package Owner=<4>
|
||||
|
||||
Package=<5>
|
||||
{{{
|
||||
}}}
|
||||
|
||||
Package=<4>
|
||||
{{{
|
||||
}}}
|
||||
|
||||
###############################################################################
|
||||
|
||||
Global:
|
||||
|
||||
Package=<5>
|
||||
{{{
|
||||
}}}
|
||||
|
||||
Package=<3>
|
||||
{{{
|
||||
}}}
|
||||
|
||||
###############################################################################
|
||||
|
||||
BIN
CS4451/oglexamples/win32/oglexamples.ncb
Normal file
BIN
CS4451/oglexamples/win32/oglexamples.ncb
Normal file
Binary file not shown.
61
CS4451/oglexamples/win32/oglexamples.sln
Normal file
61
CS4451/oglexamples/win32/oglexamples.sln
Normal file
@@ -0,0 +1,61 @@
|
||||
Microsoft Visual Studio Solution File, Format Version 8.00
|
||||
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "3d", "3d.vcproj", "{293F8AE6-8358-4609-8877-3EECD318F368}"
|
||||
ProjectSection(ProjectDependencies) = postProject
|
||||
EndProjectSection
|
||||
EndProject
|
||||
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "cubes", "cubes.vcproj", "{85897961-48EA-43EC-B696-67CA20A2CB6F}"
|
||||
ProjectSection(ProjectDependencies) = postProject
|
||||
EndProjectSection
|
||||
EndProject
|
||||
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "light", "light.vcproj", "{2D66906A-D9B0-45C4-9534-0E46D6DC330C}"
|
||||
ProjectSection(ProjectDependencies) = postProject
|
||||
EndProjectSection
|
||||
EndProject
|
||||
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "spinner", "spinner.vcproj", "{A1EF45E8-D9D7-4460-8726-52947A563970}"
|
||||
ProjectSection(ProjectDependencies) = postProject
|
||||
EndProjectSection
|
||||
EndProject
|
||||
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "unproject", "unproject.vcproj", "{14A6F926-A554-4903-8102-E9D68A6E7AE2}"
|
||||
ProjectSection(ProjectDependencies) = postProject
|
||||
EndProjectSection
|
||||
EndProject
|
||||
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "viewer", "viewer.vcproj", "{AB99055A-1C7B-4B4E-A444-3D98247C5908}"
|
||||
ProjectSection(ProjectDependencies) = postProject
|
||||
EndProjectSection
|
||||
EndProject
|
||||
Global
|
||||
GlobalSection(SolutionConfiguration) = preSolution
|
||||
Debug = Debug
|
||||
Release = Release
|
||||
EndGlobalSection
|
||||
GlobalSection(ProjectConfiguration) = postSolution
|
||||
{293F8AE6-8358-4609-8877-3EECD318F368}.Debug.ActiveCfg = Debug|Win32
|
||||
{293F8AE6-8358-4609-8877-3EECD318F368}.Debug.Build.0 = Debug|Win32
|
||||
{293F8AE6-8358-4609-8877-3EECD318F368}.Release.ActiveCfg = Release|Win32
|
||||
{293F8AE6-8358-4609-8877-3EECD318F368}.Release.Build.0 = Release|Win32
|
||||
{85897961-48EA-43EC-B696-67CA20A2CB6F}.Debug.ActiveCfg = Debug|Win32
|
||||
{85897961-48EA-43EC-B696-67CA20A2CB6F}.Debug.Build.0 = Debug|Win32
|
||||
{85897961-48EA-43EC-B696-67CA20A2CB6F}.Release.ActiveCfg = Release|Win32
|
||||
{85897961-48EA-43EC-B696-67CA20A2CB6F}.Release.Build.0 = Release|Win32
|
||||
{2D66906A-D9B0-45C4-9534-0E46D6DC330C}.Debug.ActiveCfg = Debug|Win32
|
||||
{2D66906A-D9B0-45C4-9534-0E46D6DC330C}.Debug.Build.0 = Debug|Win32
|
||||
{2D66906A-D9B0-45C4-9534-0E46D6DC330C}.Release.ActiveCfg = Release|Win32
|
||||
{2D66906A-D9B0-45C4-9534-0E46D6DC330C}.Release.Build.0 = Release|Win32
|
||||
{A1EF45E8-D9D7-4460-8726-52947A563970}.Debug.ActiveCfg = Debug|Win32
|
||||
{A1EF45E8-D9D7-4460-8726-52947A563970}.Debug.Build.0 = Debug|Win32
|
||||
{A1EF45E8-D9D7-4460-8726-52947A563970}.Release.ActiveCfg = Release|Win32
|
||||
{A1EF45E8-D9D7-4460-8726-52947A563970}.Release.Build.0 = Release|Win32
|
||||
{14A6F926-A554-4903-8102-E9D68A6E7AE2}.Debug.ActiveCfg = Debug|Win32
|
||||
{14A6F926-A554-4903-8102-E9D68A6E7AE2}.Debug.Build.0 = Debug|Win32
|
||||
{14A6F926-A554-4903-8102-E9D68A6E7AE2}.Release.ActiveCfg = Release|Win32
|
||||
{14A6F926-A554-4903-8102-E9D68A6E7AE2}.Release.Build.0 = Release|Win32
|
||||
{AB99055A-1C7B-4B4E-A444-3D98247C5908}.Debug.ActiveCfg = Debug|Win32
|
||||
{AB99055A-1C7B-4B4E-A444-3D98247C5908}.Debug.Build.0 = Debug|Win32
|
||||
{AB99055A-1C7B-4B4E-A444-3D98247C5908}.Release.ActiveCfg = Release|Win32
|
||||
{AB99055A-1C7B-4B4E-A444-3D98247C5908}.Release.Build.0 = Release|Win32
|
||||
EndGlobalSection
|
||||
GlobalSection(ExtensibilityGlobals) = postSolution
|
||||
EndGlobalSection
|
||||
GlobalSection(ExtensibilityAddIns) = postSolution
|
||||
EndGlobalSection
|
||||
EndGlobal
|
||||
51
CS4451/oglexamples/win32/oglexamples.sln.old
Normal file
51
CS4451/oglexamples/win32/oglexamples.sln.old
Normal file
@@ -0,0 +1,51 @@
|
||||
Microsoft Visual Studio Solution File, Format Version 7.00
|
||||
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "3d", "3d.vcproj", "{293F8AE6-8358-4609-8877-3EECD318F368}"
|
||||
EndProject
|
||||
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "cubes", "cubes.vcproj", "{85897961-48EA-43EC-B696-67CA20A2CB6F}"
|
||||
EndProject
|
||||
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "light", "light.vcproj", "{2D66906A-D9B0-45C4-9534-0E46D6DC330C}"
|
||||
EndProject
|
||||
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "spinner", "spinner.vcproj", "{A1EF45E8-D9D7-4460-8726-52947A563970}"
|
||||
EndProject
|
||||
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "unproject", "unproject.vcproj", "{14A6F926-A554-4903-8102-E9D68A6E7AE2}"
|
||||
EndProject
|
||||
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "viewer", "viewer.vcproj", "{AB99055A-1C7B-4B4E-A444-3D98247C5908}"
|
||||
EndProject
|
||||
Global
|
||||
GlobalSection(SolutionConfiguration) = preSolution
|
||||
ConfigName.0 = Debug
|
||||
ConfigName.1 = Release
|
||||
EndGlobalSection
|
||||
GlobalSection(ProjectDependencies) = postSolution
|
||||
EndGlobalSection
|
||||
GlobalSection(ProjectConfiguration) = postSolution
|
||||
{293F8AE6-8358-4609-8877-3EECD318F368}.Debug.ActiveCfg = Debug|Win32
|
||||
{293F8AE6-8358-4609-8877-3EECD318F368}.Debug.Build.0 = Debug|Win32
|
||||
{293F8AE6-8358-4609-8877-3EECD318F368}.Release.ActiveCfg = Release|Win32
|
||||
{293F8AE6-8358-4609-8877-3EECD318F368}.Release.Build.0 = Release|Win32
|
||||
{85897961-48EA-43EC-B696-67CA20A2CB6F}.Debug.ActiveCfg = Debug|Win32
|
||||
{85897961-48EA-43EC-B696-67CA20A2CB6F}.Debug.Build.0 = Debug|Win32
|
||||
{85897961-48EA-43EC-B696-67CA20A2CB6F}.Release.ActiveCfg = Release|Win32
|
||||
{85897961-48EA-43EC-B696-67CA20A2CB6F}.Release.Build.0 = Release|Win32
|
||||
{2D66906A-D9B0-45C4-9534-0E46D6DC330C}.Debug.ActiveCfg = Debug|Win32
|
||||
{2D66906A-D9B0-45C4-9534-0E46D6DC330C}.Debug.Build.0 = Debug|Win32
|
||||
{2D66906A-D9B0-45C4-9534-0E46D6DC330C}.Release.ActiveCfg = Release|Win32
|
||||
{2D66906A-D9B0-45C4-9534-0E46D6DC330C}.Release.Build.0 = Release|Win32
|
||||
{A1EF45E8-D9D7-4460-8726-52947A563970}.Debug.ActiveCfg = Debug|Win32
|
||||
{A1EF45E8-D9D7-4460-8726-52947A563970}.Debug.Build.0 = Debug|Win32
|
||||
{A1EF45E8-D9D7-4460-8726-52947A563970}.Release.ActiveCfg = Release|Win32
|
||||
{A1EF45E8-D9D7-4460-8726-52947A563970}.Release.Build.0 = Release|Win32
|
||||
{14A6F926-A554-4903-8102-E9D68A6E7AE2}.Debug.ActiveCfg = Debug|Win32
|
||||
{14A6F926-A554-4903-8102-E9D68A6E7AE2}.Debug.Build.0 = Debug|Win32
|
||||
{14A6F926-A554-4903-8102-E9D68A6E7AE2}.Release.ActiveCfg = Release|Win32
|
||||
{14A6F926-A554-4903-8102-E9D68A6E7AE2}.Release.Build.0 = Release|Win32
|
||||
{AB99055A-1C7B-4B4E-A444-3D98247C5908}.Debug.ActiveCfg = Debug|Win32
|
||||
{AB99055A-1C7B-4B4E-A444-3D98247C5908}.Debug.Build.0 = Debug|Win32
|
||||
{AB99055A-1C7B-4B4E-A444-3D98247C5908}.Release.ActiveCfg = Release|Win32
|
||||
{AB99055A-1C7B-4B4E-A444-3D98247C5908}.Release.Build.0 = Release|Win32
|
||||
EndGlobalSection
|
||||
GlobalSection(ExtensibilityGlobals) = postSolution
|
||||
EndGlobalSection
|
||||
GlobalSection(ExtensibilityAddIns) = postSolution
|
||||
EndGlobalSection
|
||||
EndGlobal
|
||||
BIN
CS4451/oglexamples/win32/oglexamples.suo
Normal file
BIN
CS4451/oglexamples/win32/oglexamples.suo
Normal file
Binary file not shown.
92
CS4451/oglexamples/win32/spinner.dsp
Normal file
92
CS4451/oglexamples/win32/spinner.dsp
Normal file
@@ -0,0 +1,92 @@
|
||||
# Microsoft Developer Studio Project File - Name="spinner" - Package Owner=<4>
|
||||
# Microsoft Developer Studio Generated Build File, Format Version 6.00
|
||||
# ** DO NOT EDIT **
|
||||
|
||||
# TARGTYPE "Win32 (x86) Console Application" 0x0103
|
||||
|
||||
CFG=spinner - Win32 Debug
|
||||
!MESSAGE This is not a valid makefile. To build this project using NMAKE,
|
||||
!MESSAGE use the Export Makefile command and run
|
||||
!MESSAGE
|
||||
!MESSAGE NMAKE /f "spinner.mak".
|
||||
!MESSAGE
|
||||
!MESSAGE You can specify a configuration when running NMAKE
|
||||
!MESSAGE by defining the macro CFG on the command line. For example:
|
||||
!MESSAGE
|
||||
!MESSAGE NMAKE /f "spinner.mak" CFG="spinner - Win32 Debug"
|
||||
!MESSAGE
|
||||
!MESSAGE Possible choices for configuration are:
|
||||
!MESSAGE
|
||||
!MESSAGE "spinner - Win32 Release" (based on "Win32 (x86) Console Application")
|
||||
!MESSAGE "spinner - Win32 Debug" (based on "Win32 (x86) Console Application")
|
||||
!MESSAGE
|
||||
|
||||
# Begin Project
|
||||
# PROP AllowPerConfigDependencies 0
|
||||
# PROP Scc_ProjName ""
|
||||
# PROP Scc_LocalPath ""
|
||||
CPP=cl.exe
|
||||
RSC=rc.exe
|
||||
|
||||
!IF "$(CFG)" == "spinner - Win32 Release"
|
||||
|
||||
# PROP BASE Use_MFC 0
|
||||
# PROP BASE Use_Debug_Libraries 0
|
||||
# PROP BASE Output_Dir "Release"
|
||||
# PROP BASE Intermediate_Dir "Release"
|
||||
# PROP BASE Target_Dir ""
|
||||
# PROP Use_MFC 0
|
||||
# PROP Use_Debug_Libraries 0
|
||||
# PROP Output_Dir "Release"
|
||||
# PROP Intermediate_Dir "Release"
|
||||
# PROP Target_Dir ""
|
||||
# ADD BASE CPP /nologo /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /c
|
||||
# ADD CPP /nologo /W3 /GX /O2 /I "./" /D "WIN32" /D "NDEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /c
|
||||
# ADD BASE RSC /l 0x409 /d "NDEBUG"
|
||||
# ADD RSC /l 0x409 /d "NDEBUG"
|
||||
BSC32=bscmake.exe
|
||||
# ADD BASE BSC32 /nologo
|
||||
# ADD BSC32 /nologo
|
||||
LINK32=link.exe
|
||||
# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /machine:I386
|
||||
# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib opengl32.lib glu32.lib glut32.lib /nologo /subsystem:console /machine:I386 /libpath:"./lib"
|
||||
|
||||
!ELSEIF "$(CFG)" == "spinner - Win32 Debug"
|
||||
|
||||
# PROP BASE Use_MFC 0
|
||||
# PROP BASE Use_Debug_Libraries 1
|
||||
# PROP BASE Output_Dir "spinner___Win32_Debug"
|
||||
# PROP BASE Intermediate_Dir "spinner___Win32_Debug"
|
||||
# PROP BASE Target_Dir ""
|
||||
# PROP Use_MFC 0
|
||||
# PROP Use_Debug_Libraries 1
|
||||
# PROP Output_Dir "spinner___Win32_Debug"
|
||||
# PROP Intermediate_Dir "spinner___Win32_Debug"
|
||||
# PROP Target_Dir ""
|
||||
# ADD BASE CPP /nologo /W3 /Gm /GX /ZI /Od /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /GZ /c
|
||||
# ADD CPP /nologo /W3 /Gm /GX /ZI /Od /I "./" /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /GZ /c
|
||||
# ADD BASE RSC /l 0x409 /d "_DEBUG"
|
||||
# ADD RSC /l 0x409 /d "_DEBUG"
|
||||
BSC32=bscmake.exe
|
||||
# ADD BASE BSC32 /nologo
|
||||
# ADD BSC32 /nologo
|
||||
LINK32=link.exe
|
||||
# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /debug /machine:I386 /pdbtype:sept
|
||||
# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib opengl32.lib glu32.lib glut32.lib /nologo /subsystem:console /debug /machine:I386 /pdbtype:sept /libpath:"./lib"
|
||||
|
||||
!ENDIF
|
||||
|
||||
# Begin Target
|
||||
|
||||
# Name "spinner - Win32 Release"
|
||||
# Name "spinner - Win32 Debug"
|
||||
# Begin Group "Source Files"
|
||||
|
||||
# PROP Default_Filter "cpp;c;cxx;rc;def;r;odl;idl;hpj;bat"
|
||||
# Begin Source File
|
||||
|
||||
SOURCE=..\spinner.cpp
|
||||
# End Source File
|
||||
# End Group
|
||||
# End Target
|
||||
# End Project
|
||||
148
CS4451/oglexamples/win32/spinner.vcproj
Normal file
148
CS4451/oglexamples/win32/spinner.vcproj
Normal file
@@ -0,0 +1,148 @@
|
||||
<?xml version="1.0" encoding="Windows-1252"?>
|
||||
<VisualStudioProject
|
||||
ProjectType="Visual C++"
|
||||
Version="7.10"
|
||||
Name="spinner"
|
||||
SccProjectName=""
|
||||
SccLocalPath="">
|
||||
<Platforms>
|
||||
<Platform
|
||||
Name="Win32"/>
|
||||
</Platforms>
|
||||
<Configurations>
|
||||
<Configuration
|
||||
Name="Release|Win32"
|
||||
OutputDirectory=".\Release"
|
||||
IntermediateDirectory=".\Release"
|
||||
ConfigurationType="1"
|
||||
UseOfMFC="0"
|
||||
ATLMinimizesCRunTimeLibraryUsage="FALSE"
|
||||
CharacterSet="2">
|
||||
<Tool
|
||||
Name="VCCLCompilerTool"
|
||||
InlineFunctionExpansion="1"
|
||||
AdditionalIncludeDirectories="./"
|
||||
PreprocessorDefinitions="WIN32,NDEBUG,_CONSOLE"
|
||||
StringPooling="TRUE"
|
||||
RuntimeLibrary="4"
|
||||
EnableFunctionLevelLinking="TRUE"
|
||||
UsePrecompiledHeader="2"
|
||||
PrecompiledHeaderFile=".\Release/spinner.pch"
|
||||
AssemblerListingLocation=".\Release/"
|
||||
ObjectFile=".\Release/"
|
||||
ProgramDataBaseFileName=".\Release/"
|
||||
WarningLevel="3"
|
||||
SuppressStartupBanner="TRUE"
|
||||
CompileAs="0"/>
|
||||
<Tool
|
||||
Name="VCCustomBuildTool"/>
|
||||
<Tool
|
||||
Name="VCLinkerTool"
|
||||
AdditionalOptions="/MACHINE:I386"
|
||||
AdditionalDependencies="odbc32.lib odbccp32.lib opengl32.lib glu32.lib glut32.lib"
|
||||
OutputFile=".\Release/spinner.exe"
|
||||
LinkIncremental="1"
|
||||
SuppressStartupBanner="TRUE"
|
||||
AdditionalLibraryDirectories="./lib"
|
||||
ProgramDatabaseFile=".\Release/spinner.pdb"
|
||||
SubSystem="1"/>
|
||||
<Tool
|
||||
Name="VCMIDLTool"
|
||||
TypeLibraryName=".\Release/spinner.tlb"/>
|
||||
<Tool
|
||||
Name="VCPostBuildEventTool"/>
|
||||
<Tool
|
||||
Name="VCPreBuildEventTool"/>
|
||||
<Tool
|
||||
Name="VCPreLinkEventTool"/>
|
||||
<Tool
|
||||
Name="VCResourceCompilerTool"
|
||||
PreprocessorDefinitions="NDEBUG"
|
||||
Culture="1033"/>
|
||||
<Tool
|
||||
Name="VCWebServiceProxyGeneratorTool"/>
|
||||
<Tool
|
||||
Name="VCXMLDataGeneratorTool"/>
|
||||
<Tool
|
||||
Name="VCWebDeploymentTool"/>
|
||||
<Tool
|
||||
Name="VCManagedWrapperGeneratorTool"/>
|
||||
<Tool
|
||||
Name="VCAuxiliaryManagedWrapperGeneratorTool"/>
|
||||
</Configuration>
|
||||
<Configuration
|
||||
Name="Debug|Win32"
|
||||
OutputDirectory=".\spinner___Win32_Debug"
|
||||
IntermediateDirectory=".\spinner___Win32_Debug"
|
||||
ConfigurationType="1"
|
||||
UseOfMFC="0"
|
||||
ATLMinimizesCRunTimeLibraryUsage="FALSE"
|
||||
CharacterSet="2">
|
||||
<Tool
|
||||
Name="VCCLCompilerTool"
|
||||
Optimization="0"
|
||||
AdditionalIncludeDirectories="./"
|
||||
PreprocessorDefinitions="WIN32,_DEBUG,_CONSOLE"
|
||||
BasicRuntimeChecks="3"
|
||||
RuntimeLibrary="5"
|
||||
UsePrecompiledHeader="2"
|
||||
PrecompiledHeaderFile=".\spinner___Win32_Debug/spinner.pch"
|
||||
AssemblerListingLocation=".\spinner___Win32_Debug/"
|
||||
ObjectFile=".\spinner___Win32_Debug/"
|
||||
ProgramDataBaseFileName=".\spinner___Win32_Debug/"
|
||||
WarningLevel="3"
|
||||
SuppressStartupBanner="TRUE"
|
||||
DebugInformationFormat="4"
|
||||
CompileAs="0"/>
|
||||
<Tool
|
||||
Name="VCCustomBuildTool"/>
|
||||
<Tool
|
||||
Name="VCLinkerTool"
|
||||
AdditionalOptions="/MACHINE:I386"
|
||||
AdditionalDependencies="odbc32.lib odbccp32.lib opengl32.lib glu32.lib glut32.lib"
|
||||
OutputFile=".\spinner___Win32_Debug/spinner.exe"
|
||||
LinkIncremental="2"
|
||||
SuppressStartupBanner="TRUE"
|
||||
AdditionalLibraryDirectories="./lib"
|
||||
GenerateDebugInformation="TRUE"
|
||||
ProgramDatabaseFile=".\spinner___Win32_Debug/spinner.pdb"
|
||||
SubSystem="1"/>
|
||||
<Tool
|
||||
Name="VCMIDLTool"
|
||||
TypeLibraryName=".\spinner___Win32_Debug/spinner.tlb"/>
|
||||
<Tool
|
||||
Name="VCPostBuildEventTool"/>
|
||||
<Tool
|
||||
Name="VCPreBuildEventTool"/>
|
||||
<Tool
|
||||
Name="VCPreLinkEventTool"/>
|
||||
<Tool
|
||||
Name="VCResourceCompilerTool"
|
||||
PreprocessorDefinitions="_DEBUG"
|
||||
Culture="1033"/>
|
||||
<Tool
|
||||
Name="VCWebServiceProxyGeneratorTool"/>
|
||||
<Tool
|
||||
Name="VCXMLDataGeneratorTool"/>
|
||||
<Tool
|
||||
Name="VCWebDeploymentTool"/>
|
||||
<Tool
|
||||
Name="VCManagedWrapperGeneratorTool"/>
|
||||
<Tool
|
||||
Name="VCAuxiliaryManagedWrapperGeneratorTool"/>
|
||||
</Configuration>
|
||||
</Configurations>
|
||||
<References>
|
||||
</References>
|
||||
<Files>
|
||||
<Filter
|
||||
Name="Source Files"
|
||||
Filter="cpp;c;cxx;rc;def;r;odl;idl;hpj;bat">
|
||||
<File
|
||||
RelativePath="..\spinner.cpp">
|
||||
</File>
|
||||
</Filter>
|
||||
</Files>
|
||||
<Globals>
|
||||
</Globals>
|
||||
</VisualStudioProject>
|
||||
134
CS4451/oglexamples/win32/spinner.vcproj.old
Normal file
134
CS4451/oglexamples/win32/spinner.vcproj.old
Normal file
@@ -0,0 +1,134 @@
|
||||
<?xml version="1.0" encoding = "Windows-1252"?>
|
||||
<VisualStudioProject
|
||||
ProjectType="Visual C++"
|
||||
Version="7.00"
|
||||
Name="spinner"
|
||||
SccProjectName=""
|
||||
SccLocalPath="">
|
||||
<Platforms>
|
||||
<Platform
|
||||
Name="Win32"/>
|
||||
</Platforms>
|
||||
<Configurations>
|
||||
<Configuration
|
||||
Name="Release|Win32"
|
||||
OutputDirectory=".\Release"
|
||||
IntermediateDirectory=".\Release"
|
||||
ConfigurationType="1"
|
||||
UseOfMFC="0"
|
||||
ATLMinimizesCRunTimeLibraryUsage="FALSE"
|
||||
CharacterSet="2">
|
||||
<Tool
|
||||
Name="VCCLCompilerTool"
|
||||
InlineFunctionExpansion="1"
|
||||
AdditionalIncludeDirectories="./"
|
||||
PreprocessorDefinitions="WIN32,NDEBUG,_CONSOLE"
|
||||
StringPooling="TRUE"
|
||||
RuntimeLibrary="4"
|
||||
EnableFunctionLevelLinking="TRUE"
|
||||
UsePrecompiledHeader="2"
|
||||
PrecompiledHeaderFile=".\Release/spinner.pch"
|
||||
AssemblerListingLocation=".\Release/"
|
||||
ObjectFile=".\Release/"
|
||||
ProgramDataBaseFileName=".\Release/"
|
||||
WarningLevel="3"
|
||||
SuppressStartupBanner="TRUE"
|
||||
CompileAs="0"/>
|
||||
<Tool
|
||||
Name="VCCustomBuildTool"/>
|
||||
<Tool
|
||||
Name="VCLinkerTool"
|
||||
AdditionalOptions="/MACHINE:I386"
|
||||
AdditionalDependencies="odbc32.lib odbccp32.lib opengl32.lib glu32.lib glut32.lib"
|
||||
OutputFile=".\Release/spinner.exe"
|
||||
LinkIncremental="1"
|
||||
SuppressStartupBanner="TRUE"
|
||||
AdditionalLibraryDirectories="./lib"
|
||||
ProgramDatabaseFile=".\Release/spinner.pdb"
|
||||
SubSystem="1"/>
|
||||
<Tool
|
||||
Name="VCMIDLTool"
|
||||
TypeLibraryName=".\Release/spinner.tlb"/>
|
||||
<Tool
|
||||
Name="VCPostBuildEventTool"/>
|
||||
<Tool
|
||||
Name="VCPreBuildEventTool"/>
|
||||
<Tool
|
||||
Name="VCPreLinkEventTool"/>
|
||||
<Tool
|
||||
Name="VCResourceCompilerTool"
|
||||
PreprocessorDefinitions="NDEBUG"
|
||||
Culture="1033"/>
|
||||
<Tool
|
||||
Name="VCWebServiceProxyGeneratorTool"/>
|
||||
<Tool
|
||||
Name="VCWebDeploymentTool"/>
|
||||
</Configuration>
|
||||
<Configuration
|
||||
Name="Debug|Win32"
|
||||
OutputDirectory=".\spinner___Win32_Debug"
|
||||
IntermediateDirectory=".\spinner___Win32_Debug"
|
||||
ConfigurationType="1"
|
||||
UseOfMFC="0"
|
||||
ATLMinimizesCRunTimeLibraryUsage="FALSE"
|
||||
CharacterSet="2">
|
||||
<Tool
|
||||
Name="VCCLCompilerTool"
|
||||
Optimization="0"
|
||||
AdditionalIncludeDirectories="./"
|
||||
PreprocessorDefinitions="WIN32,_DEBUG,_CONSOLE"
|
||||
BasicRuntimeChecks="3"
|
||||
RuntimeLibrary="5"
|
||||
UsePrecompiledHeader="2"
|
||||
PrecompiledHeaderFile=".\spinner___Win32_Debug/spinner.pch"
|
||||
AssemblerListingLocation=".\spinner___Win32_Debug/"
|
||||
ObjectFile=".\spinner___Win32_Debug/"
|
||||
ProgramDataBaseFileName=".\spinner___Win32_Debug/"
|
||||
WarningLevel="3"
|
||||
SuppressStartupBanner="TRUE"
|
||||
DebugInformationFormat="4"
|
||||
CompileAs="0"/>
|
||||
<Tool
|
||||
Name="VCCustomBuildTool"/>
|
||||
<Tool
|
||||
Name="VCLinkerTool"
|
||||
AdditionalOptions="/MACHINE:I386"
|
||||
AdditionalDependencies="odbc32.lib odbccp32.lib opengl32.lib glu32.lib glut32.lib"
|
||||
OutputFile=".\spinner___Win32_Debug/spinner.exe"
|
||||
LinkIncremental="2"
|
||||
SuppressStartupBanner="TRUE"
|
||||
AdditionalLibraryDirectories="./lib"
|
||||
GenerateDebugInformation="TRUE"
|
||||
ProgramDatabaseFile=".\spinner___Win32_Debug/spinner.pdb"
|
||||
SubSystem="1"/>
|
||||
<Tool
|
||||
Name="VCMIDLTool"
|
||||
TypeLibraryName=".\spinner___Win32_Debug/spinner.tlb"/>
|
||||
<Tool
|
||||
Name="VCPostBuildEventTool"/>
|
||||
<Tool
|
||||
Name="VCPreBuildEventTool"/>
|
||||
<Tool
|
||||
Name="VCPreLinkEventTool"/>
|
||||
<Tool
|
||||
Name="VCResourceCompilerTool"
|
||||
PreprocessorDefinitions="_DEBUG"
|
||||
Culture="1033"/>
|
||||
<Tool
|
||||
Name="VCWebServiceProxyGeneratorTool"/>
|
||||
<Tool
|
||||
Name="VCWebDeploymentTool"/>
|
||||
</Configuration>
|
||||
</Configurations>
|
||||
<Files>
|
||||
<Filter
|
||||
Name="Source Files"
|
||||
Filter="cpp;c;cxx;rc;def;r;odl;idl;hpj;bat">
|
||||
<File
|
||||
RelativePath="..\spinner.cpp">
|
||||
</File>
|
||||
</Filter>
|
||||
</Files>
|
||||
<Globals>
|
||||
</Globals>
|
||||
</VisualStudioProject>
|
||||
92
CS4451/oglexamples/win32/unproject.dsp
Normal file
92
CS4451/oglexamples/win32/unproject.dsp
Normal file
@@ -0,0 +1,92 @@
|
||||
# Microsoft Developer Studio Project File - Name="unproject" - Package Owner=<4>
|
||||
# Microsoft Developer Studio Generated Build File, Format Version 6.00
|
||||
# ** DO NOT EDIT **
|
||||
|
||||
# TARGTYPE "Win32 (x86) Console Application" 0x0103
|
||||
|
||||
CFG=unproject - Win32 Debug
|
||||
!MESSAGE This is not a valid makefile. To build this project using NMAKE,
|
||||
!MESSAGE use the Export Makefile command and run
|
||||
!MESSAGE
|
||||
!MESSAGE NMAKE /f "unproject.mak".
|
||||
!MESSAGE
|
||||
!MESSAGE You can specify a configuration when running NMAKE
|
||||
!MESSAGE by defining the macro CFG on the command line. For example:
|
||||
!MESSAGE
|
||||
!MESSAGE NMAKE /f "unproject.mak" CFG="unproject - Win32 Debug"
|
||||
!MESSAGE
|
||||
!MESSAGE Possible choices for configuration are:
|
||||
!MESSAGE
|
||||
!MESSAGE "unproject - Win32 Release" (based on "Win32 (x86) Console Application")
|
||||
!MESSAGE "unproject - Win32 Debug" (based on "Win32 (x86) Console Application")
|
||||
!MESSAGE
|
||||
|
||||
# Begin Project
|
||||
# PROP AllowPerConfigDependencies 0
|
||||
# PROP Scc_ProjName ""
|
||||
# PROP Scc_LocalPath ""
|
||||
CPP=cl.exe
|
||||
RSC=rc.exe
|
||||
|
||||
!IF "$(CFG)" == "unproject - Win32 Release"
|
||||
|
||||
# PROP BASE Use_MFC 0
|
||||
# PROP BASE Use_Debug_Libraries 0
|
||||
# PROP BASE Output_Dir "Release"
|
||||
# PROP BASE Intermediate_Dir "Release"
|
||||
# PROP BASE Target_Dir ""
|
||||
# PROP Use_MFC 0
|
||||
# PROP Use_Debug_Libraries 0
|
||||
# PROP Output_Dir "Release"
|
||||
# PROP Intermediate_Dir "Release"
|
||||
# PROP Target_Dir ""
|
||||
# ADD BASE CPP /nologo /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /c
|
||||
# ADD CPP /nologo /W3 /GX /O2 /I "./" /D "WIN32" /D "NDEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /c
|
||||
# ADD BASE RSC /l 0x409 /d "NDEBUG"
|
||||
# ADD RSC /l 0x409 /d "NDEBUG"
|
||||
BSC32=bscmake.exe
|
||||
# ADD BASE BSC32 /nologo
|
||||
# ADD BSC32 /nologo
|
||||
LINK32=link.exe
|
||||
# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /machine:I386
|
||||
# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib opengl32.lib glu32.lib glut32.lib /nologo /subsystem:console /machine:I386 /libpath:"./lib"
|
||||
|
||||
!ELSEIF "$(CFG)" == "unproject - Win32 Debug"
|
||||
|
||||
# PROP BASE Use_MFC 0
|
||||
# PROP BASE Use_Debug_Libraries 1
|
||||
# PROP BASE Output_Dir "unproject___Win32_Debug"
|
||||
# PROP BASE Intermediate_Dir "unproject___Win32_Debug"
|
||||
# PROP BASE Target_Dir ""
|
||||
# PROP Use_MFC 0
|
||||
# PROP Use_Debug_Libraries 1
|
||||
# PROP Output_Dir "unproject___Win32_Debug"
|
||||
# PROP Intermediate_Dir "unproject___Win32_Debug"
|
||||
# PROP Target_Dir ""
|
||||
# ADD BASE CPP /nologo /W3 /Gm /GX /ZI /Od /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /GZ /c
|
||||
# ADD CPP /nologo /W3 /Gm /GX /ZI /Od /I "./" /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /GZ /c
|
||||
# ADD BASE RSC /l 0x409 /d "_DEBUG"
|
||||
# ADD RSC /l 0x409 /d "_DEBUG"
|
||||
BSC32=bscmake.exe
|
||||
# ADD BASE BSC32 /nologo
|
||||
# ADD BSC32 /nologo
|
||||
LINK32=link.exe
|
||||
# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /debug /machine:I386 /pdbtype:sept
|
||||
# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib opengl32.lib glu32.lib glut32.lib /nologo /subsystem:console /debug /machine:I386 /pdbtype:sept /libpath:"./lib"
|
||||
|
||||
!ENDIF
|
||||
|
||||
# Begin Target
|
||||
|
||||
# Name "unproject - Win32 Release"
|
||||
# Name "unproject - Win32 Debug"
|
||||
# Begin Group "Source Files"
|
||||
|
||||
# PROP Default_Filter "cpp;c;cxx;rc;def;r;odl;idl;hpj;bat"
|
||||
# Begin Source File
|
||||
|
||||
SOURCE=..\unproject.c
|
||||
# End Source File
|
||||
# End Group
|
||||
# End Target
|
||||
# End Project
|
||||
148
CS4451/oglexamples/win32/unproject.vcproj
Normal file
148
CS4451/oglexamples/win32/unproject.vcproj
Normal file
@@ -0,0 +1,148 @@
|
||||
<?xml version="1.0" encoding="Windows-1252"?>
|
||||
<VisualStudioProject
|
||||
ProjectType="Visual C++"
|
||||
Version="7.10"
|
||||
Name="unproject"
|
||||
SccProjectName=""
|
||||
SccLocalPath="">
|
||||
<Platforms>
|
||||
<Platform
|
||||
Name="Win32"/>
|
||||
</Platforms>
|
||||
<Configurations>
|
||||
<Configuration
|
||||
Name="Release|Win32"
|
||||
OutputDirectory=".\Release"
|
||||
IntermediateDirectory=".\Release"
|
||||
ConfigurationType="1"
|
||||
UseOfMFC="0"
|
||||
ATLMinimizesCRunTimeLibraryUsage="FALSE"
|
||||
CharacterSet="2">
|
||||
<Tool
|
||||
Name="VCCLCompilerTool"
|
||||
InlineFunctionExpansion="1"
|
||||
AdditionalIncludeDirectories="./"
|
||||
PreprocessorDefinitions="WIN32,NDEBUG,_CONSOLE"
|
||||
StringPooling="TRUE"
|
||||
RuntimeLibrary="4"
|
||||
EnableFunctionLevelLinking="TRUE"
|
||||
UsePrecompiledHeader="2"
|
||||
PrecompiledHeaderFile=".\Release/unproject.pch"
|
||||
AssemblerListingLocation=".\Release/"
|
||||
ObjectFile=".\Release/"
|
||||
ProgramDataBaseFileName=".\Release/"
|
||||
WarningLevel="3"
|
||||
SuppressStartupBanner="TRUE"
|
||||
CompileAs="0"/>
|
||||
<Tool
|
||||
Name="VCCustomBuildTool"/>
|
||||
<Tool
|
||||
Name="VCLinkerTool"
|
||||
AdditionalOptions="/MACHINE:I386"
|
||||
AdditionalDependencies="odbc32.lib odbccp32.lib opengl32.lib glu32.lib glut32.lib"
|
||||
OutputFile=".\Release/unproject.exe"
|
||||
LinkIncremental="1"
|
||||
SuppressStartupBanner="TRUE"
|
||||
AdditionalLibraryDirectories="./lib"
|
||||
ProgramDatabaseFile=".\Release/unproject.pdb"
|
||||
SubSystem="1"/>
|
||||
<Tool
|
||||
Name="VCMIDLTool"
|
||||
TypeLibraryName=".\Release/unproject.tlb"/>
|
||||
<Tool
|
||||
Name="VCPostBuildEventTool"/>
|
||||
<Tool
|
||||
Name="VCPreBuildEventTool"/>
|
||||
<Tool
|
||||
Name="VCPreLinkEventTool"/>
|
||||
<Tool
|
||||
Name="VCResourceCompilerTool"
|
||||
PreprocessorDefinitions="NDEBUG"
|
||||
Culture="1033"/>
|
||||
<Tool
|
||||
Name="VCWebServiceProxyGeneratorTool"/>
|
||||
<Tool
|
||||
Name="VCXMLDataGeneratorTool"/>
|
||||
<Tool
|
||||
Name="VCWebDeploymentTool"/>
|
||||
<Tool
|
||||
Name="VCManagedWrapperGeneratorTool"/>
|
||||
<Tool
|
||||
Name="VCAuxiliaryManagedWrapperGeneratorTool"/>
|
||||
</Configuration>
|
||||
<Configuration
|
||||
Name="Debug|Win32"
|
||||
OutputDirectory=".\unproject___Win32_Debug"
|
||||
IntermediateDirectory=".\unproject___Win32_Debug"
|
||||
ConfigurationType="1"
|
||||
UseOfMFC="0"
|
||||
ATLMinimizesCRunTimeLibraryUsage="FALSE"
|
||||
CharacterSet="2">
|
||||
<Tool
|
||||
Name="VCCLCompilerTool"
|
||||
Optimization="0"
|
||||
AdditionalIncludeDirectories="./"
|
||||
PreprocessorDefinitions="WIN32,_DEBUG,_CONSOLE"
|
||||
BasicRuntimeChecks="3"
|
||||
RuntimeLibrary="5"
|
||||
UsePrecompiledHeader="2"
|
||||
PrecompiledHeaderFile=".\unproject___Win32_Debug/unproject.pch"
|
||||
AssemblerListingLocation=".\unproject___Win32_Debug/"
|
||||
ObjectFile=".\unproject___Win32_Debug/"
|
||||
ProgramDataBaseFileName=".\unproject___Win32_Debug/"
|
||||
WarningLevel="3"
|
||||
SuppressStartupBanner="TRUE"
|
||||
DebugInformationFormat="4"
|
||||
CompileAs="0"/>
|
||||
<Tool
|
||||
Name="VCCustomBuildTool"/>
|
||||
<Tool
|
||||
Name="VCLinkerTool"
|
||||
AdditionalOptions="/MACHINE:I386"
|
||||
AdditionalDependencies="odbc32.lib odbccp32.lib opengl32.lib glu32.lib glut32.lib"
|
||||
OutputFile=".\unproject___Win32_Debug/unproject.exe"
|
||||
LinkIncremental="2"
|
||||
SuppressStartupBanner="TRUE"
|
||||
AdditionalLibraryDirectories="./lib"
|
||||
GenerateDebugInformation="TRUE"
|
||||
ProgramDatabaseFile=".\unproject___Win32_Debug/unproject.pdb"
|
||||
SubSystem="1"/>
|
||||
<Tool
|
||||
Name="VCMIDLTool"
|
||||
TypeLibraryName=".\unproject___Win32_Debug/unproject.tlb"/>
|
||||
<Tool
|
||||
Name="VCPostBuildEventTool"/>
|
||||
<Tool
|
||||
Name="VCPreBuildEventTool"/>
|
||||
<Tool
|
||||
Name="VCPreLinkEventTool"/>
|
||||
<Tool
|
||||
Name="VCResourceCompilerTool"
|
||||
PreprocessorDefinitions="_DEBUG"
|
||||
Culture="1033"/>
|
||||
<Tool
|
||||
Name="VCWebServiceProxyGeneratorTool"/>
|
||||
<Tool
|
||||
Name="VCXMLDataGeneratorTool"/>
|
||||
<Tool
|
||||
Name="VCWebDeploymentTool"/>
|
||||
<Tool
|
||||
Name="VCManagedWrapperGeneratorTool"/>
|
||||
<Tool
|
||||
Name="VCAuxiliaryManagedWrapperGeneratorTool"/>
|
||||
</Configuration>
|
||||
</Configurations>
|
||||
<References>
|
||||
</References>
|
||||
<Files>
|
||||
<Filter
|
||||
Name="Source Files"
|
||||
Filter="cpp;c;cxx;rc;def;r;odl;idl;hpj;bat">
|
||||
<File
|
||||
RelativePath="..\unproject.c">
|
||||
</File>
|
||||
</Filter>
|
||||
</Files>
|
||||
<Globals>
|
||||
</Globals>
|
||||
</VisualStudioProject>
|
||||
134
CS4451/oglexamples/win32/unproject.vcproj.old
Normal file
134
CS4451/oglexamples/win32/unproject.vcproj.old
Normal file
@@ -0,0 +1,134 @@
|
||||
<?xml version="1.0" encoding = "Windows-1252"?>
|
||||
<VisualStudioProject
|
||||
ProjectType="Visual C++"
|
||||
Version="7.00"
|
||||
Name="unproject"
|
||||
SccProjectName=""
|
||||
SccLocalPath="">
|
||||
<Platforms>
|
||||
<Platform
|
||||
Name="Win32"/>
|
||||
</Platforms>
|
||||
<Configurations>
|
||||
<Configuration
|
||||
Name="Release|Win32"
|
||||
OutputDirectory=".\Release"
|
||||
IntermediateDirectory=".\Release"
|
||||
ConfigurationType="1"
|
||||
UseOfMFC="0"
|
||||
ATLMinimizesCRunTimeLibraryUsage="FALSE"
|
||||
CharacterSet="2">
|
||||
<Tool
|
||||
Name="VCCLCompilerTool"
|
||||
InlineFunctionExpansion="1"
|
||||
AdditionalIncludeDirectories="./"
|
||||
PreprocessorDefinitions="WIN32,NDEBUG,_CONSOLE"
|
||||
StringPooling="TRUE"
|
||||
RuntimeLibrary="4"
|
||||
EnableFunctionLevelLinking="TRUE"
|
||||
UsePrecompiledHeader="2"
|
||||
PrecompiledHeaderFile=".\Release/unproject.pch"
|
||||
AssemblerListingLocation=".\Release/"
|
||||
ObjectFile=".\Release/"
|
||||
ProgramDataBaseFileName=".\Release/"
|
||||
WarningLevel="3"
|
||||
SuppressStartupBanner="TRUE"
|
||||
CompileAs="0"/>
|
||||
<Tool
|
||||
Name="VCCustomBuildTool"/>
|
||||
<Tool
|
||||
Name="VCLinkerTool"
|
||||
AdditionalOptions="/MACHINE:I386"
|
||||
AdditionalDependencies="odbc32.lib odbccp32.lib opengl32.lib glu32.lib glut32.lib"
|
||||
OutputFile=".\Release/unproject.exe"
|
||||
LinkIncremental="1"
|
||||
SuppressStartupBanner="TRUE"
|
||||
AdditionalLibraryDirectories="./lib"
|
||||
ProgramDatabaseFile=".\Release/unproject.pdb"
|
||||
SubSystem="1"/>
|
||||
<Tool
|
||||
Name="VCMIDLTool"
|
||||
TypeLibraryName=".\Release/unproject.tlb"/>
|
||||
<Tool
|
||||
Name="VCPostBuildEventTool"/>
|
||||
<Tool
|
||||
Name="VCPreBuildEventTool"/>
|
||||
<Tool
|
||||
Name="VCPreLinkEventTool"/>
|
||||
<Tool
|
||||
Name="VCResourceCompilerTool"
|
||||
PreprocessorDefinitions="NDEBUG"
|
||||
Culture="1033"/>
|
||||
<Tool
|
||||
Name="VCWebServiceProxyGeneratorTool"/>
|
||||
<Tool
|
||||
Name="VCWebDeploymentTool"/>
|
||||
</Configuration>
|
||||
<Configuration
|
||||
Name="Debug|Win32"
|
||||
OutputDirectory=".\unproject___Win32_Debug"
|
||||
IntermediateDirectory=".\unproject___Win32_Debug"
|
||||
ConfigurationType="1"
|
||||
UseOfMFC="0"
|
||||
ATLMinimizesCRunTimeLibraryUsage="FALSE"
|
||||
CharacterSet="2">
|
||||
<Tool
|
||||
Name="VCCLCompilerTool"
|
||||
Optimization="0"
|
||||
AdditionalIncludeDirectories="./"
|
||||
PreprocessorDefinitions="WIN32,_DEBUG,_CONSOLE"
|
||||
BasicRuntimeChecks="3"
|
||||
RuntimeLibrary="5"
|
||||
UsePrecompiledHeader="2"
|
||||
PrecompiledHeaderFile=".\unproject___Win32_Debug/unproject.pch"
|
||||
AssemblerListingLocation=".\unproject___Win32_Debug/"
|
||||
ObjectFile=".\unproject___Win32_Debug/"
|
||||
ProgramDataBaseFileName=".\unproject___Win32_Debug/"
|
||||
WarningLevel="3"
|
||||
SuppressStartupBanner="TRUE"
|
||||
DebugInformationFormat="4"
|
||||
CompileAs="0"/>
|
||||
<Tool
|
||||
Name="VCCustomBuildTool"/>
|
||||
<Tool
|
||||
Name="VCLinkerTool"
|
||||
AdditionalOptions="/MACHINE:I386"
|
||||
AdditionalDependencies="odbc32.lib odbccp32.lib opengl32.lib glu32.lib glut32.lib"
|
||||
OutputFile=".\unproject___Win32_Debug/unproject.exe"
|
||||
LinkIncremental="2"
|
||||
SuppressStartupBanner="TRUE"
|
||||
AdditionalLibraryDirectories="./lib"
|
||||
GenerateDebugInformation="TRUE"
|
||||
ProgramDatabaseFile=".\unproject___Win32_Debug/unproject.pdb"
|
||||
SubSystem="1"/>
|
||||
<Tool
|
||||
Name="VCMIDLTool"
|
||||
TypeLibraryName=".\unproject___Win32_Debug/unproject.tlb"/>
|
||||
<Tool
|
||||
Name="VCPostBuildEventTool"/>
|
||||
<Tool
|
||||
Name="VCPreBuildEventTool"/>
|
||||
<Tool
|
||||
Name="VCPreLinkEventTool"/>
|
||||
<Tool
|
||||
Name="VCResourceCompilerTool"
|
||||
PreprocessorDefinitions="_DEBUG"
|
||||
Culture="1033"/>
|
||||
<Tool
|
||||
Name="VCWebServiceProxyGeneratorTool"/>
|
||||
<Tool
|
||||
Name="VCWebDeploymentTool"/>
|
||||
</Configuration>
|
||||
</Configurations>
|
||||
<Files>
|
||||
<Filter
|
||||
Name="Source Files"
|
||||
Filter="cpp;c;cxx;rc;def;r;odl;idl;hpj;bat">
|
||||
<File
|
||||
RelativePath="..\unproject.c">
|
||||
</File>
|
||||
</Filter>
|
||||
</Files>
|
||||
<Globals>
|
||||
</Globals>
|
||||
</VisualStudioProject>
|
||||
92
CS4451/oglexamples/win32/viewer.dsp
Normal file
92
CS4451/oglexamples/win32/viewer.dsp
Normal file
@@ -0,0 +1,92 @@
|
||||
# Microsoft Developer Studio Project File - Name="viewer" - Package Owner=<4>
|
||||
# Microsoft Developer Studio Generated Build File, Format Version 6.00
|
||||
# ** DO NOT EDIT **
|
||||
|
||||
# TARGTYPE "Win32 (x86) Console Application" 0x0103
|
||||
|
||||
CFG=viewer - Win32 Debug
|
||||
!MESSAGE This is not a valid makefile. To build this project using NMAKE,
|
||||
!MESSAGE use the Export Makefile command and run
|
||||
!MESSAGE
|
||||
!MESSAGE NMAKE /f "viewer.mak".
|
||||
!MESSAGE
|
||||
!MESSAGE You can specify a configuration when running NMAKE
|
||||
!MESSAGE by defining the macro CFG on the command line. For example:
|
||||
!MESSAGE
|
||||
!MESSAGE NMAKE /f "viewer.mak" CFG="viewer - Win32 Debug"
|
||||
!MESSAGE
|
||||
!MESSAGE Possible choices for configuration are:
|
||||
!MESSAGE
|
||||
!MESSAGE "viewer - Win32 Release" (based on "Win32 (x86) Console Application")
|
||||
!MESSAGE "viewer - Win32 Debug" (based on "Win32 (x86) Console Application")
|
||||
!MESSAGE
|
||||
|
||||
# Begin Project
|
||||
# PROP AllowPerConfigDependencies 0
|
||||
# PROP Scc_ProjName ""
|
||||
# PROP Scc_LocalPath ""
|
||||
CPP=cl.exe
|
||||
RSC=rc.exe
|
||||
|
||||
!IF "$(CFG)" == "viewer - Win32 Release"
|
||||
|
||||
# PROP BASE Use_MFC 0
|
||||
# PROP BASE Use_Debug_Libraries 0
|
||||
# PROP BASE Output_Dir "Release"
|
||||
# PROP BASE Intermediate_Dir "Release"
|
||||
# PROP BASE Target_Dir ""
|
||||
# PROP Use_MFC 0
|
||||
# PROP Use_Debug_Libraries 0
|
||||
# PROP Output_Dir "Release"
|
||||
# PROP Intermediate_Dir "Release"
|
||||
# PROP Target_Dir ""
|
||||
# ADD BASE CPP /nologo /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /c
|
||||
# ADD CPP /nologo /W3 /GX /O2 /I "./" /D "WIN32" /D "NDEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /c
|
||||
# ADD BASE RSC /l 0x409 /d "NDEBUG"
|
||||
# ADD RSC /l 0x409 /d "NDEBUG"
|
||||
BSC32=bscmake.exe
|
||||
# ADD BASE BSC32 /nologo
|
||||
# ADD BSC32 /nologo
|
||||
LINK32=link.exe
|
||||
# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /machine:I386
|
||||
# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib opengl32.lib glu32.lib glut32.lib /nologo /subsystem:console /machine:I386 /libpath:"./lib"
|
||||
|
||||
!ELSEIF "$(CFG)" == "viewer - Win32 Debug"
|
||||
|
||||
# PROP BASE Use_MFC 0
|
||||
# PROP BASE Use_Debug_Libraries 1
|
||||
# PROP BASE Output_Dir "viewer___Win32_Debug"
|
||||
# PROP BASE Intermediate_Dir "viewer___Win32_Debug"
|
||||
# PROP BASE Target_Dir ""
|
||||
# PROP Use_MFC 0
|
||||
# PROP Use_Debug_Libraries 1
|
||||
# PROP Output_Dir "viewer___Win32_Debug"
|
||||
# PROP Intermediate_Dir "viewer___Win32_Debug"
|
||||
# PROP Target_Dir ""
|
||||
# ADD BASE CPP /nologo /W3 /Gm /GX /ZI /Od /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /GZ /c
|
||||
# ADD CPP /nologo /W3 /Gm /GX /ZI /Od /I "./" /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /GZ /c
|
||||
# ADD BASE RSC /l 0x409 /d "_DEBUG"
|
||||
# ADD RSC /l 0x409 /d "_DEBUG"
|
||||
BSC32=bscmake.exe
|
||||
# ADD BASE BSC32 /nologo
|
||||
# ADD BSC32 /nologo
|
||||
LINK32=link.exe
|
||||
# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /debug /machine:I386 /pdbtype:sept
|
||||
# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib opengl32.lib glu32.lib glut32.lib /nologo /subsystem:console /debug /machine:I386 /pdbtype:sept /libpath:"./lib"
|
||||
|
||||
!ENDIF
|
||||
|
||||
# Begin Target
|
||||
|
||||
# Name "viewer - Win32 Release"
|
||||
# Name "viewer - Win32 Debug"
|
||||
# Begin Group "Source Files"
|
||||
|
||||
# PROP Default_Filter "cpp;c;cxx;rc;def;r;odl;idl;hpj;bat"
|
||||
# Begin Source File
|
||||
|
||||
SOURCE=..\viewer.cpp
|
||||
# End Source File
|
||||
# End Group
|
||||
# End Target
|
||||
# End Project
|
||||
148
CS4451/oglexamples/win32/viewer.vcproj
Normal file
148
CS4451/oglexamples/win32/viewer.vcproj
Normal file
@@ -0,0 +1,148 @@
|
||||
<?xml version="1.0" encoding="Windows-1252"?>
|
||||
<VisualStudioProject
|
||||
ProjectType="Visual C++"
|
||||
Version="7.10"
|
||||
Name="viewer"
|
||||
SccProjectName=""
|
||||
SccLocalPath="">
|
||||
<Platforms>
|
||||
<Platform
|
||||
Name="Win32"/>
|
||||
</Platforms>
|
||||
<Configurations>
|
||||
<Configuration
|
||||
Name="Debug|Win32"
|
||||
OutputDirectory=".\viewer___Win32_Debug"
|
||||
IntermediateDirectory=".\viewer___Win32_Debug"
|
||||
ConfigurationType="1"
|
||||
UseOfMFC="0"
|
||||
ATLMinimizesCRunTimeLibraryUsage="FALSE"
|
||||
CharacterSet="2">
|
||||
<Tool
|
||||
Name="VCCLCompilerTool"
|
||||
Optimization="0"
|
||||
AdditionalIncludeDirectories="./"
|
||||
PreprocessorDefinitions="WIN32,_DEBUG,_CONSOLE"
|
||||
BasicRuntimeChecks="3"
|
||||
RuntimeLibrary="5"
|
||||
UsePrecompiledHeader="2"
|
||||
PrecompiledHeaderFile=".\viewer___Win32_Debug/viewer.pch"
|
||||
AssemblerListingLocation=".\viewer___Win32_Debug/"
|
||||
ObjectFile=".\viewer___Win32_Debug/"
|
||||
ProgramDataBaseFileName=".\viewer___Win32_Debug/"
|
||||
WarningLevel="3"
|
||||
SuppressStartupBanner="TRUE"
|
||||
DebugInformationFormat="4"
|
||||
CompileAs="0"/>
|
||||
<Tool
|
||||
Name="VCCustomBuildTool"/>
|
||||
<Tool
|
||||
Name="VCLinkerTool"
|
||||
AdditionalOptions="/MACHINE:I386"
|
||||
AdditionalDependencies="odbc32.lib odbccp32.lib opengl32.lib glu32.lib glut32.lib"
|
||||
OutputFile=".\viewer___Win32_Debug/viewer.exe"
|
||||
LinkIncremental="2"
|
||||
SuppressStartupBanner="TRUE"
|
||||
AdditionalLibraryDirectories="./lib"
|
||||
GenerateDebugInformation="TRUE"
|
||||
ProgramDatabaseFile=".\viewer___Win32_Debug/viewer.pdb"
|
||||
SubSystem="1"/>
|
||||
<Tool
|
||||
Name="VCMIDLTool"
|
||||
TypeLibraryName=".\viewer___Win32_Debug/viewer.tlb"/>
|
||||
<Tool
|
||||
Name="VCPostBuildEventTool"/>
|
||||
<Tool
|
||||
Name="VCPreBuildEventTool"/>
|
||||
<Tool
|
||||
Name="VCPreLinkEventTool"/>
|
||||
<Tool
|
||||
Name="VCResourceCompilerTool"
|
||||
PreprocessorDefinitions="_DEBUG"
|
||||
Culture="1033"/>
|
||||
<Tool
|
||||
Name="VCWebServiceProxyGeneratorTool"/>
|
||||
<Tool
|
||||
Name="VCXMLDataGeneratorTool"/>
|
||||
<Tool
|
||||
Name="VCWebDeploymentTool"/>
|
||||
<Tool
|
||||
Name="VCManagedWrapperGeneratorTool"/>
|
||||
<Tool
|
||||
Name="VCAuxiliaryManagedWrapperGeneratorTool"/>
|
||||
</Configuration>
|
||||
<Configuration
|
||||
Name="Release|Win32"
|
||||
OutputDirectory=".\Release"
|
||||
IntermediateDirectory=".\Release"
|
||||
ConfigurationType="1"
|
||||
UseOfMFC="0"
|
||||
ATLMinimizesCRunTimeLibraryUsage="FALSE"
|
||||
CharacterSet="2">
|
||||
<Tool
|
||||
Name="VCCLCompilerTool"
|
||||
InlineFunctionExpansion="1"
|
||||
AdditionalIncludeDirectories="./"
|
||||
PreprocessorDefinitions="WIN32,NDEBUG,_CONSOLE"
|
||||
StringPooling="TRUE"
|
||||
RuntimeLibrary="4"
|
||||
EnableFunctionLevelLinking="TRUE"
|
||||
UsePrecompiledHeader="2"
|
||||
PrecompiledHeaderFile=".\Release/viewer.pch"
|
||||
AssemblerListingLocation=".\Release/"
|
||||
ObjectFile=".\Release/"
|
||||
ProgramDataBaseFileName=".\Release/"
|
||||
WarningLevel="3"
|
||||
SuppressStartupBanner="TRUE"
|
||||
CompileAs="0"/>
|
||||
<Tool
|
||||
Name="VCCustomBuildTool"/>
|
||||
<Tool
|
||||
Name="VCLinkerTool"
|
||||
AdditionalOptions="/MACHINE:I386"
|
||||
AdditionalDependencies="odbc32.lib odbccp32.lib opengl32.lib glu32.lib glut32.lib"
|
||||
OutputFile=".\Release/viewer.exe"
|
||||
LinkIncremental="1"
|
||||
SuppressStartupBanner="TRUE"
|
||||
AdditionalLibraryDirectories="./lib"
|
||||
ProgramDatabaseFile=".\Release/viewer.pdb"
|
||||
SubSystem="1"/>
|
||||
<Tool
|
||||
Name="VCMIDLTool"
|
||||
TypeLibraryName=".\Release/viewer.tlb"/>
|
||||
<Tool
|
||||
Name="VCPostBuildEventTool"/>
|
||||
<Tool
|
||||
Name="VCPreBuildEventTool"/>
|
||||
<Tool
|
||||
Name="VCPreLinkEventTool"/>
|
||||
<Tool
|
||||
Name="VCResourceCompilerTool"
|
||||
PreprocessorDefinitions="NDEBUG"
|
||||
Culture="1033"/>
|
||||
<Tool
|
||||
Name="VCWebServiceProxyGeneratorTool"/>
|
||||
<Tool
|
||||
Name="VCXMLDataGeneratorTool"/>
|
||||
<Tool
|
||||
Name="VCWebDeploymentTool"/>
|
||||
<Tool
|
||||
Name="VCManagedWrapperGeneratorTool"/>
|
||||
<Tool
|
||||
Name="VCAuxiliaryManagedWrapperGeneratorTool"/>
|
||||
</Configuration>
|
||||
</Configurations>
|
||||
<References>
|
||||
</References>
|
||||
<Files>
|
||||
<Filter
|
||||
Name="Source Files"
|
||||
Filter="cpp;c;cxx;rc;def;r;odl;idl;hpj;bat">
|
||||
<File
|
||||
RelativePath="..\viewer.cpp">
|
||||
</File>
|
||||
</Filter>
|
||||
</Files>
|
||||
<Globals>
|
||||
</Globals>
|
||||
</VisualStudioProject>
|
||||
134
CS4451/oglexamples/win32/viewer.vcproj.old
Normal file
134
CS4451/oglexamples/win32/viewer.vcproj.old
Normal file
@@ -0,0 +1,134 @@
|
||||
<?xml version="1.0" encoding = "Windows-1252"?>
|
||||
<VisualStudioProject
|
||||
ProjectType="Visual C++"
|
||||
Version="7.00"
|
||||
Name="viewer"
|
||||
SccProjectName=""
|
||||
SccLocalPath="">
|
||||
<Platforms>
|
||||
<Platform
|
||||
Name="Win32"/>
|
||||
</Platforms>
|
||||
<Configurations>
|
||||
<Configuration
|
||||
Name="Debug|Win32"
|
||||
OutputDirectory=".\viewer___Win32_Debug"
|
||||
IntermediateDirectory=".\viewer___Win32_Debug"
|
||||
ConfigurationType="1"
|
||||
UseOfMFC="0"
|
||||
ATLMinimizesCRunTimeLibraryUsage="FALSE"
|
||||
CharacterSet="2">
|
||||
<Tool
|
||||
Name="VCCLCompilerTool"
|
||||
Optimization="0"
|
||||
AdditionalIncludeDirectories="./"
|
||||
PreprocessorDefinitions="WIN32,_DEBUG,_CONSOLE"
|
||||
BasicRuntimeChecks="3"
|
||||
RuntimeLibrary="5"
|
||||
UsePrecompiledHeader="2"
|
||||
PrecompiledHeaderFile=".\viewer___Win32_Debug/viewer.pch"
|
||||
AssemblerListingLocation=".\viewer___Win32_Debug/"
|
||||
ObjectFile=".\viewer___Win32_Debug/"
|
||||
ProgramDataBaseFileName=".\viewer___Win32_Debug/"
|
||||
WarningLevel="3"
|
||||
SuppressStartupBanner="TRUE"
|
||||
DebugInformationFormat="4"
|
||||
CompileAs="0"/>
|
||||
<Tool
|
||||
Name="VCCustomBuildTool"/>
|
||||
<Tool
|
||||
Name="VCLinkerTool"
|
||||
AdditionalOptions="/MACHINE:I386"
|
||||
AdditionalDependencies="odbc32.lib odbccp32.lib opengl32.lib glu32.lib glut32.lib"
|
||||
OutputFile=".\viewer___Win32_Debug/viewer.exe"
|
||||
LinkIncremental="2"
|
||||
SuppressStartupBanner="TRUE"
|
||||
AdditionalLibraryDirectories="./lib"
|
||||
GenerateDebugInformation="TRUE"
|
||||
ProgramDatabaseFile=".\viewer___Win32_Debug/viewer.pdb"
|
||||
SubSystem="1"/>
|
||||
<Tool
|
||||
Name="VCMIDLTool"
|
||||
TypeLibraryName=".\viewer___Win32_Debug/viewer.tlb"/>
|
||||
<Tool
|
||||
Name="VCPostBuildEventTool"/>
|
||||
<Tool
|
||||
Name="VCPreBuildEventTool"/>
|
||||
<Tool
|
||||
Name="VCPreLinkEventTool"/>
|
||||
<Tool
|
||||
Name="VCResourceCompilerTool"
|
||||
PreprocessorDefinitions="_DEBUG"
|
||||
Culture="1033"/>
|
||||
<Tool
|
||||
Name="VCWebServiceProxyGeneratorTool"/>
|
||||
<Tool
|
||||
Name="VCWebDeploymentTool"/>
|
||||
</Configuration>
|
||||
<Configuration
|
||||
Name="Release|Win32"
|
||||
OutputDirectory=".\Release"
|
||||
IntermediateDirectory=".\Release"
|
||||
ConfigurationType="1"
|
||||
UseOfMFC="0"
|
||||
ATLMinimizesCRunTimeLibraryUsage="FALSE"
|
||||
CharacterSet="2">
|
||||
<Tool
|
||||
Name="VCCLCompilerTool"
|
||||
InlineFunctionExpansion="1"
|
||||
AdditionalIncludeDirectories="./"
|
||||
PreprocessorDefinitions="WIN32,NDEBUG,_CONSOLE"
|
||||
StringPooling="TRUE"
|
||||
RuntimeLibrary="4"
|
||||
EnableFunctionLevelLinking="TRUE"
|
||||
UsePrecompiledHeader="2"
|
||||
PrecompiledHeaderFile=".\Release/viewer.pch"
|
||||
AssemblerListingLocation=".\Release/"
|
||||
ObjectFile=".\Release/"
|
||||
ProgramDataBaseFileName=".\Release/"
|
||||
WarningLevel="3"
|
||||
SuppressStartupBanner="TRUE"
|
||||
CompileAs="0"/>
|
||||
<Tool
|
||||
Name="VCCustomBuildTool"/>
|
||||
<Tool
|
||||
Name="VCLinkerTool"
|
||||
AdditionalOptions="/MACHINE:I386"
|
||||
AdditionalDependencies="odbc32.lib odbccp32.lib opengl32.lib glu32.lib glut32.lib"
|
||||
OutputFile=".\Release/viewer.exe"
|
||||
LinkIncremental="1"
|
||||
SuppressStartupBanner="TRUE"
|
||||
AdditionalLibraryDirectories="./lib"
|
||||
ProgramDatabaseFile=".\Release/viewer.pdb"
|
||||
SubSystem="1"/>
|
||||
<Tool
|
||||
Name="VCMIDLTool"
|
||||
TypeLibraryName=".\Release/viewer.tlb"/>
|
||||
<Tool
|
||||
Name="VCPostBuildEventTool"/>
|
||||
<Tool
|
||||
Name="VCPreBuildEventTool"/>
|
||||
<Tool
|
||||
Name="VCPreLinkEventTool"/>
|
||||
<Tool
|
||||
Name="VCResourceCompilerTool"
|
||||
PreprocessorDefinitions="NDEBUG"
|
||||
Culture="1033"/>
|
||||
<Tool
|
||||
Name="VCWebServiceProxyGeneratorTool"/>
|
||||
<Tool
|
||||
Name="VCWebDeploymentTool"/>
|
||||
</Configuration>
|
||||
</Configurations>
|
||||
<Files>
|
||||
<Filter
|
||||
Name="Source Files"
|
||||
Filter="cpp;c;cxx;rc;def;r;odl;idl;hpj;bat">
|
||||
<File
|
||||
RelativePath="..\viewer.cpp">
|
||||
</File>
|
||||
</Filter>
|
||||
</Files>
|
||||
<Globals>
|
||||
</Globals>
|
||||
</VisualStudioProject>
|
||||
Reference in New Issue
Block a user