001: /*******************************************************************************
002: * Copyright (c) 2000, 2003 IBM Corporation and others.
003: * All rights reserved. This program and the accompanying materials
004: * are made available under the terms of the Eclipse Public License v1.0
005: * which accompanies this distribution, and is available at
006: * http://www.eclipse.org/legal/epl-v10.html
007: *
008: * Contributors:
009: * IBM Corporation - initial API and implementation
010: *******************************************************************************/package org.eclipse.opengl;
011:
012: public class GLU {
013:
014: /* Version */
015: public static final int GLU_VERSION_1_1 = 1;
016: public static final int GLU_VERSION_1_2 = 1;
017:
018: /* Errors: (return value 0 = no error) */
019: public static final int GLU_INVALID_ENUM = 100900;
020: public static final int GLU_INVALID_VALUE = 100901;
021: public static final int GLU_OUT_OF_MEMORY = 100902;
022: public static final int GLU_INCOMPATIBLE_GL_VERSION = 100903;
023:
024: /* StringName */
025: public static final int GLU_VERSION = 100800;
026: public static final int GLU_EXTENSIONS = 100801;
027:
028: /**** Quadric constants ****/
029:
030: /* QuadricNormal */
031: public static final int GLU_SMOOTH = 100000;
032: public static final int GLU_FLAT = 100001;
033: public static final int GLU_NONE = 100002;
034:
035: /* QuadricDrawStyle */
036: public static final int GLU_POINT = 100010;
037: public static final int GLU_LINE = 100011;
038: public static final int GLU_FILL = 100012;
039: public static final int GLU_SILHOUETTE = 100013;
040:
041: /* QuadricOrientation */
042: public static final int GLU_OUTSIDE = 100020;
043: public static final int GLU_INSIDE = 100021;
044:
045: /* Callback types: */
046: /* GLU_ERROR 100103 */
047:
048: /**** Tesselation constants ****/
049:
050: public static final double GLU_TESS_MAX_COORD = 1.0e150;
051:
052: /* TessProperty */
053: public static final int GLU_TESS_WINDING_RULE = 100140;
054: public static final int GLU_TESS_BOUNDARY_ONLY = 100141;
055: public static final int GLU_TESS_TOLERANCE = 100142;
056:
057: /* TessWinding */
058: public static final int GLU_TESS_WINDING_ODD = 100130;
059: public static final int GLU_TESS_WINDING_NONZERO = 100131;
060: public static final int GLU_TESS_WINDING_POSITIVE = 100132;
061: public static final int GLU_TESS_WINDING_NEGATIVE = 100133;
062: public static final int GLU_TESS_WINDING_ABS_GEQ_TWO = 100134;
063:
064: /* TessCallback */
065: public static final int GLU_TESS_BEGIN = 100100; /* void (CALLBACK*)(GLenum type) */
066: public static final int GLU_TESS_VERTEX = 100101; /* void (CALLBACK*)(void *data) */
067: public static final int GLU_TESS_END = 100102; /* void (CALLBACK*)(void) */
068: public static final int GLU_TESS_ERROR = 100103; /* void (CALLBACK*)(GLenum errno) */
069: public static final int GLU_TESS_EDGE_FLAG = 100104; /* void (CALLBACK*)(GLboolean boundaryEdge) */
070: public static final int GLU_TESS_COMBINE = 100105; /* void (CALLBACK*)(GLdouble coords[3],
071: void *data[4],
072: GLfloat weight[4],
073: void **dataOut) */
074: public static final int GLU_TESS_BEGIN_DATA = 100106; /* void (CALLBACK*)(GLenum type,
075: void *polygon_data) */
076: public static final int GLU_TESS_VERTEX_DATA = 100107; /* void (CALLBACK*)(void *data,
077: void *polygon_data) */
078: public static final int GLU_TESS_END_DATA = 100108; /* void (CALLBACK*)(void *polygon_data) */
079: public static final int GLU_TESS_ERROR_DATA = 100109; /* void (CALLBACK*)(GLenum errno,
080: void *polygon_data) */
081: public static final int GLU_TESS_EDGE_FLAG_DATA = 100110; /* void (CALLBACK*)(GLboolean boundaryEdge,
082: void *polygon_data) */
083: public static final int GLU_TESS_COMBINE_DATA = 100111; /* void (CALLBACK*)(GLdouble coords[3],
084: void *data[4],
085: GLfloat weight[4],
086: void **dataOut,
087: void *polygon_data) */
088:
089: /* TessError */
090: public static final int GLU_TESS_ERROR1 = 100151;
091: public static final int GLU_TESS_ERROR2 = 100152;
092: public static final int GLU_TESS_ERROR3 = 100153;
093: public static final int GLU_TESS_ERROR4 = 100154;
094: public static final int GLU_TESS_ERROR5 = 100155;
095: public static final int GLU_TESS_ERROR6 = 100156;
096: public static final int GLU_TESS_ERROR7 = 100157;
097: public static final int GLU_TESS_ERROR8 = 100158;
098:
099: public static final int GLU_TESS_MISSING_BEGIN_POLYGON = GLU_TESS_ERROR1;
100: public static final int GLU_TESS_MISSING_BEGIN_CONTOUR = GLU_TESS_ERROR2;
101: public static final int GLU_TESS_MISSING_END_POLYGON = GLU_TESS_ERROR3;
102: public static final int GLU_TESS_MISSING_END_CONTOUR = GLU_TESS_ERROR4;
103: public static final int GLU_TESS_COORD_TOO_LARGE = GLU_TESS_ERROR5;
104: public static final int GLU_TESS_NEED_COMBINE_CALLBACK = GLU_TESS_ERROR6;
105:
106: /**** NURBS constants ****/
107:
108: /* NurbsProperty */
109: public static final int GLU_AUTO_LOAD_MATRIX = 100200;
110: public static final int GLU_CULLING = 100201;
111: public static final int GLU_SAMPLING_TOLERANCE = 100203;
112: public static final int GLU_DISPLAY_MODE = 100204;
113: public static final int GLU_PARAMETRIC_TOLERANCE = 100202;
114: public static final int GLU_SAMPLING_METHOD = 100205;
115: public static final int GLU_U_STEP = 100206;
116: public static final int GLU_V_STEP = 100207;
117:
118: /* NurbsSampling */
119: public static final int GLU_PATH_LENGTH = 100215;
120: public static final int GLU_PARAMETRIC_ERROR = 100216;
121: public static final int GLU_DOMAIN_DISTANCE = 100217;
122:
123: /* NurbsTrim */
124: public static final int GLU_MAP1_TRIM_2 = 100210;
125: public static final int GLU_MAP1_TRIM_3 = 100211;
126:
127: /* NurbsDisplay */
128: /* GLU_FILL 100012 */
129: public static final int GLU_OUTLINE_POLYGON = 100240;
130: public static final int GLU_OUTLINE_PATCH = 100241;
131:
132: /* NurbsCallback */
133: /* GLU_ERROR 100103 */
134:
135: /* NurbsErrors */
136: public static final int GLU_NURBS_ERROR1 = 100251;
137: public static final int GLU_NURBS_ERROR2 = 100252;
138: public static final int GLU_NURBS_ERROR3 = 100253;
139: public static final int GLU_NURBS_ERROR4 = 100254;
140: public static final int GLU_NURBS_ERROR5 = 100255;
141: public static final int GLU_NURBS_ERROR6 = 100256;
142: public static final int GLU_NURBS_ERROR7 = 100257;
143: public static final int GLU_NURBS_ERROR8 = 100258;
144: public static final int GLU_NURBS_ERROR9 = 100259;
145: public static final int GLU_NURBS_ERROR10 = 100260;
146: public static final int GLU_NURBS_ERROR11 = 100261;
147: public static final int GLU_NURBS_ERROR12 = 100262;
148: public static final int GLU_NURBS_ERROR13 = 100263;
149: public static final int GLU_NURBS_ERROR14 = 100264;
150: public static final int GLU_NURBS_ERROR15 = 100265;
151: public static final int GLU_NURBS_ERROR16 = 100266;
152: public static final int GLU_NURBS_ERROR17 = 100267;
153: public static final int GLU_NURBS_ERROR18 = 100268;
154: public static final int GLU_NURBS_ERROR19 = 100269;
155: public static final int GLU_NURBS_ERROR20 = 100270;
156: public static final int GLU_NURBS_ERROR21 = 100271;
157: public static final int GLU_NURBS_ERROR22 = 100272;
158: public static final int GLU_NURBS_ERROR23 = 100273;
159: public static final int GLU_NURBS_ERROR24 = 100274;
160: public static final int GLU_NURBS_ERROR25 = 100275;
161: public static final int GLU_NURBS_ERROR26 = 100276;
162: public static final int GLU_NURBS_ERROR27 = 100277;
163: public static final int GLU_NURBS_ERROR28 = 100278;
164: public static final int GLU_NURBS_ERROR29 = 100279;
165: public static final int GLU_NURBS_ERROR30 = 100280;
166: public static final int GLU_NURBS_ERROR31 = 100281;
167: public static final int GLU_NURBS_ERROR32 = 100282;
168: public static final int GLU_NURBS_ERROR33 = 100283;
169: public static final int GLU_NURBS_ERROR34 = 100284;
170: public static final int GLU_NURBS_ERROR35 = 100285;
171: public static final int GLU_NURBS_ERROR36 = 100286;
172: public static final int GLU_NURBS_ERROR37 = 100287;
173:
174: /* Contours types -- obsolete! */
175: public static final int GLU_CW = 100120;
176: public static final int GLU_CCW = 100121;
177: public static final int GLU_INTERIOR = 100122;
178: public static final int GLU_EXTERIOR = 100123;
179: public static final int GLU_UNKNOWN = 100124;
180:
181: /* Names without "TESS_" prefix */
182: public static final int GLU_BEGIN = GLU_TESS_BEGIN;
183: public static final int GLU_VERTEX = GLU_TESS_VERTEX;
184: public static final int GLU_END = GLU_TESS_END;
185: public static final int GLU_ERROR = GLU_TESS_ERROR;
186: public static final int GLU_EDGE_FLAG = GLU_TESS_EDGE_FLAG;
187:
188: public static final native void gluBeginCurve(int nobj);
189:
190: public static final native void gluEndCurve(int nobj);
191:
192: public static final native void gluBeginPolygon(int tess);
193:
194: public static final native void gluEndPolygon(int tess);
195:
196: public static final native void gluBeginSurface(int nobj);
197:
198: public static final native void gluEndSurface(int nobj);
199:
200: public static final native void gluBeginTrim(int nobj);
201:
202: public static final native void gluEndTrim(int nobj);
203:
204: public static final native int gluBuild1DMipmaps(int target,
205: int componenets, int width, int format, int type, int data); /* MULTIPLES TYPES ARRAY */
206:
207: public static final native int gluBuild2DMipmaps(int target,
208: int componenets, int width, int height, int format,
209: int type, byte[] data); /* MULTIPLES TYPES ARRAY */
210:
211: public static final native void gluCylinder(int qobj,
212: double baseRadius, double topRadius, double height,
213: int slices, int stacks);
214:
215: public static final native void gluDeleteNurbsRenderer(int nobj);
216:
217: public static final native void gluDeleteQuadric(int qobj);
218:
219: public static final native void gluDeleteTess(int tess);
220:
221: public static final native void gluDisk(int qobj,
222: double innerRadius, double outerRadius, int slices,
223: int loops);
224:
225: public static final native int gluErrorString(int errCode); /* SHOULD RETURN A STRING */
226:
227: public static final native void gluGetNurbsProperty(int nobj,
228: int property, float[] value);
229:
230: public static final native int gluGetString(int name); /* SHOULD RETURN A STRING */
231:
232: public static final native void gluGetTessProperty(int tess,
233: int which, double[] value);
234:
235: public static final native void gluLoadSamplingMatrices(int nobj,
236: float[] modelMatrix, float[] projMatrix, int[] viewport);
237:
238: public static final native void gluLookAt(double eyex, double eyey,
239: double eyez, double centerx, double centery,
240: double centerz, double upx, double upy, double upz);
241:
242: public static final native int gluNewNurbsRenderer();
243:
244: public static final native int gluNewQuadric();
245:
246: public static final native int gluNewTess();
247:
248: public static final native void gluNextContour(int tess, int type);
249:
250: public static final native void gluNurbsCallback(int nobj,
251: int which, int fn);
252:
253: public static final native void gluNurbsCurve(int nobj, int nknots,
254: float[] knot, int stride, float[] ctlarray, int order,
255: int type);
256:
257: public static final native void gluNurbsProperty(int nobj,
258: int property, float value);
259:
260: public static final native void gluNurbsSurface(int nobj,
261: int sknot_count, float[] sknot, int tknot_count,
262: float[] tknot, int s_stride, int t_stride,
263: float[] ctlarray, int sorder, int torder, int type);
264:
265: public static final native void gluOrtho2D(double left,
266: double right, double bottom, double top);
267:
268: public static final native void gluPartialDisk(int qobj,
269: double innerRadius, double outerRadius, int slices,
270: int loops, double startAngle, double sweepAngle);
271:
272: public static final native void gluPerspective(double fovy,
273: double aspect, double zNear, double zFar);
274:
275: public static final native void gluPickMatrix(double x, double y,
276: double width, double height, int[] viewport);
277:
278: public static final native int gluProject(double objx, double objy,
279: double objz, double[] modelMatrix, double[] projMatrix,
280: int[] viewport, double[] winx, double[] winy, double[] winz);
281:
282: public static final native void gluPwlCurve(int nobj, int count,
283: float[] array, int stride, int type);
284:
285: public static final native void gluQuadricCallback(int qobj,
286: int which, int fn);
287:
288: public static final native void gluQuadricDrawStyle(int qobj,
289: int drawStyle);
290:
291: public static final native void gluQuadricNormals(int qobj,
292: int normals);
293:
294: public static final native void gluQuadricOrientation(int qobj,
295: int orientation);
296:
297: public static final native void gluQuadricTexture(int qobj,
298: boolean textureCoords);
299:
300: public static final native int gluScaleImage(int format,
301: int widthin, int heightin, int typein, int datain,
302: int widthout, int heightout, int typeout, int dataout); /*MULTIPLES TYPES ARRAYS*/
303:
304: public static final native void gluSphere(int qobj, double radius,
305: int slices, int stacks);
306:
307: public static final native void gluTessBeginContour(int tess);
308:
309: public static final native void gluTessEndContour(int tess);
310:
311: public static final native void gluTessBeginPolygon(int tess,
312: int polygon_data);
313:
314: public static final native void gluTessEndPolygon(int tess);
315:
316: public static final native void gluTessCallback(int tess,
317: int which, int fn);
318:
319: public static final native void gluTessNormal(int tess, double x,
320: double y, double z);
321:
322: public static final native void gluTessProperty(int tess,
323: int property, double value); /* CHECK MSDN, VALUE'S TYPE IS DOUBLE */
324:
325: public static final native void gluTessVertex(int tess,
326: double[] coords, int data);
327:
328: public static final native int gluUnProject(double winx,
329: double winy, double winz, double[] modelMatrix,
330: double[] projMatrix, int[] viewport, double[] objx,
331: double[] objy, double[] objz);
332: }
|