Package jgl
Class GLUT
- java.lang.Object
-
- jgl.GLUT
-
-
Field Summary
Fields Modifier and Type Field Description static intGLUT_ACTIVE_ALTstatic intGLUT_ACTIVE_CTRLstatic intGLUT_ACTIVE_SHIFTstatic intGLUT_DOWNstatic intGLUT_KEY_DOWNstatic intGLUT_KEY_ENDstatic intGLUT_KEY_F1static intGLUT_KEY_F10static intGLUT_KEY_F11static intGLUT_KEY_F12static intGLUT_KEY_F2static intGLUT_KEY_F3static intGLUT_KEY_F4static intGLUT_KEY_F5static intGLUT_KEY_F6static intGLUT_KEY_F7static intGLUT_KEY_F8static intGLUT_KEY_F9static intGLUT_KEY_HOMEstatic intGLUT_KEY_INSERTstatic intGLUT_KEY_LEFTstatic intGLUT_KEY_PAGE_DOWNstatic intGLUT_KEY_PAGE_UPstatic intGLUT_KEY_RIGHTstatic intGLUT_KEY_UPstatic intGLUT_LEFT_BUTTONConstants of glutstatic intGLUT_MIDDLE_BUTTONstatic intGLUT_RIGHT_BUTTONstatic intGLUT_UP
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description GLauxGetGL()GLUauxGetGLU()protected double[]getModelViewAsDouble()protected double[]getProjectionAsDouble()protected int[]getViewPortAsInt()voidglutAddMenuEntry(String label, int value)void glutAddMenuEntry (const char *label, int value)voidglutAddSubMenu(String label, int submenu)void glutAddSubMenu (const char *label, int submenu)voidglutAttachMenu(int button)void glutAttachMenu (int button)voidglutBitmapString(Font font, String string, float x, float y)Print string at the specified 2d position.voidglutBitmapString(Font font, String string, float x, float y, float z, float r, float g, float b, float rotate)Print string at the specified 3d position.voidglutChangeToMenuEntry(int item, String label, int value)void glutChangeToMenuEntry (int item, const char *label, int value)voidglutChangeToSubMenu(int item, String label, int submenu)void glutChangeToSubMenu (int item, const char *label, int submenu)intglutCreateMenu(String func)int glutCreateMenu (void (*)(int))voidglutCreateWindow(Applet o)voidglutCreateWindow(Component o)int glutCreateWindow (const char *title)voidglutDestroyMenu(int menu)void glutDestroyMenu (int menu)voidglutDetachMenu(int button)void glutDetachMenu (int button)voidglutDisplayFunc(String func)Register the name of theJavaComponentmethod that should be called upon mouse motion.intglutGetMenu()int glutGetMenu (void)intglutGetModifiers()int glutGetModifiers (void)voidglutIdleFunc(String func)void glutIdleFunc (void (*func)(void))voidglutInitWindowPosition(int x, int y)void glutInitWindowPosition (int x, int y)voidglutInitWindowSize(int width, int height)void glutInitWindowSize (int width, int height)voidglutKeyboardFunc(String func)void glutKeyboardFunc (void (*func)(unsigned char key, int x, int y))voidglutKeyboardUpFunc(String func)void glutKeyboardUpFunc (void (*func)(unsigned char key, int x, int y))voidglutMainLoop()void glutMainLoop ()voidglutMotionFunc(String func)Register the name of theJavaComponentmethod that should be called upon mouse motion.voidglutMouseFunc(String func)Register the name of theJavaComponentmethod that should be called upon mouse events.voidglutPostRedisplay()void glutPostRedisplay ()voidglutRemoveMenuItem(int item)void glutRemoveMenuItem (int item)voidglutReshapeFunc(String func)Register the name of theJavaComponentmethod that should be called upon component resize events.voidglutSetMenu(int menu)void glutSetMenu (int menu)voidglutSolidCone(double base, double height, int slices, int stacks)void glutSolidCone (GLdouble base, GLdouble height, GLint slices, GLint stacks)voidglutSolidCube(double size)void glutSolidCube (GLdouble size)voidglutSolidIcosahedron()void glutWireIcosahedron (void)voidglutSolidSphere(double radius, int slices, int stacks)void glutSolidSphere (GLdouble radius, GLint slices, GLint stacks)voidglutSolidTeapot(double scale)void glutSolidTeapot (GLdouble scale)voidglutSolidTorus(double innerRadius, double outerRadius, int nsides, int rings)void glutSolidTorus (GLdouble innerRadius, GLdouble outerRadius, GLint nsides, GLint rings)voidglutSpecialFunc(String func)voidglutSpecialUpFunc(String func)void glutSpecialUpFunc (void (*func)(unsigned char key, int x, int y))voidglutSwapBuffers(Graphics g, Applet o)voidglutSwapBuffers(Graphics g, ImageObserver o)void glutSwapBuffers ()voidglutTimerFunc(int millis, String func, int value)void glutTimerFunc (unsigned int millis, void (*func)(int value), int value)voidglutWireCone(double base, double height, int slices, int stacks)void glutWireCone (GLdouble base, GLdouble height, GLint slices, GLint stacks)voidglutWireCube(double size)void glutWireCube (GLdouble size)voidglutWireIcosahedron()void glutWireIcosahedron (void)voidglutWireSphere(double radius, int slices, int stacks)void glutWireSphere (GLdouble radius, GLint slices, GLint stacks)voidglutWireTeapot(double scale)void glutWireTeapot (GLdouble scale)voidglutWireTorus(double innerRadius, double outerRadius, int nsides, int rings)void glutWireTorus (GLdouble innerRadius, GLdouble outerRadius, GLint nsides, GLint rings)protected double[]modelToScreen(float x, float y, float z)voidprocessComponentEvent(ComponentEvent e)Process component events, i.e. events sent by theGLCanvasdisplaying the GL image generated byGL.glFlush().voidprocessEvent(AWTEvent e)GLUT window callback sub-API to handle events from canvas, mouse or keyboard.voidprocessKeyEvent(KeyEvent e)voidprocessMouseEvent(MouseEvent e)voidprocessMouseMotionEvent(MouseEvent e)Process mouse motion events.voidrun()
-
-
-
Field Detail
-
GLUT_LEFT_BUTTON
public static final int GLUT_LEFT_BUTTON
Constants of glut- See Also:
- Constant Field Values
-
GLUT_MIDDLE_BUTTON
public static final int GLUT_MIDDLE_BUTTON
- See Also:
- Constant Field Values
-
GLUT_RIGHT_BUTTON
public static final int GLUT_RIGHT_BUTTON
- See Also:
- Constant Field Values
-
GLUT_DOWN
public static final int GLUT_DOWN
- See Also:
- Constant Field Values
-
GLUT_UP
public static final int GLUT_UP
- See Also:
- Constant Field Values
-
GLUT_ACTIVE_SHIFT
public static final int GLUT_ACTIVE_SHIFT
- See Also:
- Constant Field Values
-
GLUT_ACTIVE_CTRL
public static final int GLUT_ACTIVE_CTRL
- See Also:
- Constant Field Values
-
GLUT_ACTIVE_ALT
public static final int GLUT_ACTIVE_ALT
- See Also:
- Constant Field Values
-
GLUT_KEY_F1
public static final int GLUT_KEY_F1
- See Also:
- Constant Field Values
-
GLUT_KEY_F2
public static final int GLUT_KEY_F2
- See Also:
- Constant Field Values
-
GLUT_KEY_F3
public static final int GLUT_KEY_F3
- See Also:
- Constant Field Values
-
GLUT_KEY_F4
public static final int GLUT_KEY_F4
- See Also:
- Constant Field Values
-
GLUT_KEY_F5
public static final int GLUT_KEY_F5
- See Also:
- Constant Field Values
-
GLUT_KEY_F6
public static final int GLUT_KEY_F6
- See Also:
- Constant Field Values
-
GLUT_KEY_F7
public static final int GLUT_KEY_F7
- See Also:
- Constant Field Values
-
GLUT_KEY_F8
public static final int GLUT_KEY_F8
- See Also:
- Constant Field Values
-
GLUT_KEY_F9
public static final int GLUT_KEY_F9
- See Also:
- Constant Field Values
-
GLUT_KEY_F10
public static final int GLUT_KEY_F10
- See Also:
- Constant Field Values
-
GLUT_KEY_F11
public static final int GLUT_KEY_F11
- See Also:
- Constant Field Values
-
GLUT_KEY_F12
public static final int GLUT_KEY_F12
- See Also:
- Constant Field Values
-
GLUT_KEY_LEFT
public static final int GLUT_KEY_LEFT
- See Also:
- Constant Field Values
-
GLUT_KEY_UP
public static final int GLUT_KEY_UP
- See Also:
- Constant Field Values
-
GLUT_KEY_RIGHT
public static final int GLUT_KEY_RIGHT
- See Also:
- Constant Field Values
-
GLUT_KEY_DOWN
public static final int GLUT_KEY_DOWN
- See Also:
- Constant Field Values
-
GLUT_KEY_PAGE_UP
public static final int GLUT_KEY_PAGE_UP
- See Also:
- Constant Field Values
-
GLUT_KEY_PAGE_DOWN
public static final int GLUT_KEY_PAGE_DOWN
- See Also:
- Constant Field Values
-
GLUT_KEY_HOME
public static final int GLUT_KEY_HOME
- See Also:
- Constant Field Values
-
GLUT_KEY_END
public static final int GLUT_KEY_END
- See Also:
- Constant Field Values
-
GLUT_KEY_INSERT
public static final int GLUT_KEY_INSERT
- See Also:
- Constant Field Values
-
-
Constructor Detail
-
GLUT
public GLUT(GL myGL)
-
-
Method Detail
-
glutBitmapString
public void glutBitmapString(Font font, String string, float x, float y)
Print string at the specified 2d position. This method is not following exactly the GLUT interface. Printing text in OpenGL usually requires such code :
In our case, one need to first perform model-to-screen projection to get x,y coordinates, and then call glutBitmapString.gl.glColor3f(r, g, b); gl.glRasterPos3f(x, y, z); glut.glutBitmapString(font, string);
-
glutBitmapString
public void glutBitmapString(Font font, String string, float x, float y, float z, float r, float g, float b, float rotate)
Print string at the specified 3d position. This method is not following exactly the GLUT interface. Printing text in OpenGL usually requires such code :
Here we provide a convenient function that does all in one passgl.glColor3f(r, g, b); gl.glRasterPos3f(x, y, z); glut.glutBitmapString(int font, string);
Behind the scene it makes the model-to-screen conversion and then provide all data toglut.glutBitmapString(java.awt.Font, java.lang.String, x, y, z, r, g, b);GL#appendTextToDraw(Font, String, int, int, float, float, float)that will handle the text rendering inGL.glFlush()
-
modelToScreen
protected double[] modelToScreen(float x, float y, float z)
-
getViewPortAsInt
protected int[] getViewPortAsInt()
-
getModelViewAsDouble
protected double[] getModelViewAsDouble()
-
getProjectionAsDouble
protected double[] getProjectionAsDouble()
-
auxGetGL
public GL auxGetGL()
-
auxGetGLU
public GLU auxGetGLU()
-
glutInitWindowPosition
public void glutInitWindowPosition(int x, int y)void glutInitWindowPosition (int x, int y)
-
glutInitWindowSize
public void glutInitWindowSize(int width, int height)void glutInitWindowSize (int width, int height)
-
glutMainLoop
public void glutMainLoop()
void glutMainLoop ()
-
glutCreateWindow
public void glutCreateWindow(Component o)
int glutCreateWindow (const char *title)
-
glutCreateWindow
public void glutCreateWindow(Applet o)
-
glutPostRedisplay
public void glutPostRedisplay()
void glutPostRedisplay ()
-
glutSwapBuffers
public void glutSwapBuffers(Graphics g, ImageObserver o)
void glutSwapBuffers ()
-
glutWireSphere
public void glutWireSphere(double radius, int slices, int stacks)void glutWireSphere (GLdouble radius, GLint slices, GLint stacks)
-
glutSolidSphere
public void glutSolidSphere(double radius, int slices, int stacks)void glutSolidSphere (GLdouble radius, GLint slices, GLint stacks)
-
glutWireCone
public void glutWireCone(double base, double height, int slices, int stacks)void glutWireCone (GLdouble base, GLdouble height, GLint slices, GLint stacks)
-
glutSolidCone
public void glutSolidCone(double base, double height, int slices, int stacks)void glutSolidCone (GLdouble base, GLdouble height, GLint slices, GLint stacks)
-
glutWireCube
public void glutWireCube(double size)
void glutWireCube (GLdouble size)
-
glutSolidCube
public void glutSolidCube(double size)
void glutSolidCube (GLdouble size)
-
glutWireTorus
public void glutWireTorus(double innerRadius, double outerRadius, int nsides, int rings)void glutWireTorus (GLdouble innerRadius, GLdouble outerRadius, GLint nsides, GLint rings)
-
glutSolidTorus
public void glutSolidTorus(double innerRadius, double outerRadius, int nsides, int rings)void glutSolidTorus (GLdouble innerRadius, GLdouble outerRadius, GLint nsides, GLint rings)
-
glutWireIcosahedron
public void glutWireIcosahedron()
void glutWireIcosahedron (void)
-
glutSolidIcosahedron
public void glutSolidIcosahedron()
void glutWireIcosahedron (void)
-
glutWireTeapot
public void glutWireTeapot(double scale)
void glutWireTeapot (GLdouble scale)
-
glutSolidTeapot
public void glutSolidTeapot(double scale)
void glutSolidTeapot (GLdouble scale)
-
glutCreateMenu
public int glutCreateMenu(String func)
int glutCreateMenu (void (*)(int))
-
glutDestroyMenu
public void glutDestroyMenu(int menu)
void glutDestroyMenu (int menu)
-
glutGetMenu
public int glutGetMenu()
int glutGetMenu (void)
-
glutSetMenu
public void glutSetMenu(int menu)
void glutSetMenu (int menu)
-
glutAddMenuEntry
public void glutAddMenuEntry(String label, int value)
void glutAddMenuEntry (const char *label, int value)
-
glutAddSubMenu
public void glutAddSubMenu(String label, int submenu)
void glutAddSubMenu (const char *label, int submenu)
-
glutChangeToMenuEntry
public void glutChangeToMenuEntry(int item, String label, int value)void glutChangeToMenuEntry (int item, const char *label, int value)
-
glutChangeToSubMenu
public void glutChangeToSubMenu(int item, String label, int submenu)void glutChangeToSubMenu (int item, const char *label, int submenu)
-
glutRemoveMenuItem
public void glutRemoveMenuItem(int item)
void glutRemoveMenuItem (int item)
-
glutAttachMenu
public void glutAttachMenu(int button)
void glutAttachMenu (int button)
-
glutDetachMenu
public void glutDetachMenu(int button)
void glutDetachMenu (int button)
-
processEvent
public void processEvent(AWTEvent e)
GLUT window callback sub-API to handle events from canvas, mouse or keyboard.
-
processComponentEvent
public void processComponentEvent(ComponentEvent e)
Process component events, i.e. events sent by theGLCanvasdisplaying the GL image generated byGL.glFlush(). Basically invoke {@link this#reshapeMethod} and {@link this#displayMethod} to update canvas uponComponentEvent.COMPONENT_RESIZED. Registering a reshape or display callback is done throughglut.glutCreateWindow(classInstanceProvidingDisplayAndReshapeMethod); glut.glutDisplayFunc("nameOfTheDisplayMethod"); glut.glutReshapeFunc("nameOfTheReshapeMethod");- Parameters:
e-
-
processKeyEvent
public void processKeyEvent(KeyEvent e)
-
processMouseEvent
public void processMouseEvent(MouseEvent e)
-
processMouseMotionEvent
public void processMouseMotionEvent(MouseEvent e)
Process mouse motion events. Basically invoke {@link this#motionMethod} uponMouseEvent.MOUSE_MOVEDandMouseEvent.MOUSE_DRAGGED. Registering a reshape or display callback is done throughglut.glutCreateWindow(classInstanceProvidingDisplayAndReshapeMethod); glut.glutMotionFunc("nameOfTheDisplayMethod");- Parameters:
e-
-
glutDisplayFunc
public void glutDisplayFunc(String func)
Register the name of theJavaComponentmethod that should be called upon mouse motion. This method should have no argument. void glutDisplayFunc (void (*func)(void))
-
glutReshapeFunc
public void glutReshapeFunc(String func)
Register the name of theJavaComponentmethod that should be called upon component resize events. This method should have two int as arguments. void glutReshapeFunc (void (*func)(int width, int height))
-
glutKeyboardFunc
public void glutKeyboardFunc(String func)
void glutKeyboardFunc (void (*func)(unsigned char key, int x, int y))
-
glutKeyboardUpFunc
public void glutKeyboardUpFunc(String func)
void glutKeyboardUpFunc (void (*func)(unsigned char key, int x, int y))
-
glutSpecialFunc
public void glutSpecialFunc(String func)
-
glutSpecialUpFunc
public void glutSpecialUpFunc(String func)
void glutSpecialUpFunc (void (*func)(unsigned char key, int x, int y))
-
glutMouseFunc
public void glutMouseFunc(String func)
Register the name of theJavaComponentmethod that should be called upon mouse events. This method should have four int as arguments. void glutMouseFunc (void (*func)(int button, int state, int x, int y))
-
glutMotionFunc
public void glutMotionFunc(String func)
Register the name of theJavaComponentmethod that should be called upon mouse motion. This method should have two int as arguments. void glutMotionFunc (void (*func)(int x, int y))
-
glutIdleFunc
public void glutIdleFunc(String func)
void glutIdleFunc (void (*func)(void))
-
glutTimerFunc
public void glutTimerFunc(int millis, String func, int value)void glutTimerFunc (unsigned int millis, void (*func)(int value), int value)
-
glutGetModifiers
public int glutGetModifiers()
int glutGetModifiers (void)
-
-