Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP

Comparing changes

Choose two branches to see what's changed or to start a new pull request. If you need to, you can also compare across forks.

Open a pull request

Create a new pull request by comparing changes across two branches. If you need to, you can also compare across forks.
base fork: vanderlin/ofxCameraKit
base: 1655c8bdc3
...
head fork: vanderlin/ofxCameraKit
compare: 4d5824a2ff
Checking mergeability… Don't worry, you can still create the pull request.
  • 2 commits
  • 72 files changed
  • 0 commit comments
  • 1 contributor
Showing with 5,006 additions and 0 deletions.
  1. +9 −0 example yell fire/Project.xcconfig
  2. +1 −0  example yell fire/bin/ofxCameraKitDebug.app/Contents/Frameworks/GLUT.framework/GLUT
  3. +1 −0  example yell fire/bin/ofxCameraKitDebug.app/Contents/Frameworks/GLUT.framework/Headers
  4. +1 −0  example yell fire/bin/ofxCameraKitDebug.app/Contents/Frameworks/GLUT.framework/Resources
  5. BIN  example yell fire/bin/ofxCameraKitDebug.app/Contents/Frameworks/GLUT.framework/Versions/A/GLUT
  6. +18 −0 example yell fire/bin/ofxCameraKitDebug.app/Contents/Frameworks/GLUT.framework/Versions/A/Headers/copy.h
  7. +96 −0 example yell fire/bin/ofxCameraKitDebug.app/Contents/Frameworks/GLUT.framework/Versions/A/Headers/extrude.h
  8. +137 −0 example yell fire/bin/ofxCameraKitDebug.app/Contents/Frameworks/GLUT.framework/Versions/A/Headers/glsmap.h
  9. +102 −0 example yell fire/bin/ofxCameraKitDebug.app/Contents/Frameworks/GLUT.framework/Versions/A/Headers/glsmapint.h
  10. +648 −0 example yell fire/bin/ofxCameraKitDebug.app/Contents/Frameworks/GLUT.framework/Versions/A/Headers/glut.h
  11. +30 −0 example yell fire/bin/ofxCameraKitDebug.app/Contents/Frameworks/GLUT.framework/Versions/A/Headers/glutbitmap.h
  12. +90 −0 example yell fire/bin/ofxCameraKitDebug.app/Contents/Frameworks/GLUT.framework/Versions/A/Headers/glutf90.h
  13. +42 −0 example yell fire/bin/ofxCameraKitDebug.app/Contents/Frameworks/GLUT.framework/Versions/A/Headers/glutstroke.h
  14. +89 −0 example yell fire/bin/ofxCameraKitDebug.app/Contents/Frameworks/GLUT.framework/Versions/A/Headers/gutil.h
  15. +391 −0 example yell fire/bin/ofxCameraKitDebug.app/Contents/Frameworks/GLUT.framework/Versions/A/Headers/intersect.h
  16. +298 −0 example yell fire/bin/ofxCameraKitDebug.app/Contents/Frameworks/GLUT.framework/Versions/A/Headers/port.h
  17. +98 −0 example yell fire/bin/ofxCameraKitDebug.app/Contents/Frameworks/GLUT.framework/Versions/A/Headers/rot.h
  18. +98 −0 example yell fire/bin/ofxCameraKitDebug.app/Contents/Frameworks/GLUT.framework/Versions/A/Headers/segment.h
  19. +203 −0 example yell fire/bin/ofxCameraKitDebug.app/Contents/Frameworks/GLUT.framework/Versions/A/Headers/tube.h
  20. +78 −0 example yell fire/bin/ofxCameraKitDebug.app/Contents/Frameworks/GLUT.framework/Versions/A/Headers/tube_gc.h
  21. +1,339 −0 example yell fire/bin/ofxCameraKitDebug.app/Contents/Frameworks/GLUT.framework/Versions/A/Headers/vvector.h
  22. BIN  ...le yell fire/bin/ofxCameraKitDebug.app/Contents/Frameworks/GLUT.framework/Versions/A/Resources/Caution.tiff
  23. +55 −0 ...meraKitDebug.app/Contents/Frameworks/GLUT.framework/Versions/A/Resources/English.lproj/GLUT.nib/classes.nib
  24. +25 −0 ...xCameraKitDebug.app/Contents/Frameworks/GLUT.framework/Versions/A/Resources/English.lproj/GLUT.nib/info.nib
  25. BIN  ...meraKitDebug.app/Contents/Frameworks/GLUT.framework/Versions/A/Resources/English.lproj/GLUT.nib/objects.nib
  26. +13 −0 ...bug.app/Contents/Frameworks/GLUT.framework/Versions/A/Resources/English.lproj/GLUTClipboard.nib/classes.nib
  27. +12 −0 ...tDebug.app/Contents/Frameworks/GLUT.framework/Versions/A/Resources/English.lproj/GLUTClipboard.nib/info.nib
  28. BIN  ...bug.app/Contents/Frameworks/GLUT.framework/Versions/A/Resources/English.lproj/GLUTClipboard.nib/objects.nib
  29. +73 −0 ...g.app/Contents/Frameworks/GLUT.framework/Versions/A/Resources/English.lproj/GLUTPreferences.nib/classes.nib
  30. +16 −0 ...ebug.app/Contents/Frameworks/GLUT.framework/Versions/A/Resources/English.lproj/GLUTPreferences.nib/info.nib
  31. BIN  ...g.app/Contents/Frameworks/GLUT.framework/Versions/A/Resources/English.lproj/GLUTPreferences.nib/objects.nib
  32. BIN  .../ofxCameraKitDebug.app/Contents/Frameworks/GLUT.framework/Versions/A/Resources/English.lproj/GLUTUI.strings
  33. BIN  ...xCameraKitDebug.app/Contents/Frameworks/GLUT.framework/Versions/A/Resources/English.lproj/InfoPlist.strings
  34. +24 −0 example yell fire/bin/ofxCameraKitDebug.app/Contents/Frameworks/GLUT.framework/Versions/A/Resources/Info.plist
  35. BIN  ...ell fire/bin/ofxCameraKitDebug.app/Contents/Frameworks/GLUT.framework/Versions/A/Resources/blankCursor.tiff
  36. BIN  ...ll fire/bin/ofxCameraKitDebug.app/Contents/Frameworks/GLUT.framework/Versions/A/Resources/bottomCursor.tiff
  37. BIN  ...ire/bin/ofxCameraKitDebug.app/Contents/Frameworks/GLUT.framework/Versions/A/Resources/bottomleftCursor.tiff
  38. BIN  ...re/bin/ofxCameraKitDebug.app/Contents/Frameworks/GLUT.framework/Versions/A/Resources/bottomrightCursor.tiff
  39. BIN  ...ell fire/bin/ofxCameraKitDebug.app/Contents/Frameworks/GLUT.framework/Versions/A/Resources/crossCursor.tiff
  40. BIN  ...ell fire/bin/ofxCameraKitDebug.app/Contents/Frameworks/GLUT.framework/Versions/A/Resources/cycleCursor.tiff
  41. BIN  ...l fire/bin/ofxCameraKitDebug.app/Contents/Frameworks/GLUT.framework/Versions/A/Resources/destroyCursor.tiff
  42. BIN  ...ll fire/bin/ofxCameraKitDebug.app/Contents/Frameworks/GLUT.framework/Versions/A/Resources/fingerCursor.tiff
  43. BIN  ...yell fire/bin/ofxCameraKitDebug.app/Contents/Frameworks/GLUT.framework/Versions/A/Resources/helpCursor.tiff
  44. BIN  ...yell fire/bin/ofxCameraKitDebug.app/Contents/Frameworks/GLUT.framework/Versions/A/Resources/leftCursor.tiff
  45. BIN  ...fire/bin/ofxCameraKitDebug.app/Contents/Frameworks/GLUT.framework/Versions/A/Resources/leftRightCursor.tiff
  46. BIN  ...ire/bin/ofxCameraKitDebug.app/Contents/Frameworks/GLUT.framework/Versions/A/Resources/rightArrowCursor.tiff
  47. BIN  ...ell fire/bin/ofxCameraKitDebug.app/Contents/Frameworks/GLUT.framework/Versions/A/Resources/rightCursor.tiff
  48. BIN  ...ell fire/bin/ofxCameraKitDebug.app/Contents/Frameworks/GLUT.framework/Versions/A/Resources/sprayCursor.tiff
  49. BIN  ... yell fire/bin/ofxCameraKitDebug.app/Contents/Frameworks/GLUT.framework/Versions/A/Resources/topCursor.tiff
  50. BIN  ...l fire/bin/ofxCameraKitDebug.app/Contents/Frameworks/GLUT.framework/Versions/A/Resources/topleftCursor.tiff
  51. BIN  ... fire/bin/ofxCameraKitDebug.app/Contents/Frameworks/GLUT.framework/Versions/A/Resources/toprightCursor.tiff
  52. BIN  ...ll fire/bin/ofxCameraKitDebug.app/Contents/Frameworks/GLUT.framework/Versions/A/Resources/upDownCursor.tiff
  53. BIN  ...yell fire/bin/ofxCameraKitDebug.app/Contents/Frameworks/GLUT.framework/Versions/A/Resources/waitCursor.tiff
  54. +1 −0  example yell fire/bin/ofxCameraKitDebug.app/Contents/Frameworks/GLUT.framework/Versions/Current
  55. +36 −0 example yell fire/bin/ofxCameraKitDebug.app/Contents/Info.plist
  56. BIN  example yell fire/bin/ofxCameraKitDebug.app/Contents/MacOS/libfmodex.dylib
  57. BIN  example yell fire/bin/ofxCameraKitDebug.app/Contents/MacOS/ofxCameraKitDebug
  58. +1 −0  example yell fire/bin/ofxCameraKitDebug.app/Contents/PkgInfo
  59. +597 −0 example yell fire/ofxCameraKit.xcodeproj/project.pbxproj
  60. +7 −0 example yell fire/ofxCameraKit.xcodeproj/project.xcworkspace/contents.xcworkspacedata
  61. BIN  ...ofxCameraKit.xcodeproj/project.xcworkspace/xcuserdata/tvanderlin.xcuserdatad/UserInterfaceState.xcuserstate
  62. +10 −0 ...e/ofxCameraKit.xcodeproj/project.xcworkspace/xcuserdata/tvanderlin.xcuserdatad/WorkspaceSettings.xcsettings
  63. +85 −0 example yell fire/ofxCameraKit.xcodeproj/xcshareddata/xcschemes/Yell App.xcscheme
  64. +5 −0 example yell fire/ofxCameraKit.xcodeproj/xcuserdata/tvanderlin.xcuserdatad/xcdebugger/Breakpoints.xcbkptlist
  65. +14 −0 example yell fire/ofxCameraKit.xcodeproj/xcuserdata/tvanderlin.xcuserdatad/xcschemes/xcschememanagement.plist
  66. +20 −0 example yell fire/openFrameworks-Info.plist
  67. +16 −0 example yell fire/src/main.mm
  68. +43 −0 example yell fire/src/testApp.h
  69. +184 −0 example yell fire/src/testApp.mm
  70. BIN  example/.DS_Store
  71. BIN  ...ofxCameraKit.xcodeproj/project.xcworkspace/xcuserdata/tvanderlin.xcuserdatad/UserInterfaceState.xcuserstate
  72. BIN  example/src/.DS_Store
