4package com.jogamp.opengl.glu.gl2;
6import com.jogamp.common.util.SecurityUtil;
7import jogamp.opengl.glu.nurbs.*;
9import com.jogamp.gluegen.runtime.opengl.GLProcAddressResolver;
10import jogamp.opengl.glu.gl2.nurbs.*;
11import jogamp.opengl.glu.mipmap.Mipmap;
12import com.jogamp.opengl.GL2;
13import jogamp.opengl.gl2.ProjectDouble;
14import com.jogamp.opengl.*;
15import com.jogamp.opengl.glu.*;
16import com.jogamp.opengl.util.glsl.ShaderState;
17import jogamp.opengl.*;
18import jogamp.opengl.glu.*;
19import jogamp.opengl.glu.tessellator.GLUtessellatorImpl;
20import jogamp.opengl.ProjectFloat;
21import com.jogamp.common.util.ReflectionUtil;
22import com.jogamp.gluegen.runtime.*;
23import com.jogamp.common.os.*;
24import com.jogamp.common.nio.*;
26import com.jogamp.common.util.*;
29import java.util.HashMap;
30import java.nio.charset.Charset;
31import java.nio.charset.StandardCharsets;
36 private int gluBuild1DMipmapLevelsC(
int target,
int internalFormat,
int width,
int format,
int type,
int level,
int base,
int max, Buffer data) {
38 final boolean data_is_direct = Buffers.isDirect(data);
39 final long __addr_ = getGLUProcAddressTable()._addressof_gluBuild1DMipmapLevels;
41 throw new GLException(String.format(
"Method \"%s\" not available",
"gluBuild1DMipmapLevels"));
43 return dispatch_gluBuild1DMipmapLevelsC1(target, internalFormat, width, format, type, level, base, max, data_is_direct ? data : Buffers.getArray(data), data_is_direct ? Buffers.getDirectBufferByteOffset(data) : Buffers.getIndirectBufferByteOffset(data), data_is_direct, __addr_);
48 private native
int dispatch_gluBuild1DMipmapLevelsC1(
int target,
int internalFormat,
int width,
int format,
int type,
int level,
int base,
int max, Object data,
int data_byte_offset,
boolean data_is_direct,
long procAddress);
52 private int gluBuild1DMipmapsC(
int target,
int internalFormat,
int width,
int format,
int type, Buffer data) {
54 final boolean data_is_direct = Buffers.isDirect(data);
55 final long __addr_ = getGLUProcAddressTable()._addressof_gluBuild1DMipmaps;
57 throw new GLException(String.format(
"Method \"%s\" not available",
"gluBuild1DMipmaps"));
59 return dispatch_gluBuild1DMipmapsC1(target, internalFormat, width, format, type, data_is_direct ? data : Buffers.getArray(data), data_is_direct ? Buffers.getDirectBufferByteOffset(data) : Buffers.getIndirectBufferByteOffset(data), data_is_direct, __addr_);
64 private native
int dispatch_gluBuild1DMipmapsC1(
int target,
int internalFormat,
int width,
int format,
int type, Object data,
int data_byte_offset,
boolean data_is_direct,
long procAddress);
68 private int gluBuild2DMipmapLevelsC(
int target,
int internalFormat,
int width,
int height,
int format,
int type,
int level,
int base,
int max, Buffer data) {
70 final boolean data_is_direct = Buffers.isDirect(data);
71 final long __addr_ = getGLUProcAddressTable()._addressof_gluBuild2DMipmapLevels;
73 throw new GLException(String.format(
"Method \"%s\" not available",
"gluBuild2DMipmapLevels"));
75 return dispatch_gluBuild2DMipmapLevelsC1(target, internalFormat, width, height, format, type, level, base, max, data_is_direct ? data : Buffers.getArray(data), data_is_direct ? Buffers.getDirectBufferByteOffset(data) : Buffers.getIndirectBufferByteOffset(data), data_is_direct, __addr_);
80 private native
int dispatch_gluBuild2DMipmapLevelsC1(
int target,
int internalFormat,
int width,
int height,
int format,
int type,
int level,
int base,
int max, Object data,
int data_byte_offset,
boolean data_is_direct,
long procAddress);
84 private int gluBuild2DMipmapsC(
int target,
int internalFormat,
int width,
int height,
int format,
int type, Buffer data) {
86 final boolean data_is_direct = Buffers.isDirect(data);
87 final long __addr_ = getGLUProcAddressTable()._addressof_gluBuild2DMipmaps;
89 throw new GLException(String.format(
"Method \"%s\" not available",
"gluBuild2DMipmaps"));
91 return dispatch_gluBuild2DMipmapsC1(target, internalFormat, width, height, format, type, data_is_direct ? data : Buffers.getArray(data), data_is_direct ? Buffers.getDirectBufferByteOffset(data) : Buffers.getIndirectBufferByteOffset(data), data_is_direct, __addr_);
96 private native
int dispatch_gluBuild2DMipmapsC1(
int target,
int internalFormat,
int width,
int height,
int format,
int type, Object data,
int data_byte_offset,
boolean data_is_direct,
long procAddress);
100 private int gluBuild3DMipmapLevelsC(
int target,
int internalFormat,
int width,
int height,
int depth,
int format,
int type,
int level,
int base,
int max, Buffer data) {
102 final boolean data_is_direct = Buffers.isDirect(data);
103 final long __addr_ = getGLUProcAddressTable()._addressof_gluBuild3DMipmapLevels;
105 throw new GLException(String.format(
"Method \"%s\" not available",
"gluBuild3DMipmapLevels"));
107 return dispatch_gluBuild3DMipmapLevelsC1(target, internalFormat, width, height, depth, format, type, level, base, max, data_is_direct ? data : Buffers.getArray(data), data_is_direct ? Buffers.getDirectBufferByteOffset(data) : Buffers.getIndirectBufferByteOffset(data), data_is_direct, __addr_);
112 private native
int dispatch_gluBuild3DMipmapLevelsC1(
int target,
int internalFormat,
int width,
int height,
int depth,
int format,
int type,
int level,
int base,
int max, Object data,
int data_byte_offset,
boolean data_is_direct,
long procAddress);
116 private int gluBuild3DMipmapsC(
int target,
int internalFormat,
int width,
int height,
int depth,
int format,
int type, Buffer data) {
118 final boolean data_is_direct = Buffers.isDirect(data);
119 final long __addr_ = getGLUProcAddressTable()._addressof_gluBuild3DMipmaps;
121 throw new GLException(String.format(
"Method \"%s\" not available",
"gluBuild3DMipmaps"));
123 return dispatch_gluBuild3DMipmapsC1(target, internalFormat, width, height, depth, format, type, data_is_direct ? data : Buffers.getArray(data), data_is_direct ? Buffers.getDirectBufferByteOffset(data) : Buffers.getIndirectBufferByteOffset(data), data_is_direct, __addr_);
128 private native
int dispatch_gluBuild3DMipmapsC1(
int target,
int internalFormat,
int width,
int height,
int depth,
int format,
int type, Object data,
int data_byte_offset,
boolean data_is_direct,
long procAddress);
133 private int gluScaleImageC(
int format,
int wIn,
int hIn,
int typeIn, Buffer dataIn,
int wOut,
int hOut,
int typeOut, Buffer dataOut) {
135 final boolean dataIn_is_direct = Buffers.isDirect(dataIn);
136 final boolean dataOut_is_direct = Buffers.isDirect(dataOut);
137 final long __addr_ = getGLUProcAddressTable()._addressof_gluScaleImage;
139 throw new GLException(String.format(
"Method \"%s\" not available",
"gluScaleImage"));
141 return dispatch_gluScaleImageC1(format, wIn, hIn, typeIn, dataIn_is_direct ? dataIn : Buffers.getArray(dataIn), dataIn_is_direct ? Buffers.getDirectBufferByteOffset(dataIn) : Buffers.getIndirectBufferByteOffset(dataIn), dataIn_is_direct, wOut, hOut, typeOut, dataOut_is_direct ? dataOut : Buffers.getArray(dataOut), dataOut_is_direct ? Buffers.getDirectBufferByteOffset(dataOut) : Buffers.getIndirectBufferByteOffset(dataOut), dataOut_is_direct, __addr_);
147 private native
int dispatch_gluScaleImageC1(
int format,
int wIn,
int hIn,
int typeIn, Object dataIn,
int dataIn_byte_offset,
boolean dataIn_is_direct,
int wOut,
int hOut,
int typeOut, Object dataOut,
int dataOut_byte_offset,
boolean dataOut_is_direct,
long procAddress);
151 private static boolean useJavaMipmapCode =
true;
154 SecurityUtil.doPrivileged(
new PrivilegedAction() {
155 public Object run() {
156 String val = System.getProperty(
"jogl.glu.nojava");
157 if (val !=
null && !val.toLowerCase().equals(
"false")) {
158 useJavaMipmapCode =
false;
188 project =
new ProjectDouble();
197 if (curContext ==
null) {
198 throw new GLException(
"No OpenGL context current on this thread");
269 if (useJavaMipmapCode) {
273 return (gluProcAddressTable.getAddressFor(gluFunctionName) != 0);
280 private final ProjectDouble project;
282 public final void gluOrtho2D(
float left,
float right,
float bottom,
float top) {
283 project.gluOrtho2D(
getCurrentGL2(), (
double)left, (
double)right, (
double)bottom, (
double)top);
287 public final void gluOrtho2D(
double left,
double right,
double bottom,
double top) {
288 project.gluOrtho2D(
getCurrentGL2(), left, right, bottom, top);
291 public final void gluPerspective(
float fovy,
float aspect,
float zNear,
float zFar) {
292 project.gluPerspective(
getCurrentGL2(), (
double)fovy, (
double)aspect, (
double)zNear, (
double)zFar);
295 public final void gluPerspective(
double fovy,
double aspect,
double zNear,
double zFar) {
296 project.gluPerspective(
getCurrentGL2(), fovy, aspect, zNear, zFar);
299 public final void gluLookAt(
float eyeX,
float eyeY,
float eyeZ,
float centerX,
float centerY,
float centerZ,
float upX,
float upY,
float upZ) {
300 project.gluLookAt(
getCurrentGL2(), (
double)eyeX, (
double)eyeY, (
double)eyeZ, (
double)centerX, (
double)centerY, (
double)centerZ, (
double)upX, (
double)upY, (
double)upZ);
303 public final void gluLookAt(
double eyeX,
double eyeY,
double eyeZ,
double centerX,
double centerY,
double centerZ,
double upX,
double upY,
double upZ) {
304 project.gluLookAt(
getCurrentGL2(), eyeX, eyeY, eyeZ, centerX, centerY, centerZ, upX, upY, upZ);
310 public final boolean gluProject(
double objX,
double objY,
double objZ,
double[] model,
int model_offset,
double[] proj,
int proj_offset,
int[] view,
int view_offset,
double[] winPos,
int winPos_offset) {
311 return project.gluProject(objX, objY, objZ, model, model_offset, proj, proj_offset, view, view_offset, winPos, winPos_offset);
317 public final boolean gluProject(
double objX,
double objY,
double objZ, DoubleBuffer model, DoubleBuffer proj, IntBuffer view, DoubleBuffer winPos) {
318 return project.gluProject(objX, objY, objZ, model, proj, view, winPos);
324 public final boolean gluUnProject(
double winX,
double winY,
double winZ,
double[] model,
int model_offset,
double[] proj,
int proj_offset,
int[] view,
int view_offset,
double[] objPos,
int objPos_offset) {
325 return project.gluUnProject(winX, winY, winZ, model, model_offset, proj, proj_offset, view, view_offset, objPos, objPos_offset);
331 public final boolean gluUnProject(
double winX,
double winY,
double winZ, DoubleBuffer model, DoubleBuffer proj, IntBuffer view, DoubleBuffer objPos) {
332 return project.gluUnProject(winX, winY, winZ, model, proj, view, objPos);
338 public final boolean gluUnProject4(
double winX,
double winY,
double winZ,
double clipW,
double[] model,
int model_offset,
double[] proj,
int proj_offset,
int[] view,
int view_offset,
double nearVal,
double farVal,
double[] objPos,
int objPos_offset) {
339 return project.gluUnProject4(winX, winY, winZ, clipW, model, model_offset, proj, proj_offset, view, view_offset, nearVal, farVal, objPos, objPos_offset);
345 public final boolean gluUnProject4(
double winX,
double winY,
double winZ,
double clipW, DoubleBuffer model, DoubleBuffer proj, IntBuffer view,
double nearVal,
double farVal, DoubleBuffer objPos) {
346 return project.gluUnProject4(winX, winY, winZ, clipW, model, proj, view, nearVal, farVal, objPos);
349 public final void gluPickMatrix(
double x,
double y,
double delX,
double delY,
int[] viewport,
int viewport_offset) {
350 project.gluPickMatrix(
getCurrentGL2(), x, y, delX, delY, viewport, viewport_offset);
353 public final void gluPickMatrix(
double x,
double y,
double delX,
double delY, IntBuffer viewport) {
354 project.gluPickMatrix(
getCurrentGL2(), x, y, delX, delY, viewport);
361 private final ByteBuffer copyToByteBuffer(Buffer buf) {
362 if (buf instanceof ByteBuffer) {
363 if (buf.position() == 0) {
364 return (ByteBuffer) buf;
366 return Buffers.copyByteBuffer((ByteBuffer) buf);
367 }
else if (buf instanceof ShortBuffer) {
368 return Buffers.copyShortBufferAsByteBuffer((ShortBuffer) buf);
369 }
else if (buf instanceof IntBuffer) {
370 return Buffers.copyIntBufferAsByteBuffer((IntBuffer) buf);
371 }
else if (buf instanceof FloatBuffer) {
372 return Buffers.copyFloatBufferAsByteBuffer((FloatBuffer) buf);
374 throw new IllegalArgumentException(
"Unsupported buffer type (must be one of byte, short, int, or float)");
378 private final int gluScaleImageJava(
int format,
int widthin,
int heightin,
379 int typein, Buffer datain,
int widthout,
int heightout,
380 int typeout, Buffer dataout ) {
381 ByteBuffer in =
null;
382 ByteBuffer out =
null;
383 in = copyToByteBuffer(datain);
384 if( dataout instanceof ByteBuffer ) {
385 out = (ByteBuffer)dataout;
386 }
else if( dataout instanceof ShortBuffer ) {
387 out = Buffers.newDirectByteBuffer(dataout.remaining() * Buffers.SIZEOF_SHORT);
388 }
else if ( dataout instanceof IntBuffer ) {
389 out = Buffers.newDirectByteBuffer(dataout.remaining() * Buffers.SIZEOF_INT);
390 }
else if ( dataout instanceof FloatBuffer ) {
391 out = Buffers.newDirectByteBuffer(dataout.remaining() * Buffers.SIZEOF_FLOAT);
393 throw new IllegalArgumentException(
"Unsupported destination buffer type (must be byte, short, int, or float)");
395 int errno = Mipmap.gluScaleImage(
getCurrentGL2(), format, widthin, heightin, typein, in,
396 widthout, heightout, typeout, out );
399 if (out != dataout) {
400 if( dataout instanceof ShortBuffer ) {
401 ((ShortBuffer) dataout).put(out.asShortBuffer());
402 }
else if( dataout instanceof IntBuffer ) {
403 ((IntBuffer) dataout).put(out.asIntBuffer());
404 }
else if( dataout instanceof FloatBuffer ) {
405 ((FloatBuffer) dataout).put(out.asFloatBuffer());
407 throw new RuntimeException(
"Should not reach here");
415 private final int gluBuild1DMipmapLevelsJava(
int target,
int internalFormat,
int width,
416 int format,
int type,
int userLevel,
int baseLevel,
int maxLevel,
418 ByteBuffer buffer = copyToByteBuffer(data);
419 return( Mipmap.gluBuild1DMipmapLevels(
getCurrentGL2(), target, internalFormat, width,
420 format, type, userLevel, baseLevel, maxLevel, buffer ) );
424 private final int gluBuild1DMipmapsJava(
int target,
int internalFormat,
int width,
425 int format,
int type, Buffer data ) {
426 ByteBuffer buffer = copyToByteBuffer(data);
427 return( Mipmap.gluBuild1DMipmaps(
getCurrentGL2(), target, internalFormat, width, format,
432 private final int gluBuild2DMipmapLevelsJava(
int target,
int internalFormat,
int width,
433 int height,
int format,
int type,
int userLevel,
int baseLevel,
434 int maxLevel, Buffer data ) {
436 data = copyToByteBuffer(data);
437 return( Mipmap.gluBuild2DMipmapLevels(
getCurrentGL2(), target, internalFormat, width,
438 height, format, type, userLevel, baseLevel, maxLevel, data ) );
441 private final int gluBuild2DMipmapsJava(
int target,
int internalFormat,
int width,
442 int height,
int format,
int type, Buffer data ) {
444 data = copyToByteBuffer(data);
445 return( Mipmap.gluBuild2DMipmaps(
getCurrentGL2(), target, internalFormat, width, height,
446 format, type, data) );
449 private final int gluBuild3DMipmapLevelsJava(
int target,
int internalFormat,
int width,
450 int height,
int depth,
int format,
int type,
int userLevel,
int baseLevel,
451 int maxLevel, Buffer data) {
452 ByteBuffer buffer = copyToByteBuffer(data);
453 return( Mipmap.gluBuild3DMipmapLevels(
getCurrentGL2(), target, internalFormat, width,
454 height, depth, format, type, userLevel, baseLevel, maxLevel, buffer) );
457 private final int gluBuild3DMipmapsJava(
int target,
int internalFormat,
int width,
458 int height,
int depth,
int format,
int type, Buffer data ) {
459 ByteBuffer buffer = copyToByteBuffer(data);
460 return( Mipmap.gluBuild3DMipmaps(
getCurrentGL2(), target, internalFormat, width, height,
461 depth, format, type, buffer ) );
471 public final int gluBuild1DMipmapLevels(
int target,
int internalFormat,
int width,
int format,
int type,
int level,
int base,
int max, java.nio.Buffer data) {
472 if (useJavaMipmapCode) {
473 return gluBuild1DMipmapLevelsJava(target, internalFormat, width, format, type, level, base, max, data);
475 return gluBuild1DMipmapLevelsC(target, internalFormat, width, format, type, level, base, max, data);
480 public final int gluBuild1DMipmaps(
int target,
int internalFormat,
int width,
int format,
int type, java.nio.Buffer data) {
481 if (useJavaMipmapCode) {
482 return gluBuild1DMipmapsJava(target, internalFormat, width, format, type, data);
484 return gluBuild1DMipmapsC(target, internalFormat, width, format, type, data);
489 public final int gluBuild2DMipmapLevels(
int target,
int internalFormat,
int width,
int height,
int format,
int type,
int level,
int base,
int max, java.nio.Buffer data) {
490 if (useJavaMipmapCode) {
491 return gluBuild2DMipmapLevelsJava(target, internalFormat, width, height, format, type, level, base, max, data);
493 return gluBuild2DMipmapLevelsC(target, internalFormat, width, height, format, type, level, base, max, data);
499 public final int gluBuild2DMipmaps(
int target,
int internalFormat,
int width,
int height,
int format,
int type, java.nio.Buffer data) {
500 if (useJavaMipmapCode) {
501 return gluBuild2DMipmapsJava(target, internalFormat, width, height, format, type, data);
503 return gluBuild2DMipmapsC(target, internalFormat, width, height, format, type, data);
509 public final int gluBuild3DMipmapLevels(
int target,
int internalFormat,
int width,
int height,
int depth,
int format,
int type,
int level,
int base,
int max, java.nio.Buffer data) {
510 if (useJavaMipmapCode) {
511 return gluBuild3DMipmapLevelsJava(target, internalFormat, width, height, depth, format, type, level, base, max, data);
513 return gluBuild3DMipmapLevelsC(target, internalFormat, width, height, depth, format, type, level, base, max, data);
518 public final int gluBuild3DMipmaps(
int target,
int internalFormat,
int width,
int height,
int depth,
int format,
int type, java.nio.Buffer data) {
519 if (useJavaMipmapCode) {
520 return gluBuild3DMipmapsJava(target, internalFormat, width, height, depth, format, type, data);
522 return gluBuild3DMipmapsC(target, internalFormat, width, height, depth, format, type, data);
528 public final int gluScaleImage(
int format,
int wIn,
int hIn,
int typeIn, java.nio.Buffer dataIn,
int wOut,
int hOut,
int typeOut, java.nio.Buffer dataOut) {
529 if (useJavaMipmapCode) {
530 return gluScaleImageJava(format, wIn, hIn, typeIn, dataIn, wOut, hOut, typeOut, dataOut);
532 return gluScaleImageC(format, wIn, hIn, typeIn, dataIn, wOut, hOut, typeOut, dataOut);
568 return new GLUgl2nurbsImpl();
579 ((GLUgl2nurbsImpl) r).bgncurve();
590 ((GLUgl2nurbsImpl) r).bgnsurface();
601 ((GLUgl2nurbsImpl) r).endsurface();
631 int tknot_count,
float[] tknot,
int s_stride,
int t_stride,
632 float[] ctlarray,
int sorder,
int torder,
int type) {
634 ((GLUgl2nurbsImpl) r).nurbssurface(sknot_count, sknot, tknot_count, tknot, s_stride,
635 t_stride, ctlarray, sorder, torder, type);
657 float[] ctlarray,
int order,
int type) {
665 ((GLUgl2nurbsImpl) r).nurbscurve(nknots, knot, stride, ctlarray, order, realType);
676 ((GLUgl2nurbsImpl) r).endcurve();
683 private static GLUgl2ProcAddressTable gluProcAddressTable;
685 private static final GLUgl2ProcAddressTable getGLUProcAddressTable() {
686 if (gluProcAddressTable ==
null) {
688 if (curContext ==
null) {
689 throw new GLException(
"No OpenGL context current on this thread");
691 GLDynamicLookupHelper glLookupHelper = ((GLContextImpl) curContext).getGLDynamicLookupHelper();
692 glLookupHelper.loadGLULibrary();
693 GLUgl2ProcAddressTable tmp =
new GLUgl2ProcAddressTable(
new GLProcAddressResolver());
694 tmp.reset(glLookupHelper);
695 gluProcAddressTable = tmp;
697 return gluProcAddressTable;
Abstraction for an OpenGL rendering context.
static GLContext getCurrent()
Returns this thread current context.
abstract GL getGL()
Returns the GL pipeline object for this GLContext.
A generic exception for OpenGL errors used throughout the binding as a substitute for RuntimeExceptio...
Provides access to the OpenGL Utility Library (GLU).
final void gluNurbsSurface(GLUnurbs r, int sknot_count, float[] sknot, int tknot_count, float[] tknot, int s_stride, int t_stride, float[] ctlarray, int sorder, int torder, int type)
Makes a NURBS surface.
final void gluLookAt(float eyeX, float eyeY, float eyeZ, float centerX, float centerY, float centerZ, float upX, float upY, float upZ)
static final GL2 getCurrentGL2()
final int gluBuild3DMipmaps(int target, int internalFormat, int width, int height, int depth, int format, int type, java.nio.Buffer data)
Interface to C language function: GLint gluBuild3DMipmaps(GLenum target, GLint internalFormat,...
final int gluScaleImage(int format, int wIn, int hIn, int typeIn, java.nio.Buffer dataIn, int wOut, int hOut, int typeOut, java.nio.Buffer dataOut)
Interface to C language function: GLint gluScaleImage(GLenum format, GLsizei wIn,...
final void gluPickMatrix(double x, double y, double delX, double delY, IntBuffer viewport)
final void gluPerspective(double fovy, double aspect, double zNear, double zFar)
final int gluBuild2DMipmaps(int target, int internalFormat, int width, int height, int format, int type, java.nio.Buffer data)
Interface to C language function: GLint gluBuild2DMipmaps(GLenum target, GLint internalFormat,...
final void gluEndSurface(GLUnurbs r)
Ends a surface.
final void gluOrtho2D(double left, double right, double bottom, double top)
final GLUnurbs gluNewNurbsRenderer()
Creates a new GLUnurbs object.
final int gluBuild3DMipmapLevels(int target, int internalFormat, int width, int height, int depth, int format, int type, int level, int base, int max, java.nio.Buffer data)
Interface to C language function: GLint gluBuild3DMipmapLevels(GLenum target, GLint internalFormat...
final void gluBeginCurve(GLUnurbs r)
Begins a curve definition.
final void gluLookAt(double eyeX, double eyeY, double eyeZ, double centerX, double centerY, double centerZ, double upX, double upY, double upZ)
final void gluBeginSurface(GLUnurbs r)
Begins a surface definition.
GLUgl2()
Instantiates a new OpenGL Utility Library object.
final void gluPickMatrix(double x, double y, double delX, double delY, int[] viewport, int viewport_offset)
final boolean gluProject(double objX, double objY, double objZ, double[] model, int model_offset, double[] proj, int proj_offset, int[] view, int view_offset, double[] winPos, int winPos_offset)
Interface to C language function: GLint gluProject(GLdouble objX, GLdouble objY,...
final void gluOrtho2D(float left, float right, float bottom, float top)
final int gluBuild1DMipmapLevels(int target, int internalFormat, int width, int format, int type, int level, int base, int max, java.nio.Buffer data)
Interface to C language function: GLint gluBuild1DMipmapLevels(GLenum target, GLint internalFormat...
final int gluBuild2DMipmapLevels(int target, int internalFormat, int width, int height, int format, int type, int level, int base, int max, java.nio.Buffer data)
Interface to C language function: GLint gluBuild2DMipmapLevels(GLenum target, GLint internalFormat...
final void gluPerspective(float fovy, float aspect, float zNear, float zFar)
final void gluNurbsCurve(GLUnurbs r, int nknots, float[] knot, int stride, float[] ctlarray, int order, int type)
Make a NURBS curve.
final int gluBuild1DMipmaps(int target, int internalFormat, int width, int format, int type, java.nio.Buffer data)
Interface to C language function: GLint gluBuild1DMipmaps(GLenum target, GLint internalFormat,...
final boolean gluUnProject4(double winX, double winY, double winZ, double clipW, DoubleBuffer model, DoubleBuffer proj, IntBuffer view, double nearVal, double farVal, DoubleBuffer objPos)
Interface to C language function: GLint gluUnProject4(GLdouble winX, GLdouble winY,...
final void gluNurbsProperty(GLUnurbs r, int property, float value)
Sets a property on a NURBS object.
final boolean gluProject(double objX, double objY, double objZ, DoubleBuffer model, DoubleBuffer proj, IntBuffer view, DoubleBuffer winPos)
Interface to C language function: GLint gluProject(GLdouble objX, GLdouble objY,...
final boolean gluUnProject4(double winX, double winY, double winZ, double clipW, double[] model, int model_offset, double[] proj, int proj_offset, int[] view, int view_offset, double nearVal, double farVal, double[] objPos, int objPos_offset)
Interface to C language function: GLint gluUnProject4(GLdouble winX, GLdouble winY,...
final boolean gluUnProject(double winX, double winY, double winZ, DoubleBuffer model, DoubleBuffer proj, IntBuffer view, DoubleBuffer objPos)
Interface to C language function: GLint gluUnProject(GLdouble winX, GLdouble winY,...
final void gluEndCurve(GLUnurbs r)
Ends a curve definition.
final boolean isFunctionAvailable(String gluFunctionName)
Returns true if the specified GLU core- or extension-function can be successfully used through this G...
final boolean gluUnProject(double winX, double winY, double winZ, double[] model, int model_offset, double[] proj, int proj_offset, int[] view, int view_offset, double[] objPos, int objPos_offset)
Interface to C language function: GLint gluUnProject(GLdouble winX, GLdouble winY,...
GL2 getGL2()
Casts this object to the GL2 interface.
Wrapper for a GLU NURBS object.