View
9 example yell fire/Project.xcconfig
@@ -0,0 +1,9 @@
+//THE PATH TO THE ROOT OF OUR OF PATH RELATIVE TO THIS PROJECT.
+//THIS NEEDS TO BE DEFINED BEFORE CoreOF.xcconfig IS INCLUDED
+OF_PATH = ../../..
+
+//THIS HAS ALL THE HEADER AND LIBS FOR OF CORE
+#include "../../../libs/openFrameworksCompiled/project/osx/CoreOF.xcconfig"
+
+OTHER_LDFLAGS = $(OF_CORE_LIBS)
+HEADER_SEARCH_PATHS = $(OF_CORE_HEADERS)
View
1  example yell fire/bin/ofxCameraKitDebug.app/Contents/Frameworks/GLUT.framework/GLUT
View
1  example yell fire/bin/ofxCameraKitDebug.app/Contents/Frameworks/GLUT.framework/Headers
View
1  example yell fire/bin/ofxCameraKitDebug.app/Contents/Frameworks/GLUT.framework/Resources
View
BIN  example yell fire/bin/ofxCameraKitDebug.app/Contents/Frameworks/GLUT.framework/Versions/A/GLUT
Binary file not shown
View
18 example yell fire/bin/ofxCameraKitDebug.app/Contents/Frameworks/GLUT.framework/Versions/A/Headers/copy.h
@@ -0,0 +1,18 @@
+
+/*
+ *
+ * Written By Linas Vepstas November 1991
+ */
+
+
+#define COPY_THREE_WORDS(A,B) { \
+ struct three_words { int a, b, c, }; \
+ *(struct three_words *) (A) = *(struct three_words *) (B); \
+}
+
+#define COPY_FOUR_WORDS(A,B) { \
+ struct four_words { int a, b, c, d, }; \
+ *(struct four_words *) (A) = *(struct four_words *) (B); \
+}
+
+/* ============================================================= */
View
96 example yell fire/bin/ofxCameraKitDebug.app/Contents/Frameworks/GLUT.framework/Versions/A/Headers/extrude.h
@@ -0,0 +1,96 @@
+
+/*
+ * extrude.h
+ *
+ * FUNCTION:
+ * prototypes for privately used subroutines for the tubing library
+ *
+ * HISTORY:
+ * Linas Vepstas 1991
+ */
+
+#include "port.h" /* for gleDouble */
+
+#ifndef M_PI
+#define M_PI 3.14159265358979323846
+#endif
+
+/* ============================================================ */
+/*
+ * Provides choice of calling subroutine, vs. invoking macro.
+ * Basically, inlines the source, or not.
+ * Trades performance for executable size.
+ */
+
+#define INLINE_INTERSECT
+#ifdef INLINE_INTERSECT
+#define INNERSECT(sect,p,n,v1,v2) { INTERSECT(sect,p,n,v1,v2); }
+#else
+#define INNERSECT(sect,p,n,v1,v2) intersect(sect,p,n,v1,v2)
+#endif /* INLINE_INTERSECT */
+
+/* ============================================================ */
+/* The folowing defines give a kludgy way of accessing the qmesh primitive */
+
+/*
+#define bgntmesh _emu_qmesh_bgnqmesh
+#define endtmesh _emu_qmesh_endqmesh
+#define c3f _emu_qmesh_c3f
+#define n3f _emu_qmesh_n3f
+#define v3f _emu_qmesh_v3f
+*/
+
+/* ============================================================ */
+
+extern void up_sanity_check (gleDouble up[3], /* up vector for contour */
+ int npoints, /* numpoints in poly-line */
+ gleDouble point_array[][3]); /* polyline */
+
+
+extern void draw_raw_style_end_cap (int ncp, /* number of contour points */
+ gleDouble contour[][2], /* 2D contour */
+ gleDouble zval, /* where to draw cap */
+ int frontwards); /* front or back cap */
+
+extern void draw_round_style_cap_callback (int iloop,
+ double cap[][3],
+ float face_color[3],
+ gleDouble cut_vector[3],
+ gleDouble bisect_vector[3],
+ double norms[][3],
+ int frontwards);
+
+extern void draw_angle_style_front_cap (int ncp,
+ gleDouble bi[3],
+ gleDouble point_array[][3]);
+
+extern void extrusion_raw_join (int ncp, /* number of contour points */
+ gleDouble contour[][2], /* 2D contour */
+ gleDouble cont_normal[][2],/* 2D contour normal vecs */
+ gleDouble up[3], /* up vector for contour */
+ int npoints, /* numpoints in poly-line */
+ gleDouble point_array[][3], /* polyline */
+ float color_array[][3], /* color of polyline */
+ gleDouble xform_array[][2][3]); /* 2D contour xforms */
+
+
+extern void extrusion_round_or_cut_join (int ncp, /* number of contour points */
+ gleDouble contour[][2], /* 2D contour */
+ gleDouble cont_normal[][2],/* 2D contour normal vecs */
+ gleDouble up[3], /* up vector for contour */
+ int npoints, /* numpoints in poly-line */
+ gleDouble point_array[][3], /* polyline */
+ float color_array[][3], /* color of polyline */
+ gleDouble xform_array[][2][3]); /* 2D contour xforms */
+
+
+extern void extrusion_angle_join (int ncp, /* number of contour points */
+ gleDouble contour[][2], /* 2D contour */
+ gleDouble cont_normal[][2],/* 2D contour normal vecs */
+ gleDouble up[3], /* up vector for contour */
+ int npoints, /* numpoints in poly-line */
+ gleDouble point_array[][3], /* polyline */
+ float color_array[][3], /* color of polyline */
+ gleDouble xform_array[][2][3]); /* 2D contour xforms */
+
+/* -------------------------- end of file -------------------------------- */
View
137 example yell fire/bin/ofxCameraKitDebug.app/Contents/Frameworks/GLUT.framework/Versions/A/Headers/glsmap.h
@@ -0,0 +1,137 @@
+#ifndef __glsmap_h__
+#define __glsmap_h__
+
+/* Copyright (c) Mark J. Kilgard, 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)
+
+/* Try hard 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
+# if (_MSC_VER >= 800) || defined(_STDCALL_SUPPORTED)
+# define APIENTRY __stdcall
+# else
+# define APIENTRY
+# endif
+# endif
+# ifndef CALLBACK
+ /* XXX This is from Win32's <winnt.h> */
+# 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 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 warning (disable:4244) /* Disable bogus conversion warnings. */
+#pragma warning (disable:4305) /* VC++ 5.0 version of above warning. */
+
+#endif /* _WIN32 */
+
+#include <OpenGL/gl.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+typedef enum {
+ SMAP_CLEAR_SMAP_TEXTURE = 0x1,
+ SMAP_GENERATE_VIEW_MIPMAPS = 0x2,
+ SMAP_GENERATE_SMAP_MIPMAPS = 0x4,
+ SMAP_GENERATE_MIPMAPS = 0x6 /* both of above */
+} SphereMapFlags;
+
+/* Cube view enumerants. */
+enum {
+ SMAP_FRONT = 0,
+ SMAP_TOP = 1,
+ SMAP_BOTTOM = 2,
+ SMAP_LEFT = 3,
+ SMAP_RIGHT = 4,
+ SMAP_BACK = 5
+};
+
+typedef struct _SphereMap SphereMap;
+
+extern SphereMap *smapCreateSphereMap(SphereMap *shareSmap);
+extern void smapDestroySphereMap(SphereMap *smap);
+
+extern void smapConfigureSphereMapMesh(SphereMap *smap, int steps, int rings, int edgeExtend);
+
+extern void smapSetSphereMapTexObj(SphereMap *smap, GLuint texobj);
+extern void smapSetViewTexObj(SphereMap *smap, GLuint texobj);
+extern void smapSetViewTexObjs(SphereMap *smap, GLuint texobjs[6]);
+extern void smapGetSphereMapTexObj(SphereMap *smap, GLuint *texobj);
+extern void smapGetViewTexObj(SphereMap *smap, GLuint *texobj);
+extern void smapGetViewTexObjs(SphereMap *smap, GLuint texobjs[6]);
+
+extern void smapSetFlags(SphereMap *smap, SphereMapFlags flags);
+extern void smapGetFlags(SphereMap *smap, SphereMapFlags *flags);
+
+extern void smapSetViewOrigin(SphereMap *smap, GLint x, GLint y);
+extern void smapSetSphereMapOrigin(SphereMap *smap, GLint x, GLint y);
+extern void smapGetViewOrigin(SphereMap *smap, GLint *x, GLint *y);
+extern void smapGetSphereMapOrigin(SphereMap *smap, GLint *x, GLint *y);
+
+extern void smapSetEye(SphereMap *smap, GLfloat eyex, GLfloat eyey, GLfloat eyez);
+extern void smapSetEyeVector(SphereMap *smap, GLfloat *eye);
+extern void smapSetUp(SphereMap *smap, GLfloat upx, GLfloat upy, GLfloat upz);
+extern void smapSetUpVector(SphereMap *smap, GLfloat *up);
+extern void smapSetObject(SphereMap *smap, GLfloat objx, GLfloat objy, GLfloat objz);
+extern void smapSetObjectVector(SphereMap *smap, GLfloat *obj);
+extern void smapGetEye(SphereMap *smap, GLfloat *eyex, GLfloat *eyey, GLfloat *eyez);
+extern void smapGetEyeVector(SphereMap *smap, GLfloat *eye);
+extern void smapGetUp(SphereMap *smap, GLfloat *upx, GLfloat *upy, GLfloat *upz);
+extern void smapGetUpVector(SphereMap *smap, GLfloat *up);
+extern void smapGetObject(SphereMap *smap, GLfloat *objx, GLfloat *objy, GLfloat *objz);
+extern void smapGetObjectVector(SphereMap *smap, GLfloat *obj);
+
+extern void smapSetNearFar(SphereMap *smap, GLfloat viewNear, GLfloat viewFar);
+extern void smapGetNearFar(SphereMap *smap, GLfloat *viewNear, GLfloat *viewFar);
+
+extern void smapSetSphereMapTexDim(SphereMap *smap, GLsizei texdim);
+extern void smapSetViewTexDim(SphereMap *smap, GLsizei texdim);
+extern void smapGetSphereMapTexDim(SphereMap *smap, GLsizei *texdim);
+extern void smapGetViewTexDim(SphereMap *smap, GLsizei *texdim);
+
+extern void smapSetContextData(SphereMap *smap, void *context);
+extern void smapGetContextData(SphereMap *smap, void **context);
+
+extern void smapSetPositionLightsFunc(SphereMap *smap, void (*positionLights)(int view, void *context));
+extern void smapSetDrawViewFunc(SphereMap *smap, void (*drawView)(int view, void *context));
+extern void smapGetPositionLightsFunc(SphereMap *smap, void (**positionLights)(int view, void *context));
+extern void smapGetDrawViewFunc(SphereMap *smap, void (**drawView)(int view, void *context));
+
+extern void smapGenViewTex(SphereMap *smap, int view);
+extern void smapGenViewTexs(SphereMap *smap);
+extern void smapGenSphereMapFromViewTexs(SphereMap *smap);
+extern void smapGenSphereMap(SphereMap *smap);
+extern void smapGenSphereMapWithOneViewTex(SphereMap *smap);
+
+extern int smapRvecToSt(float rvec[3], float st[2]);
+extern void smapStToRvec(float *st, float *rvec);
+
+#ifdef __cplusplus
+}
+
+#endif
+#endif /* __glsmap_h__ */
View
102 ...le yell fire/bin/ofxCameraKitDebug.app/Contents/Frameworks/GLUT.framework/Versions/A/Headers/glsmapint.h
@@ -0,0 +1,102 @@
+#ifndef __glsmapint_h__
+#define __glsmapint_h__
+
+/* Copyright (c) Mark J. Kilgard, 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. */
+
+#include "glsmap.h"
+
+enum { X = 0, Y = 1, Z = 2 };
+
+#define INITFACE(mesh) \
+ int steps = mesh->steps; \
+ int sqsteps = mesh->steps * mesh->steps
+
+#define FACE(side,y,x) \
+ mesh->face[(side)*sqsteps + (y)*steps + (x)]
+
+#define FACExy(side,i,j) \
+ (&FACE(side,i,j).x)
+
+#define FACEst(side,i,j) \
+ (&FACE(side,i,j).s)
+
+#define INITBACK(mesh) \
+ int allrings = mesh->rings + mesh->edgeExtend; \
+ int ringedspokes = allrings * mesh->steps
+
+#define BACK(edge,ring,spoke) \
+ mesh->back[(edge)*ringedspokes + (ring)*mesh->steps + (spoke)]
+
+#define BACKxy(edge,ring,spoke) \
+ (&BACK(edge,ring,spoke).x)
+
+#define BACKst(edge,ring,spoke) \
+ (&BACK(edge,ring,spoke).s)
+
+typedef struct _STXY {
+ GLfloat s, t;
+ GLfloat x, y;
+} STXY;
+
+typedef struct _SphereMapMesh {
+
+ int refcnt;
+
+ int steps;
+ int rings;
+ int edgeExtend;
+
+ STXY *face;
+ STXY *back;
+
+} SphereMapMesh;
+
+struct _SphereMap {
+
+ /* Shared sphere map mesh vertex data. */
+ SphereMapMesh *mesh;
+
+ /* Texture object ids. */
+ GLuint smapTexObj;
+ GLuint viewTexObjs[6];
+ GLuint viewTexObj;
+
+ /* Flags */
+ SphereMapFlags flags;
+
+ /* Texture dimensions must be a power of two. */
+ int viewTexDim; /* view texture dimension */
+ int smapTexDim; /* sphere map texture dimension */
+
+ /* Viewport origins for view and sphere map rendering. */
+ int viewOrigin[2];
+ int smapOrigin[2];
+
+ /* Viewing vectors. */
+ GLfloat eye[3];
+ GLfloat up[3];
+ GLfloat obj[3];
+
+ /* Projection parameters. */
+ GLfloat viewNear;
+ GLfloat viewFar;
+
+ /* Rendering callbacks. */
+ void (*positionLights)(int view, void *context);
+ void (*drawView)(int view, void *context);
+
+ /* Application specified callback data. */
+ void *context;
+
+};
+
+/* Library internal routines. */
+extern void __smapDrawSphereMapMeshSide(SphereMapMesh *mesh, int side);
+extern void __smapDrawSphereMapMeshBack(SphereMapMesh *mesh);
+extern void __smapValidateSphereMapMesh(SphereMapMesh *mesh);
+
+#endif /* __glsmapint_h__ */
View
648 example yell fire/bin/ofxCameraKitDebug.app/Contents/Frameworks/GLUT.framework/Versions/A/Headers/glut.h
@@ -0,0 +1,648 @@
+#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. */
+//#define GLUT_OF_007_HACK
+
+#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
+
+#if defined(__APPLE__) || defined(MACOSX)
+#include <AvailabilityMacros.h>
+#include <OpenGL/gl.h>
+#include <OpenGL/glu.h>
+#else
+#include <GL/gl.h>
+#include <GL/glu.h>
+#endif
+
+/* 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!).
+
+ GLUT_API_VERSION=5 glutGetProcAddress (added by BrianP)
+**/
+#ifndef GLUT_API_VERSION /* allow this to be overriden */
+#define GLUT_API_VERSION 5
+#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
+
+/**
+ MacOS X GLUT implementation revision history:
+
+ GLUT_MACOSX_IMPLEMENTATION is updated to reflect MacOS X
+ specific GLUT API revisions and implementation revisions
+ (ie, bug fixes).
+
+ GLUT_MACOSX_IMPLEMENTATION=1 glutSurfaceTexture.
+
+ GLUT_MACOSX_IMPLEMENTATION=2 glutWMCloseFunc, glutCheckLoop.
+
+**/
+#ifndef GLUT_MACOSX_IMPLEMENTATION /* Allow this to be overriden. */
+#define GLUT_MACOSX_IMPLEMENTATION 2
+#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
+#define GLUT_NO_RECOVERY 1024
+
+/* 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);
+#if (GLUT_MACOSX_IMPLEMENTATION >= 1)
+/* surface texturing API Mac OS X specific
+* Note:
+* glutSurfaceTexture has been deprecated, use GL_EXT_framebuffer_object
+*/
+#ifdef MAC_OS_X_VERSION_10_5
+extern void APIENTRY glutSurfaceTexture (GLenum target, GLenum internalformat, int surfacewin); AVAILABLE_MAC_OS_X_VERSION_10_2_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_5
+#else
+extern void APIENTRY glutSurfaceTexture (GLenum target, GLenum internalformat, int surfacewin);
+#endif
+#endif
+#if (GLUT_MACOSX_IMPLEMENTATION >= 2)
+/* Mac OS X specific API */
+extern void APIENTRY glutWMCloseFunc(void (*func)(void));
+extern void APIENTRY glutCheckLoop(void);
+#endif
+#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);
+//#ifdef GLUT_OF_007_HACK
+extern void APIENTRY glutDragEventFunc(void (*func)(char ** fileNames, int nFiles, int dragX, int dragY));
+//#endif
+#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
+#if (GLUT_API_VERSION >= 5)
+extern void * APIENTRY glutGetProcAddress(const char *procName);
+#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__ */
View
30 ...e yell fire/bin/ofxCameraKitDebug.app/Contents/Frameworks/GLUT.framework/Versions/A/Headers/glutbitmap.h
@@ -0,0 +1,30 @@
+#ifndef __glutbitmap_h__
+#define __glutbitmap_h__
+
+/* Copyright (c) Mark J. Kilgard, 1994. */
+
+/* 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. */
+
+#include "glut.h"
+
+typedef struct {
+ const GLsizei width;
+ const GLsizei height;
+ const GLfloat xorig;
+ const GLfloat yorig;
+ const GLfloat advance;
+ const GLubyte *bitmap;
+} BitmapCharRec, *BitmapCharPtr;
+
+typedef struct {
+ const char *name;
+ const int num_chars;
+ const int first;
+ const BitmapCharRec * const *ch;
+} BitmapFontRec, *BitmapFontPtr;
+
+typedef void *GLUTbitmapFont;
+
+#endif /* __glutbitmap_h__ */
View
90 example yell fire/bin/ofxCameraKitDebug.app/Contents/Frameworks/GLUT.framework/Versions/A/Headers/glutf90.h
@@ -0,0 +1,90 @@
+#ifndef __glutf90_h__
+#define __glutf90_h__
+
+/* Copyright (c) Mark J. Kilgard & Willam F. Mitchell, 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. */
+
+/* This header provides the binding interface for William Mitchell's
+ f90gl Fortran 90 GLUT binding. Other GLUT language bindings
+ can and should use this interace. */
+
+/* I appreciate the guidance from William Mitchell
+ (mitchell@cam.nist.gov) in developing this friend interface
+ for use by the f90gl package. See ../../README.fortran */
+
+#include <GLUT/glut.h>
+
+#ifndef GLUTCALLBACK
+ #define GLUTCALLBACK
+#endif
+#ifndef APIENTRY
+ #define APIENTRY
+#endif
+
+/* Which callback enumerants for the __glutSetFCB/__glutGetFCB routines. */
+/* NOTE These values are part of a binary interface for the f90gl Fortran
+ 90 binding and so must NOT changes (additions are allowed). */
+
+/* GLUTwindow callbacks. */
+#define GLUT_FCB_DISPLAY 0 /* GLUTdisplayFCB */
+#define GLUT_FCB_RESHAPE 1 /* GLUTreshapeFCB */
+#define GLUT_FCB_MOUSE 2 /* GLUTmouseFCB */
+#define GLUT_FCB_MOTION 3 /* GLUTmotionFCB */
+#define GLUT_FCB_PASSIVE 4 /* GLUTpassiveFCB */
+#define GLUT_FCB_ENTRY 5 /* GLUTentryFCB */
+#define GLUT_FCB_KEYBOARD 6 /* GLUTkeyboardFCB */
+#define GLUT_FCB_KEYBOARD_UP 7 /* GLUTkeyboardFCB */
+#define GLUT_FCB_WINDOW_STATUS 8 /* GLUTwindowStatusFCB */
+#define GLUT_FCB_VISIBILITY 9 /* GLUTvisibilityFCB */
+#define GLUT_FCB_SPECIAL 10 /* GLUTspecialFCB */
+#define GLUT_FCB_SPECIAL_UP 11 /* GLUTspecialFCB */
+#define GLUT_FCB_BUTTON_BOX 12 /* GLUTbuttonBoxFCB */
+#define GLUT_FCB_DIALS 13 /* GLUTdialsFCB */
+#define GLUT_FCB_SPACE_MOTION 14 /* GLUTspaceMotionFCB */
+#define GLUT_FCB_SPACE_ROTATE 15 /* GLUTspaceRotateFCB */
+#define GLUT_FCB_SPACE_BUTTON 16 /* GLUTspaceButtonFCB */
+#define GLUT_FCB_TABLET_MOTION 17 /* GLUTtabletMotionFCB */
+#define GLUT_FCB_TABLET_BUTTON 18 /* GLUTtabletButtonFCB */
+#define GLUT_FCB_JOYSTICK 19 /* GLUTjoystickFCB */
+#define GLUT_FCB_WMCLOSE 20 /* GLUTwmcloseFCB */
+/* Non-GLUTwindow callbacks. */
+#define GLUT_FCB_OVERLAY_DISPLAY 100 /* GLUTdisplayFCB */
+#define GLUT_FCB_SELECT 101 /* GLUTselectFCB */
+#define GLUT_FCB_TIMER 102 /* GLUTtimerFCB */
+
+/* GLUT Fortran callback function types. */
+typedef void (GLUTCALLBACK *GLUTdisplayFCB) (void);
+typedef void (GLUTCALLBACK *GLUTwmcloseFCB) (void);
+typedef void (GLUTCALLBACK *GLUTreshapeFCB) (int *, int *);
+/* NOTE the pressed key is int, not unsigned char for Fortran! */
+typedef void (GLUTCALLBACK *GLUTkeyboardFCB) (int *, int *, int *);
+typedef void (GLUTCALLBACK *GLUTmouseFCB) (int *, int *, int *, int *);
+typedef void (GLUTCALLBACK *GLUTmotionFCB) (int *, int *);
+typedef void (GLUTCALLBACK *GLUTpassiveFCB) (int *, int *);
+typedef void (GLUTCALLBACK *GLUTentryFCB) (int *);
+typedef void (GLUTCALLBACK *GLUTwindowStatusFCB) (int *);
+typedef void (GLUTCALLBACK *GLUTvisibilityFCB) (int *);
+typedef void (GLUTCALLBACK *GLUTspecialFCB) (int *, int *, int *);
+typedef void (GLUTCALLBACK *GLUTbuttonBoxFCB) (int *, int *);
+typedef void (GLUTCALLBACK *GLUTdialsFCB) (int *, int *);
+typedef void (GLUTCALLBACK *GLUTspaceMotionFCB) (int *, int *, int *);
+typedef void (GLUTCALLBACK *GLUTspaceRotateFCB) (int *, int *, int *);
+typedef void (GLUTCALLBACK *GLUTspaceButtonFCB) (int *, int *);
+typedef void (GLUTCALLBACK *GLUTtabletMotionFCB) (int *, int *);
+typedef void (GLUTCALLBACK *GLUTtabletButtonFCB) (int *, int *, int *, int *);
+typedef void (GLUTCALLBACK *GLUTjoystickFCB) (unsigned int *buttonMask, int *x, int *y, int *z);
+
+typedef void (GLUTCALLBACK *GLUTselectFCB) (int *);
+typedef void (GLUTCALLBACK *GLUTtimerFCB) (int *);
+typedef void (GLUTCALLBACK *GLUTmenuStateFCB) (int *); /* DEPRICATED. */
+typedef void (GLUTCALLBACK *GLUTmenuStatusFCB) (int *, int *, int *);
+typedef void (GLUTCALLBACK *GLUTidleFCB) (void);
+
+/* Functions that set and return Fortran callback functions. */
+extern void* APIENTRY __glutGetFCB(int which);
+extern void APIENTRY __glutSetFCB(int which, void *func);
+
+#endif /* __glutf90_h__ */
View
42 ...e yell fire/bin/ofxCameraKitDebug.app/Contents/Frameworks/GLUT.framework/Versions/A/Headers/glutstroke.h
@@ -0,0 +1,42 @@
+#ifndef __glutstroke_h__
+#define __glutstroke_h__
+
+/* Copyright (c) Mark J. Kilgard, 1994. */
+
+/* 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)
+#pragma warning (disable:4244) /* disable bogus conversion warnings */
+#pragma warning (disable:4305) /* VC++ 5.0 version of above warning. */
+#endif
+
+typedef struct {
+ float x;
+ float y;
+} CoordRec, *CoordPtr;
+
+typedef struct {
+ int num_coords;
+ const CoordRec *coord;
+} StrokeRec, *StrokePtr;
+
+typedef struct {
+ int num_strokes;
+ const StrokeRec *stroke;
+ float center;
+ float right;
+} StrokeCharRec, *StrokeCharPtr;
+
+typedef struct {
+ const char *name;
+ int num_chars;
+ const StrokeCharRec *ch;
+ float top;
+ float bottom;
+} StrokeFontRec, *StrokeFontPtr;
+
+typedef void *GLUTstrokeFont;
+
+#endif /* __glutstroke_h__ */
View
89 example yell fire/bin/ofxCameraKitDebug.app/Contents/Frameworks/GLUT.framework/Versions/A/Headers/gutil.h
@@ -0,0 +1,89 @@
+
+/*
+ * gutil.h
+ *
+ * FUNCTION:
+ * Provide utilities that allow rotation to occur
+ * around any axis.
+ *
+ * HISTORY:
+ * created by Linas Vepstas 1990
+ * added single & double precision, June 1991, Linas Vepstas
+ */
+
+#ifndef __GUTIL_H__
+#define __GUTIL_H__
+
+#ifdef __GUTIL_DOUBLE
+#define gutDouble double
+#else
+#define gutDouble float
+#endif
+
+
+#ifdef _NO_PROTO /* NO ANSI C PROTOTYPING */
+
+/* Rotation Utilities */
+extern void rot_axis_f ();
+extern void rot_about_axis_f ();
+extern void rot_omega_f ();
+extern void urot_axis_f ();
+extern void urot_about_axis_f ();
+extern void urot_omega_f ();
+
+/* double-precision versions */
+extern void rot_axis_d ();
+extern void rot_about_axis_d ();
+extern void rot_omega_d ();
+extern void urot_axis_d ();
+extern void urot_about_axis_d ();
+extern void urot_omega_d ();
+
+/* viewpoint functions */
+extern void uview_direction_d ();
+extern void uview_direction_f ();
+extern void uviewpoint_d ();
+extern void uviewpoint_f ();
+
+#else /* _NO_PROTO */ /* ANSI C PROTOTYPING */
+
+/* Rotation Utilities */
+extern void rot_axis_f (float omega, float axis[3]);
+extern void rot_about_axis_f (float angle, float axis[3]);
+extern void rot_omega_f (float axis[3]);
+extern void urot_axis_f (float m[4][4], float omega, float axis[3]);
+extern void urot_about_axis_f (float m[4][4], float angle, float axis[3]);
+extern void urot_omega_f (float m[4][4], float axis[3]);
+
+/* double-precision versions */
+extern void rot_axis_d (double omega, double axis[3]);
+extern void rot_about_axis_d (double angle, double axis[3]);
+extern void rot_omega_d (double axis[3]);
+extern void urot_axis_d (double m[4][4], double omega, double axis[3]);
+extern void urot_about_axis_d (double m[4][4], double angle, double axis[3]);
+extern void urot_omega_d (double m[4][4], double axis[3]);
+
+/* viewpoint functions */
+extern void uview_direction_d (double m[4][4], /* returned */
+ double v21[3], /* input */
+ double up[3]); /* input */
+
+extern void uview_direction_f (float m[4][4], /* returned */
+ float v21[3], /* input */
+ float up[3]); /* input */
+
+extern void uviewpoint_d (double m[4][4], /* returned */
+ double v1[3], /* input */
+ double v2[3], /* input */
+ double up[3]); /* input */
+
+extern void uviewpoint_f (float m[4][4], /* returned */
+ float v1[3], /* input */
+ float v2[3], /* input */
+ float up[3]); /* input */
+
+#endif /* _NO_PROTO */
+
+#endif /* _GUTIL_H__ */
+
+/* ------------------- end of file ---------------------- */
View
391 ...le yell fire/bin/ofxCameraKitDebug.app/Contents/Frameworks/GLUT.framework/Versions/A/Headers/intersect.h
@@ -0,0 +1,391 @@
+/*
+ * FUNCTION:
+ * This file contains a number of utilities useful to 3D graphics in
+ * general, and to the generation of tubing and extrusions in particular
+ *
+ * HISTORY:
+ * Written by Linas Vepstas, August 1991
+ * Updated to correctly handle degenerate cases, Linas, February 1993
+ */
+
+#include <math.h>
+#include "port.h"
+#include "vvector.h"
+
+#define BACKWARDS_INTERSECT (2)
+
+/* ========================================================== */
+/*
+ * the Degenerate_Tolerance token represents the greatest amount by
+ * which different scales in a graphics environment can differ before
+ * they should be considered "degenerate". That is, when one vector is
+ * a million times longer than another, changces are that the second will
+ * be less than a pixel int, and therefore was probably meant to be
+ * degenerate (by the CAD package, etc.) But what should this tolerance
+ * be? At least 1 in onethousand (since screen sizes are 1K pixels), but
+ * les than 1 in 4 million (since this is the limit of single-precision
+ * floating point accuracy). Of course, if double precision were used,
+ * then the tolerance could be increased.
+ *
+ * Potentially, this naive assumption could cause problems if the CAD
+ * package attempts to zoom in on small details, and turns out, certain
+ * points should not hvae been degenerate. The problem presented here
+ * is that the tolerance could run out before single-precision ran
+ * out, and so the CAD packages would perceive this as a "bug".
+ * One alternative is to fiddle around & try to tighten the tolerance.
+ * However, the right alternative is to code the graphics pipeline in
+ * double-precision (and tighten the tolerance).
+ *
+ * By the way, note that Degernate Tolerance is a "dimensionless"
+ * quantitiy -- it has no units -- it does not measure feet, inches,
+ * millimeters or pixels. It is used only in the computations of ratios
+ * and relative lengths.
+ */
+
+/*
+ * Right now, the tolerance is set to 2 parts in a million, which
+ * corresponds to a 19-bit distinction of mantissas. Note that
+ * single-precsion numbers have 24 bit mantissas.
+ */
+
+#define DEGENERATE_TOLERANCE (0.000002)
+
+/* ========================================================== */
+/*
+ * The macro and subroutine INTERSECT are designed to compute the
+ * intersection of a line (defined by the points v1 and v2) and a plane
+ * (defined as plane which is normal to the vector n, and contains the
+ * point p). Both return the point sect, which is the point of
+ * interesection.
+ *
+ * This MACRO attemps to be fairly robust by checking for a divide by
+ * zero.
+ */
+
+/* ========================================================== */
+/*
+ * HACK ALERT
+ * The intersection parameter t has the nice property that if t>1,
+ * then the intersection is "in front of" p1, and if t<0, then the
+ * intersection is "behind" p2. Unfortunately, as the intersecting plane
+ * and the line become parallel, t wraps through infinity -- i.e. t can
+ * become so large that t becomes "greater than infinity" and comes back
+ * as a negative number (i.e. winding number hopped by one unit). We
+ * have no way of detecting this situation without adding gazzillions
+ * of lines of code of topological algebra to detect the winding number;
+ * and this would be incredibly difficult, and ruin performance.
+ *
+ * Thus, we've installed a cheap hack for use by the "cut style" drawing
+ * routines. If t proves to be a large negative number (more negative
+ * than -5), then we assume that t was positive and wound through
+ * infinity. This makes most cuts look good, without introducing bogus
+ * cuts at infinity.
+ */
+/* ========================================================== */
+
+#define INTERSECT(sect,p,n,v1,v2) \
+{ \
+ gleDouble deno, numer, t, omt; \
+ \
+ deno = (v1[0] - v2[0]) * n[0]; \
+ deno += (v1[1] - v2[1]) * n[1]; \
+ deno += (v1[2] - v2[2]) * n[2]; \
+ \
+ if (deno == 0.0) { \
+ VEC_COPY (n, v1); \
+ /* printf ("Intersect: Warning: line is coplanar with plane \n"); */ \
+ } else { \
+ \
+ numer = (p[0] - v2[0]) * n[0]; \
+ numer += (p[1] - v2[1]) * n[1]; \
+ numer += (p[2] - v2[2]) * n[2]; \
+ \
+ t = numer / deno; \
+ omt = 1.0 - t; \
+ \
+ sect[0] = t * v1[0] + omt * v2[0]; \
+ sect[1] = t * v1[1] + omt * v2[1]; \
+ sect[2] = t * v1[2] + omt * v2[2]; \
+ } \
+}
+
+/* ========================================================== */
+/*
+ * The macro and subroutine BISECTING_PLANE compute a normal vector that
+ * describes the bisecting plane between three points (v1, v2 and v3).
+ * This bisecting plane has the following properties:
+ * 1) it contains the point v2
+ * 2) the angle it makes with v21 == v2 - v1 is equal to the angle it
+ * makes with v32 == v3 - v2
+ * 3) it is perpendicular to the plane defined by v1, v2, v3.
+ *
+ * Having input v1, v2, and v3, it returns a unit vector n.
+ *
+ * In some cases, the user may specify degenerate points, and still
+ * expect "reasonable" or "obvious" behaviour. The "expected"
+ * behaviour for these degenerate cases is:
+ *
+ * 1) if v1 == v2 == v3, then return n=0
+ * 2) if v1 == v2, then return v32 (normalized).
+ * 3) if v2 == v3, then return v21 (normalized).
+ * 4) if v1, v2 and v3 co-linear, then return v21 (normalized).
+ *
+ * Mathematically, these special cases "make sense" -- we just have to
+ * code around potential divide-by-zero's in the code below.
+ */
+
+/* ========================================================== */
+
+#define BISECTING_PLANE(valid,n,v1,v2,v3) \
+{ \
+ double v21[3], v32[3]; \
+ double len21, len32; \
+ double vdot; \
+ \
+ VEC_DIFF (v21, v2, v1); \
+ VEC_DIFF (v32, v3, v2); \
+ \
+ VEC_LENGTH (len21, v21); \
+ VEC_LENGTH (len32, v32); \
+ \
+ if (len21 <= DEGENERATE_TOLERANCE * len32) { \
+ \
+ if (len32 == 0.0) { \
+ /* all three points lie ontop of one-another */ \
+ VEC_ZERO (n); \
+ valid = FALSE; \
+ } else { \
+ /* return a normalized copy of v32 as bisector */ \
+ len32 = 1.0 / len32; \
+ VEC_SCALE (n, len32, v32); \
+ valid = TRUE; \
+ } \
+ \
+ } else { \
+ \
+ valid = TRUE; \
+ \
+ if (len32 <= DEGENERATE_TOLERANCE * len21) { \
+ /* return a normalized copy of v21 as bisector */ \
+ len21 = 1.0 / len21; \
+ VEC_SCALE (n, len21, v21); \
+ \
+ } else { \
+ \
+ /* normalize v21 to be of unit length */ \
+ len21 = 1.0 / len21; \
+ VEC_SCALE (v21, len21, v21); \
+ \
+ /* normalize v32 to be of unit length */ \
+ len32 = 1.0 / len32; \
+ VEC_SCALE (v32, len32, v32); \
+ \
+ VEC_DOT_PRODUCT (vdot, v32, v21); \
+ \
+ /* if vdot == 1 or -1, then points are colinear */ \
+ if ((vdot >= (1.0-DEGENERATE_TOLERANCE)) || \
+ (vdot <= (-1.0+DEGENERATE_TOLERANCE))) { \
+ VEC_COPY (n, v21); \
+ } else { \
+ \
+ /* go do the full computation */ \
+ n[0] = vdot * (v32[0] + v21[0]) - v32[0] - v21[0]; \
+ n[1] = vdot * (v32[1] + v21[1]) - v32[1] - v21[1]; \
+ n[2] = vdot * (v32[2] + v21[2]) - v32[2] - v21[2]; \
+ \
+ /* if above if-test's passed, \
+ * n should NEVER be of zero length */ \
+ VEC_NORMALIZE (n); \
+ } \
+ } \
+ } \
+}
+
+/* ========================================================== */
+/*
+ * The block of code below is ifdef'd out, and is here for reference
+ * purposes only. It performs the "mathematically right thing" for
+ * computing a bisecting plane, but is, unfortunately, subject ot noise
+ * in the presence of near degenerate points. Since computer graphics,
+ * due to sloppy coding, laziness, or correctness, is filled with
+ * degenerate points, we can't really use this version. The code above
+ * is far more appropriate for graphics.
+ */
+
+#ifdef MATHEMATICALLY_EXACT_GRAPHICALLY_A_KILLER
+#define BISECTING_PLANE(n,v1,v2,v3) \
+{ \
+ double v21[3], v32[3]; \
+ double len21, len32; \
+ double vdot; \
+ \
+ VEC_DIFF (v21, v2, v1); \
+ VEC_DIFF (v32, v3, v2); \
+ \
+ VEC_LENGTH (len21, v21); \
+ VEC_LENGTH (len32, v32); \
+ \
+ if (len21 == 0.0) { \
+ \
+ if (len32 == 0.0) { \
+ /* all three points lie ontop of one-another */ \
+ VEC_ZERO (n); \
+ valid = FALSE; \
+ } else { \
+ /* return a normalized copy of v32 as bisector */ \
+ len32 = 1.0 / len32; \
+ VEC_SCALE (n, len32, v32); \
+ } \
+ \
+ } else { \
+ \
+ /* normalize v21 to be of unit length */ \
+ len21 = 1.0 / len21; \
+ VEC_SCALE (v21, len21, v21); \
+ \
+ if (len32 == 0.0) { \
+ /* return a normalized copy of v21 as bisector */ \
+ VEC_COPY (n, v21); \
+ } else { \
+ \
+ /* normalize v32 to be of unit length */ \
+ len32 = 1.0 / len32; \
+ VEC_SCALE (v32, len32, v32); \
+ \
+ VEC_DOT_PRODUCT (vdot, v32, v21); \
+ \
+ /* if vdot == 1 or -1, then points are colinear */ \
+ if ((vdot == 1.0) || (vdot == -1.0)) { \
+ VEC_COPY (n, v21); \
+ } else { \
+ \
+ /* go do the full computation */ \
+ n[0] = vdot * (v32[0] + v21[0]) - v32[0] - v21[0]; \
+ n[1] = vdot * (v32[1] + v21[1]) - v32[1] - v21[1]; \
+ n[2] = vdot * (v32[2] + v21[2]) - v32[2] - v21[2]; \
+ \
+ /* if above if-test's passed, \
+ * n should NEVER be of zero length */ \
+ VEC_NORMALIZE (n); \
+ } \
+ } \
+ } \
+}
+#endif
+
+/* ========================================================== */
+/*
+ * This macro computes the plane perpendicular to the the plane
+ * defined by three points, and whose normal vector is givven as the
+ * difference between the two vectors ...
+ *
+ * (See way below for the "math" model if you want to understand this.
+ * The comments about relative errors above apply here.)
+ */
+
+#define CUTTING_PLANE(valid,n,v1,v2,v3) \
+{ \
+ double v21[3], v32[3]; \
+ double len21, len32; \
+ double lendiff; \
+ \
+ VEC_DIFF (v21, v2, v1); \
+ VEC_DIFF (v32, v3, v2); \
+ \
+ VEC_LENGTH (len21, v21); \
+ VEC_LENGTH (len32, v32); \
+ \
+ if (len21 <= DEGENERATE_TOLERANCE * len32) { \
+ \
+ if (len32 == 0.0) { \
+ /* all three points lie ontop of one-another */ \
+ VEC_ZERO (n); \
+ valid = FALSE; \
+ } else { \
+ /* return a normalized copy of v32 as cut-vector */ \
+ len32 = 1.0 / len32; \
+ VEC_SCALE (n, len32, v32); \
+ valid = TRUE; \
+ } \
+ \
+ } else { \
+ \
+ valid = TRUE; \
+ \
+ if (len32 <= DEGENERATE_TOLERANCE * len21) { \
+ /* return a normalized copy of v21 as cut vector */ \
+ len21 = 1.0 / len21; \
+ VEC_SCALE (n, len21, v21); \
+ } else { \
+ \
+ /* normalize v21 to be of unit length */ \
+ len21 = 1.0 / len21; \
+ VEC_SCALE (v21, len21, v21); \
+ \
+ /* normalize v32 to be of unit length */ \
+ len32 = 1.0 / len32; \
+ VEC_SCALE (v32, len32, v32); \
+ \
+ VEC_DIFF (n, v21, v32); \
+ VEC_LENGTH (lendiff, n); \
+ \
+ /* if the perp vector is very small, then the two \
+ * vectors are darn near collinear, and the cut \
+ * vector is probably poorly defined. */ \
+ if (lendiff < DEGENERATE_TOLERANCE) { \
+ VEC_ZERO (n); \
+ valid = FALSE; \
+ } else { \
+ lendiff = 1.0 / lendiff; \
+ VEC_SCALE (n, lendiff, n); \
+ } \
+ } \
+ } \
+}
+
+/* ========================================================== */
+
+#ifdef MATHEMATICALLY_EXACT_GRAPHICALLY_A_KILLER
+#define CUTTING_PLANE(n,v1,v2,v3) \
+{ \
+ double v21[3], v32[3]; \
+ \
+ VEC_DIFF (v21, v2, v1); \
+ VEC_DIFF (v32, v3, v2); \
+ \
+ VEC_NORMALIZE (v21); \
+ VEC_NORMALIZE (v32); \
+ \
+ VEC_DIFF (n, v21, v32); \
+ VEC_NORMALIZE (n); \
+}
+#endif
+
+
+/* ============================================================ */
+/* This macro is used in several places to cycle through a series of
+ * points to find the next non-degenerate point in a series */
+
+#define FIND_NON_DEGENERATE_POINT(inext,npoints,len,diff,point_array) \
+{ \
+ gleDouble slen; \
+ gleDouble summa[3]; \
+ \
+ do { \
+ /* get distance to next point */ \
+ VEC_DIFF (diff, point_array[inext+1], point_array[inext]); \
+ VEC_LENGTH (len, diff); \
+ VEC_SUM (summa, point_array[inext+1], point_array[inext]); \
+ VEC_LENGTH (slen, summa); \
+ slen *= DEGENERATE_TOLERANCE; \
+ inext ++; \
+ } while ((len <= slen) && (inext < npoints-1)); \
+}
+
+/* ========================================================== */
+
+extern int bisecting_plane (gleDouble n[3], /* returned */
+ gleDouble v1[3], /* input */
+ gleDouble v2[3], /* input */
+ gleDouble v3[3]); /* input */
+
View
298 example yell fire/bin/ofxCameraKitDebug.app/Contents/Frameworks/GLUT.framework/Versions/A/Headers/port.h
@@ -0,0 +1,298 @@
+
+/*
+ * port.h
+ *
+ * FUNCTION:
+ * This file contains defines for porting the tubing toolkit from GL to
+ * OpenGL to some callback scheme.
+ *
+ * HISTORY:
+ * Created by Linas Vepstas -- February 1993
+ * Added auto texture coord generation hacks, Linas April 1994
+ */
+
+#ifndef __GLE_PORT_H__
+#define __GLE_PORT_H__
+
+
+#ifndef TRUE
+#define TRUE 1
+#endif
+
+#ifndef FALSE
+#define FALSE 0
+#endif
+
+#ifndef M_PI
+#define M_PI 3.14159265358979323846
+#endif
+
+/* ====================================================== */
+/* Some compilers can't handle multiply-subscripted array's */
+
+#ifdef FUNKY_C
+typedef gleDouble gleVector;
+#define AVAL(arr,n,i,j) arr(6*n+3*i+j)
+#define VVAL(arr,n,i) arr(3*n+i)
+
+#else /* FUNKY_C */
+typedef double gleVector[3];
+typedef double glePoint[2];
+#define AVAL(arr,n,i,j) arr[n][i][j]
+#define VVAL(arr,n,i) arr[n][i];
+
+#endif /* FUNKY_C */
+
+/* ====================================================== */
+/* These are used to convey info about topography to the
+ * texture mapping routines */
+
+#define FRONT 1
+#define BACK 2
+#define FRONT_CAP 3
+#define BACK_CAP 4
+#define FILLET 5
+
+/* ====================================================== */
+
+#define __GLE_DOUBLE
+
+/* ====================================================== */
+
+#ifdef __GLE_DOUBLE
+#ifndef gleDouble
+ #define gleDouble double
+#endif
+#define urot_axis(a,b,c) urot_axis_d(a,b,c)
+#define uview_direction(a,b,c) uview_direction_d(a,b,c)
+#define uviewpoint(a,b,c,d) uviewpoint_d(a,b,c,d)
+#define MULTMATRIX(m) MULTMATRIX_D(m)
+#define LOADMATRIX(m) LOADMATRIX_D(m)
+#define V3F(x,j,id) V3F_D(x,j,id)
+#define N3F(x) N3F_D(x)
+#define T2F(x,y) T2F_D(x,y)
+#else
+#define gleDouble float
+#define urot_axis(a,b,c) urot_axis_f(a,b,c)
+#define uview_direction(a,b,c) uview_direction_f(a,b,c)
+#define uviewpoint(a,b,c,d) uviewpoint_f(a,b,c,d)
+#define MULTMATRIX(m) MULTMATRIX_F(m)
+#define LOADMATRIX(m) LOADMATRIX_F(m)
+#define V3F(x,j,id) V3F_F(x,j,id)
+#define N3F(x) N3F_F(x)
+#define T2F(x,y) T2F_F(x,y)
+#endif
+
+/* ====================================================== */
+
+#if (defined DEBUG_GL_32 || DEBUG_OPENGL_10)
+#undef GL_32
+#undef OPENGL_10
+
+#define BGNTMESH(i,len) printf ("bgntmesh() \n");
+#define ENDTMESH() printf ("endtmesh() \n");
+#define BGNPOLYGON() printf ("bgnpolygon() \n");
+#define ENDPOLYGON() printf ("endpolygon() \n");
+#define V3F_F(x,j,id) printf ("v3f(x) %f %f %f \n", x[0], x[1], x[2]);
+#define V3F_D(x,j,id) printf ("v3d(x) %f %f %f \n", x[0], x[1], x[2]);
+#define N3F_F(x) printf ("n3f(x) %f %f %f \n", x[0], x[1], x[2]);
+#define N3F_D(x) printf ("n3d(x) %f %f %f \n", x[0], x[1], x[2]);
+#define C3F(x) printf ("c3f(x) %f %f %f \n", x[0], x[1], x[2]);
+
+#define POPMATRIX() printf ("popmatrix () \n");
+#define PUSHMATRIX() printf ("pushmatrix() \n");
+#define MULTMATRIX_F(x) MULTMATRIX_D(x)
+#define LOADMATRIX_F(x) LOADMATRIX_D(x)
+
+
+#define LOADMATRIX_D(x) { \
+ int i, j; \
+ printf ("loadmatrix (x) \n"); \
+ for (i=0; i<4; i++) { \
+ for (j=0; j<4; j++) { \
+ printf ( "%f ", x[i][j]); \
+ } \
+ printf (" \n"); \
+ } \
+}
+
+#define MULTMATRIX_D(x) { \
+ int i, j; \
+ printf ("multmatrix (x) \n"); \
+ for (i=0; i<4; i++) { \
+ for (j=0; j<4; j++) { \
+ printf ( "%f ", x[i][j]); \
+ } \
+ printf (" \n"); \
+ } \
+}
+
+#define __IS_LIGHTING_ON (1)
+
+#endif
+
+/* ====================================================== */
+
+#ifdef GL_32
+
+#include <gl/gl.h>
+
+#define BGNTMESH(i,len) bgntmesh()
+#define ENDTMESH() endtmesh()
+#define BGNPOLYGON() bgnpolygon()
+#define ENDPOLYGON() endpolygon()
+#define V3F_F(x,j,id) v3f(x)
+#define V3F_D(x,j,id) v3d(x)
+#define N3F_F(x) n3f(x)
+#define T2F_F(x,y)
+#define T2F_D(x,y)
+#define C3F(x) c3f(x)
+
+#define POPMATRIX() popmatrix ()
+#define PUSHMATRIX() pushmatrix()
+#define MULTMATRIX_F(x) multmatrix (x)
+#define LOADMATRIX_F(x) loadmatrix (x)
+
+#define N3F_D(x) { \
+ float nnn[3]; \
+ nnn[0] = (float) x[0]; \
+ nnn[1] = (float) x[1]; \
+ nnn[2] = (float) x[2]; \
+ n3f (nnn); \
+}
+
+#define LOADMATRIX_D(x) { \
+ int i, j; \
+ float mmm[4][4]; \
+ for (i=0; i<4; i++) { \
+ for (j=0; j<4; j++) { \
+ mmm[i][j] = (float) x[i][j]; \
+ } \
+ } \
+ loadmatrix(mmm); \
+}
+
+#define MULTMATRIX_D(x) { \
+ int i, j; \
+ float mmm[4][4]; \
+ for (i=0; i<4; i++) { \
+ for (j=0; j<4; j++) { \
+ mmm[i][j] = (float) x[i][j]; \
+ } \
+ } \
+ multmatrix(mmm); \
+}
+
+/* #define __IS_LIGHTING_ON (MSINGLE == getmmode()) */
+#define __IS_LIGHTING_ON (extrusion_join_style & TUBE_LIGHTING_ON)
+
+#endif /* GL_32 */
+
+/* ====================================================== */
+#ifdef OPENGL_10
+
+#if defined(_WIN32)
+#include <windows.h>
+#pragma warning (disable:4244) /* disable bogus conversion warnings */
+#endif
+#include <OpenGL/gl.h>
+#include <OpenGL/glu.h>
+
+/*
+#define N3F_F(x) { \
+ float nnn[3]; \
+ nnn[0] = - (float) x[0]; \
+ nnn[1] = - (float) x[1]; \
+ nnn[2] = - (float) x[2]; \
+ glNormal3fv (nnn); \
+}
+#define N3F_D(x) { \
+ float nnn[3]; \
+ nnn[0] = - (float) x[0]; \
+ nnn[1] = - (float) x[1]; \
+ nnn[2] = - (float) x[2]; \
+ glNormal3fv (nnn); \
+}
+*/
+
+#define C3F(x) glColor3fv(x)
+#define T2F_F(x,y) glTexCoord2f(x,y)
+#define T2F_D(x,y) glTexCoord2d(x,y)
+
+#define POPMATRIX() glPopMatrix()
+#define PUSHMATRIX() glPushMatrix()
+
+#define MULTMATRIX_F(x) glMultMatrixf ((const GLfloat *)x)
+#define LOADMATRIX_F(x) glLoadMatrixf ((const GLfloat *)x)
+
+#define MULTMATRIX_D(x) glMultMatrixd ((const GLdouble *)x)
+#define LOADMATRIX_D(x) glLoadMatrixd ((const GLdouble *)x)
+
+#define __IS_LIGHTING_ON (glIsEnabled(GL_LIGHTING))
+
+/* ====================================================== */
+#ifdef AUTO_TEXTURE
+
+#define BGNTMESH(i,len) { \
+ if(_gle_gc -> bgn_gen_texture) (*(_gle_gc -> bgn_gen_texture))(i,len);\
+ glBegin (GL_TRIANGLE_STRIP); \
+}
+
+#define BGNPOLYGON() { \
+ if(_gle_gc -> bgn_gen_texture) (*(_gle_gc -> bgn_gen_texture))();\
+ glBegin (GL_POLYGON); \
+}
+
+#define N3F_F(x) { \
+ if(_gle_gc -> n3f_gen_texture) (*(_gle_gc -> n3f_gen_texture))(x); \
+ glNormal3fv(x); \
+}
+
+#define N3F_D(x) { \
+ if(_gle_gc -> n3d_gen_texture) (*(_gle_gc -> n3d_gen_texture))(x); \
+ glNormal3dv(x); \
+}
+
+#define V3F_F(x,j,id) { \
+ if(_gle_gc -> v3f_gen_texture) (*(_gle_gc -> v3f_gen_texture))(x,j,id);\
+ glVertex3fv(x); \
+}
+
+#define V3F_D(x,j,id) { \
+ if(_gle_gc -> v3d_gen_texture) (*(_gle_gc -> v3d_gen_texture))(x,j,id); \
+ glVertex3dv(x); \
+}
+
+#define ENDTMESH() { \
+ if(_gle_gc -> end_gen_texture) (*(_gle_gc -> end_gen_texture))(); \
+ glEnd (); \
+}
+
+#define ENDPOLYGON() { \
+ if(_gle_gc -> end_gen_texture) (*(_gle_gc -> end_gen_texture))(); \
+ glEnd (); \
+}
+
+/* ====================================================== */
+#else /* AUTO_TEXTURE */
+
+#define BGNTMESH(i,len) glBegin (GL_TRIANGLE_STRIP);
+#define BGNPOLYGON() glBegin (GL_POLYGON);
+
+#define N3F_F(x) glNormal3fv(x)
+#define N3F_D(x) glNormal3dv(x)
+#define V3F_F(x,j,id) glVertex3fv(x);
+#define V3F_D(x,j,id) glVertex3dv(x);
+
+#define ENDTMESH() glEnd ()
+#define ENDPOLYGON() glEnd()
+
+#endif /* AUTO_TEXTURE */
+
+#endif /* OPENGL_10 */
+
+/* ====================================================== */
+
+
+#endif /* __GLE_PORT_H__ */
+/* ================== END OF FILE ======================= */
View
98 example yell fire/bin/ofxCameraKitDebug.app/Contents/Frameworks/GLUT.framework/Versions/A/Headers/rot.h
@@ -0,0 +1,98 @@
+
+/*
+ * rot.h
+ *
+ * FUNCTION:
+ * rotation matrix utilities
+ *
+ * HISTORY:
+ * Linas Vepstas Aug 1990
+ */
+
+/* ========================================================== */
+/*
+ * The MACROS below generate and return more traditional rotation
+ * matrices -- matrices for rotations about principal axes.
+ */
+/* ========================================================== */
+
+#define ROTX_CS(m,cosine,sine) \
+{ \
+ /* rotation about the x-axis */ \
+ \
+ m[0][0] = 1.0; \
+ m[0][1] = 0.0; \
+ m[0][2] = 0.0; \
+ m[0][3] = 0.0; \
+ \
+ m[1][0] = 0.0; \
+ m[1][1] = (cosine); \
+ m[1][2] = (sine); \
+ m[1][3] = 0.0; \
+ \
+ m[2][0] = 0.0; \
+ m[2][1] = -(sine); \
+ m[2][2] = (cosine); \
+ m[2][3] = 0.0; \
+ \
+ m[3][0] = 0.0; \
+ m[3][1] = 0.0; \
+ m[3][2] = 0.0; \
+ m[3][3] = 1.0; \
+}
+
+/* ========================================================== */
+
+#define ROTY_CS(m,cosine,sine) \
+{ \
+ /* rotation about the y-axis */ \
+ \
+ m[0][0] = (cosine); \
+ m[0][1] = 0.0; \
+ m[0][2] = -(sine); \
+ m[0][3] = 0.0; \
+ \
+ m[1][0] = 0.0; \
+ m[1][1] = 1.0; \
+ m[1][2] = 0.0; \
+ m[1][3] = 0.0; \
+ \
+ m[2][0] = (sine); \
+ m[2][1] = 0.0; \
+ m[2][2] = (cosine); \
+ m[2][3] = 0.0; \
+ \
+ m[3][0] = 0.0; \
+ m[3][1] = 0.0; \
+ m[3][2] = 0.0; \
+ m[3][3] = 1.0; \
+}
+
+/* ========================================================== */
+
+#define ROTZ_CS(m,cosine,sine) \
+{ \
+ /* rotation about the z-axis */ \
+ \
+ m[0][0] = (cosine); \
+ m[0][1] = (sine); \
+ m[0][2] = 0.0; \
+ m[0][3] = 0.0; \
+ \
+ m[1][0] = -(sine); \
+ m[1][1] = (cosine); \
+ m[1][2] = 0.0; \
+ m[1][3] = 0.0; \
+ \
+ m[2][0] = 0.0; \
+ m[2][1] = 0.0; \
+ m[2][2] = 1.0; \
+ m[2][3] = 0.0; \
+ \
+ m[3][0] = 0.0; \
+ m[3][1] = 0.0; \
+ m[3][2] = 0.0; \
+ m[3][3] = 1.0; \
+}
+
+/* ========================================================== */
View
98 example yell fire/bin/ofxCameraKitDebug.app/Contents/Frameworks/GLUT.framework/Versions/A/Headers/segment.h
@@ -0,0 +1,98 @@
+
+/*
+ * MODULE: segment.h
+ *
+ * FUNCTION:
+ * Contains function prototypes for segment drawing subroutines.
+ * These are used only internally, and are not to be exported to
+ * the user.
+ *
+ * HISTORY:
+ * Create by Linas Vepstas
+ * Added tube.h include to define gleDouble, tad February 2002
+ */
+
+/* ============================================================ */
+
+#include "tube.h"
+
+extern void draw_segment_plain (int ncp, /* number of contour points */
+ gleDouble front_contour[][3],
+ gleDouble back_contour[][3],
+ int inext, double len);
+
+extern void draw_segment_color (int ncp, /* number of contour points */
+ gleDouble front_contour[][3],
+ gleDouble back_contour[][3],
+ float color_last[3],
+ float color_next[3],
+ int inext, double len);
+
+extern void draw_segment_edge_n (int ncp, /* number of contour points */
+ gleDouble front_contour[][3],
+ gleDouble back_contour[][3],
+ double norm_cont[][3],
+ int inext, double len);
+
+extern void draw_segment_c_and_edge_n (int ncp,
+ gleDouble front_contour[][3],
+ gleDouble back_contour[][3],
+ double norm_cont[][3],
+ float color_last[3],
+ float color_next[3],
+ int inext, double len);
+
+extern void draw_segment_facet_n (int ncp,
+ gleDouble front_contour[][3],
+ gleDouble back_contour[][3],
+ double norm_cont[][3],
+ int inext, double len);
+
+extern void draw_segment_c_and_facet_n (int ncp,
+ gleDouble front_contour[][3],
+ gleDouble back_contour[][3],
+ double norm_cont[][3],
+ float color_last[3],
+ float color_next[3],
+ int inext, double len);
+
+/* ============================================================ */
+
+extern void draw_binorm_segment_edge_n (int ncp,
+ double front_contour[][3],
+ double back_contour[][3],
+ double front_norm[][3],
+ double back_norm[][3],
+ int inext, double len);
+
+extern void draw_binorm_segment_c_and_edge_n (int ncp,
+ double front_contour[][3],
+ double back_contour[][3],
+ double front_norm[][3],
+ double back_norm[][3],
+ float color_last[3],
+ float color_next[3],
+ int inext, double len);
+
+extern void draw_binorm_segment_facet_n (int ncp,
+ double front_contour[][3],
+ double back_contour[][3],
+ double front_norm[][3],
+ double back_norm[][3],
+ int inext, double len);
+
+extern void draw_binorm_segment_c_and_facet_n (int ncp,
+ double front_contour[][3],
+ double back_contour[][3],
+ double front_norm[][3],
+ double back_norm[][3],
+ float color_last[3],
+ float color_next[3],
+ int inext, double len);
+
+extern void draw_angle_style_back_cap (int ncp, /* number of contour points */
+ gleDouble bi[3], /* biscetor */
+ gleDouble point_array[][3]); /* polyline */
+
+/* -------------------------- end of file -------------------------------- */
+
View
203 example yell fire/bin/ofxCameraKitDebug.app/Contents/Frameworks/GLUT.framework/Versions/A/Headers/tube.h
@@ -0,0 +1,203 @@
+/*
+ * tube.h
+ *
+ * FUNCTION:
+ * Tubing and Extrusion header file.
+ * This file provides protypes and defines for the extrusion
+ * and tubing primitives.
+ *
+ * HISTORY:
+ * Linas Vepstas 1990, 1991
+ */
+
+#ifndef __TUBE_H__
+#define __TUBE_H__
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/**
+ GLE API revision history:
+
+ GLE_API_VERSION is updated to reflect GLE API changes (interface
+ changes, semantic changes, deletions, or additions).
+
+ GLE_API_VERSION=228 GLUT 3.7 release of GLE.
+**/
+#ifndef GLE_API_VERSION /* allow this to be overriden */
+#define GLE_API_VERSION 228
+#endif
+
+/* some types */
+#ifndef gleDouble
+ #define gleDouble double
+#endif
+typedef gleDouble gleAffine[2][3];
+
+/* ====================================================== */
+
+/* defines for tubing join styles */
+#define TUBE_JN_RAW 0x1
+#define TUBE_JN_ANGLE 0x2
+#define TUBE_JN_CUT 0x3
+#define TUBE_JN_ROUND 0x4
+#define TUBE_JN_MASK 0xf /* mask bits */
+#define TUBE_JN_CAP 0x10
+
+/* determine how normal vectors are to be handled */
+#define TUBE_NORM_FACET 0x100
+#define TUBE_NORM_EDGE 0x200
+#define TUBE_NORM_PATH_EDGE 0x400 /* for spiral, lathe, helix primitives */
+#define TUBE_NORM_MASK 0xf00 /* mask bits */
+
+/* closed or open countours */
+#define TUBE_CONTOUR_CLOSED 0x1000
+
+#define GLE_TEXTURE_ENABLE 0x10000
+#define GLE_TEXTURE_STYLE_MASK 0xff
+#define GLE_TEXTURE_VERTEX_FLAT 1
+#define GLE_TEXTURE_NORMAL_FLAT 2
+#define GLE_TEXTURE_VERTEX_CYL 3
+#define GLE_TEXTURE_NORMAL_CYL 4
+#define GLE_TEXTURE_VERTEX_SPH 5
+#define GLE_TEXTURE_NORMAL_SPH 6
+#define GLE_TEXTURE_VERTEX_MODEL_FLAT 7
+#define GLE_TEXTURE_NORMAL_MODEL_FLAT 8
+#define GLE_TEXTURE_VERTEX_MODEL_CYL 9
+#define GLE_TEXTURE_NORMAL_MODEL_CYL 10
+#define GLE_TEXTURE_VERTEX_MODEL_SPH 11
+#define GLE_TEXTURE_NORMAL_MODEL_SPH 12
+
+#ifdef GL_32
+/* HACK for GL 3.2 -- needed because no way to tell if lighting is on. */
+#define TUBE_LIGHTING_ON 0x80000000
+
+#define gleExtrusion extrusion
+#define gleSetJoinStyle setjoinstyle
+#define gleGetJoinStyle getjoinstyle
+#define glePolyCone polycone
+#define glePolyCylinder polycylinder
+#define gleSuperExtrusion super_extrusion
+#define gleTwistExtrusion twist_extrusion
+#define gleSpiral spiral
+#define gleLathe lathe
+#define gleHelicoid helicoid
+#define gleToroid toroid
+#define gleScrew screw
+
+#endif /* GL_32 */
+
+extern int gleGetJoinStyle (void);
+extern void gleSetJoinStyle (int style); /* bitwise OR of flags */
+extern int gleGetNumSlices(void);
+extern void gleSetNumSlices(int slices);
+
+/* draw polyclinder, specified as a polyline */
+extern void glePolyCylinder (int npoints, /* num points in polyline */
+ gleDouble point_array[][3], /* polyline vertces */
+ float color_array[][3], /* colors at polyline verts */
+ gleDouble radius); /* radius of polycylinder */
+
+/* draw polycone, specified as a polyline with radii */
+extern void glePolyCone (int npoints, /* numpoints in poly-line */
+ gleDouble point_array[][3], /* polyline vertices */
+ float color_array[][3], /* colors at polyline verts */
+ gleDouble radius_array[]); /* cone radii at polyline verts */
+
+/* extrude arbitrary 2D contour along arbitrary 3D path */
+extern void gleExtrusion (int ncp, /* number of contour points */
+ gleDouble contour[][2], /* 2D contour */
+ gleDouble cont_normal[][2], /* 2D contour normals */
+ gleDouble up[3], /* up vector for contour */
+ int npoints, /* numpoints in poly-line */
+ gleDouble point_array[][3], /* polyline vertices */
+ float color_array[][3]); /* colors at polyline verts */
+
+/* extrude 2D contour, specifying local rotations (twists) */
+extern void gleTwistExtrusion (int ncp, /* number of contour points */
+ gleDouble contour[][2], /* 2D contour */
+ gleDouble cont_normal[][2], /* 2D contour normals */
+ gleDouble up[3], /* up vector for contour */
+ int npoints, /* numpoints in poly-line */
+ gleDouble point_array[][3], /* polyline vertices */
+ float color_array[][3], /* color at polyline verts */
+ gleDouble twist_array[]); /* countour twists (in degrees) */
+
+/* extrude 2D contour, specifying local affine tranformations */
+extern void gleSuperExtrusion (int ncp, /* number of contour points */
+ gleDouble contour[][2], /* 2D contour */
+ gleDouble cont_normal[][2], /* 2D contour normals */
+ gleDouble up[3], /* up vector for contour */
+ int npoints, /* numpoints in poly-line */
+ gleDouble point_array[][3], /* polyline vertices */
+ float color_array[][3], /* color at polyline verts */
+ gleDouble xform_array[][2][3]); /* 2D contour xforms */
+
+/* spiral moves contour along helical path by parallel transport */
+extern void gleSpiral (int ncp, /* number of contour points */
+ gleDouble contour[][2], /* 2D contour */
+ gleDouble cont_normal[][2], /* 2D contour normals */
+ gleDouble up[3], /* up vector for contour */
+ gleDouble startRadius, /* spiral starts in x-y plane */
+ gleDouble drdTheta, /* change in radius per revolution */
+ gleDouble startZ, /* starting z value */
+ gleDouble dzdTheta, /* change in Z per revolution */
+ gleDouble startXform[2][3], /* starting contour affine xform */
+ gleDouble dXformdTheta[2][3], /* tangent change xform per revoln */
+ gleDouble startTheta, /* start angle in x-y plane */
+ gleDouble sweepTheta); /* degrees to spiral around */
+
+/* lathe moves contour along helical path by helically shearing 3D space */
+extern void gleLathe (int ncp, /* number of contour points */
+ gleDouble contour[][2], /* 2D contour */
+ gleDouble cont_normal[][2], /* 2D contour normals */
+ gleDouble up[3], /* up vector for contour */
+ gleDouble startRadius, /* spiral starts in x-y plane */
+ gleDouble drdTheta, /* change in radius per revolution */
+ gleDouble startZ, /* starting z value */
+ gleDouble dzdTheta, /* change in Z per revolution */
+ gleDouble startXform[2][3], /* starting contour affine xform */
+ gleDouble dXformdTheta[2][3], /* tangent change xform per revoln */
+ gleDouble startTheta, /* start angle in x-y plane */
+ gleDouble sweepTheta); /* degrees to spiral around */
+
+/* similar to spiral, except contour is a circle */
+extern void gleHelicoid (gleDouble rToroid, /* circle contour (torus) radius */
+ gleDouble startRadius, /* spiral starts in x-y plane */
+ gleDouble drdTheta, /* change in radius per revolution */
+ gleDouble startZ, /* starting z value */
+ gleDouble dzdTheta, /* change in Z per revolution */
+ gleDouble startXform[2][3], /* starting contour affine xform */
+ gleDouble dXformdTheta[2][3], /* tangent change xform per revoln */
+ gleDouble startTheta, /* start angle in x-y plane */
+ gleDouble sweepTheta); /* degrees to spiral around */
+
+/* similar to lathe, except contour is a circle */
+extern void gleToroid (gleDouble rToroid, /* circle contour (torus) radius */
+ gleDouble startRadius, /* spiral starts in x-y plane */
+ gleDouble drdTheta, /* change in radius per revolution */
+ gleDouble startZ, /* starting z value */
+ gleDouble dzdTheta, /* change in Z per revolution */
+ gleDouble startXform[2][3], /* starting contour affine xform */
+ gleDouble dXformdTheta[2][3], /* tangent change xform per revoln */
+ gleDouble startTheta, /* start angle in x-y plane */
+ gleDouble sweepTheta); /* degrees to spiral around */
+
+/* draws a screw shape */
+extern void gleScrew (int ncp, /* number of contour points */
+ gleDouble contour[][2], /* 2D contour */
+ gleDouble cont_normal[][2], /* 2D contour normals */
+ gleDouble up[3], /* up vector for contour */
+ gleDouble startz, /* start of segment */
+ gleDouble endz, /* end of segment */
+ gleDouble twist); /* number of rotations */
+
+extern void gleTextureMode (int mode);
+
+#ifdef __cplusplus
+}
+
+#endif
+#endif /* __TUBE_H__ */
+/* ================== END OF FILE ======================= */
View
78 example yell fire/bin/ofxCameraKitDebug.app/Contents/Frameworks/GLUT.framework/Versions/A/Headers/tube_gc.h
@@ -0,0 +1,78 @@
+
+/*
+ * tube_gc.h
+ *
+ * FUNCTION:
+ * This file allows for easy changes to changes in the way the extrusion
+ * library handles state info (i.e. context).
+ *
+ * HISTORY:
+ * Linas Vepstas --- February 1993
+ * Added auto texture coord generation hacks, Linas April 1994
+ * Added tube.h include to define gleDouble, tad February 2002
+ */
+
+#include "tube.h"
+#include "port.h" /* for gleVector */
+
+typedef float gleColor[3];
+typedef double gleTwoVec[2];
+
+typedef struct {
+
+ /* public methods */
+ void (*bgn_gen_texture) (int, double);
+ void (*n3f_gen_texture) (float *);
+ void (*n3d_gen_texture) (double *);
+ void (*v3f_gen_texture) (float *, int, int);
+ void (*v3d_gen_texture) (double *, int, int);
+ void (*end_gen_texture) (void);
+
+ /* protected members -- "general knowledge" stuff */
+ int join_style;
+
+ /* arguments passed into extrusion code */
+ int ncp; /* number of contour points */
+ gleTwoVec *contour; /* 2D contour */
+ gleTwoVec *cont_normal; /* 2D contour normals */
+ gleDouble *up; /* up vector */
+ int npoints; /* number of points in polyline */
+ gleVector *point_array; /* path */
+ gleColor *color_array; /* path colors */
+ gleAffine *xform_array; /* contour xforms */
+
+ /* private members, used by texturing code */
+ int num_vert;
+ int segment_number;
+ double segment_length;
+ double accum_seg_len;
+ double prev_x;
+ double prev_y;
+
+ void (*save_bgn_gen_texture) (int, double);
+ void (*save_n3f_gen_texture) (float *);
+ void (*save_n3d_gen_texture) (double *);
+ void (*save_v3f_gen_texture) (float *, int, int);
+ void (*save_v3d_gen_texture) (double *, int, int);
+ void (*save_end_gen_texture) (void);
+
+} gleGC;
+
+extern gleGC *_gle_gc;
+extern gleGC * gleCreateGC (void);
+
+#define INIT_GC() {if (!_gle_gc) _gle_gc = gleCreateGC(); }
+#define extrusion_join_style (_gle_gc->join_style)
+
+#define __TUBE_CLOSE_CONTOUR (extrusion_join_style & TUBE_CONTOUR_CLOSED)
+#define __TUBE_DRAW_CAP (extrusion_join_style & TUBE_JN_CAP)
+#define __TUBE_DRAW_FACET_NORMALS (extrusion_join_style & TUBE_NORM_FACET)
+#define __TUBE_DRAW_PATH_EDGE_NORMALS (extrusion_join_style & TUBE_NORM_PATH_EDGE)
+
+#define __TUBE_STYLE (extrusion_join_style & TUBE_JN_MASK)
+#define __TUBE_RAW_JOIN (extrusion_join_style & TUBE_JN_RAW)
+#define __TUBE_CUT_JOIN (extrusion_join_style & TUBE_JN_CUT)
+#define __TUBE_ANGLE_JOIN (extrusion_join_style & TUBE_JN_ANGLE)
+#define __TUBE_ROUND_JOIN (extrusion_join_style & TUBE_JN_ROUND)
+
+/* ======================= END OF FILE ========================== */
View
1,339 example yell fire/bin/ofxCameraKitDebug.app/Contents/Frameworks/GLUT.framework/Versions/A/Headers/vvector.h
@@ -0,0 +1,1339 @@
+