codeanticode.glgraphics
Class GLGraphics

java.lang.Object
  extended by PGraphicsOpenGL
      extended by codeanticode.glgraphics.GLGraphics
All Implemented Interfaces:
GLConstants

public class GLGraphics
extends PGraphicsOpenGL
implements GLConstants

This class implements a Processing renderer based on the OPENGL renderer. It accelerates rendering of OpenGL textures and adds some additional functionality such as OpenGL-based lights and blending, and VBO models.


Field Summary
 float[] currentLightSpecularGL
          Current specular color for lighting
 
Fields inherited from interface codeanticode.glgraphics.GLConstants
BACKGROUND_ALPHA, CG_CONTEXT, CG_EFFECT, CG_PROGRAM, COLOR, DOUBLE, FLOAT, FRAGMENT_PROGRAM, GEOMETRY_PROGRAM, GL_DEPTH_STENCIL, GL_DEPTH24_STENCIL8, GL_FRAME_BUFFER, GL_PIXEL_BUFFER, GL_RENDER_BUFFER, GL_TEXTURE_OBJECT, GL_UNSIGNED_INT_24_8, GL_VERTEX_BUFFER, GLGRAPHICS, GLSL_PROGRAM, GLSL_SHADER, IDENTITY_MATRIX, INVERSE_MATRIX, INVERSE_TRANSPOSE_MATRIX, LINE_ADJACENCY, LINEAR_MIPMAP_LINEAR, LINEAR_MIPMAP_NEAREST, LINEAR_SAMPLING, NEAREST_MIPMAP_LINEAR, NEAREST_MIPMAP_NEAREST, NEAREST_SAMPLING, SHADER_VAR_ARRAY, SHADER_VAR_FLOAT, SHADER_VAR_INT, SHADER_VAR_MAT2, SHADER_VAR_MAT3, SHADER_VAR_MAT4, SHADER_VAR_MODELVIEW_MAT, SHADER_VAR_MODELVIEW_PROJECTION_MAT, SHADER_VAR_PROJECTION_MAT, SHADER_VAR_TEXTURE_MAT, SHADER_VAR_TEXTURE_SAMPLER, SHADER_VAR_VEC2, SHADER_VAR_VEC3, SHADER_VAR_VEC4, TEX_BYTE, TEX_INT, TEX_NORM, TEX_ONEDIM, TEX_RECT, TRANSPOSE_MATRIX, TRIANGLE_ADJACENCY, VERTEX_PROGRAM
 
Constructor Summary
GLGraphics()
          Default constructor.
 
Method Summary
 void addWindow(GLWindow win)
          Adds a GLWindow to be handled by this renderer.
 void ambientLight(float r, float g, float b)
          Add an ambient light based on the current color mode.
 void ambientLight(float r, float g, float b, float x, float y, float z)
          Add an ambient light based on the current color mode.
 void beginDraw()
          Prepares the renderer for drawing a new frame.
 GL beginGL()
          Starts a block of direct OpenGL calls.
 void camera()
           
 void camera(float eyeX, float eyeY, float eyeZ, float centerX, float centerY, float centerZ, float upX, float upY, float upZ)
           
 void directionalLight(float r, float g, float b, float nx, float ny, float nz)
           
 void dispose()
          Frees all remaining OpenGL resources.
 void endCamera()
           
 void endDraw()
          Cleans-up the drawing of last frame and renders the GLWindows attached to this renderer.
 void endGL()
          Ends a block of direct OpenGL calls.
 void frustum(float left, float right, float bottom, float top, float near, float far)
           
 GLCapabilities getCapabilities()
          Returns the current OpenGL capabilities associated to this renderer.
static java.lang.String getVersion()
          Returns the version string of the library.
 void lightFalloff(float constant, float linear, float quadratic)
          Set the light falloff rates for the last light that was created.
 void lights()
           
 void lightSpecular(float x, float y, float z)
          Set the specular color of the last light created.
 void model(GLModel model)
           
 void model(GLModel model, float x, float y, float z, int first, int last, GLModelEffect effect)
           
 void model(GLModel model, GLModelEffect effect)
           
 void model(GLModel model, int first, int last)
           
 void model(GLModel model, int first, int last, GLModelEffect effect)
           
 float modelX(float x, float y, float z)
           
 float modelY(float x, float y, float z)
           
 float modelZ(float x, float y, float z)
           
 void noBlend()
           
 void noLights()
           
 void ortho()
           
 void ortho(float left, float right, float bottom, float top, float near, float far)
           
 void perspective()
           
 void perspective(float fov, float aspect, float near, float far)
           
 void pointLight(float r, float g, float b, float x, float y, float z)
           
 void popMatrix()
          Restores the modelview matrix saved with the last call to
 void pushMatrix()
          Saves the current modelview matrix.
 void removeWindow(GLWindow win)
          Removes a GLWindow from by this renderer.
 void restoreLights()
           
 void rotate(float angle)
           
 void rotate(float angle, float vx, float vy, float vz)
           
 void rotateX(float angle)
           
 void rotateY(float angle)
           
 void rotateZ(float angle)
           
 void saveLights()
           
 void scale(float s)
           
 void scale(float sx, float sy)
           
 void scale(float x, float y, float z)
           
 float screenX(float x, float y)
           
 float screenX(float x, float y, float z)
           
 float screenY(float x, float y)
           
 float screenY(float x, float y, float z)
           
 float screenZ(float x, float y, float z)
           
 void setBlendMode(int MODE)
           
 void setDefaultBlend()
           
 void setDepthMask(boolean value)
          Enables/disables the use of the depth mask.
 void setSize(int iwidth, int iheight)
          Sets the size of the renderer's drawing surface.
 void spotLight(float r, float g, float b, float x, float y, float z, float nx, float ny, float nz, float angle, float concentration)
           
 void translate(float tx, float ty)
           
 void translate(float tx, float ty, float tz)
           
 
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

currentLightSpecularGL

public float[] currentLightSpecularGL
Current specular color for lighting

Constructor Detail

GLGraphics

public GLGraphics()
Default constructor.

Method Detail

addWindow

public void addWindow(GLWindow win)
Adds a GLWindow to be handled by this renderer.

Parameters:
win - window object

removeWindow

public void removeWindow(GLWindow win)
Removes a GLWindow from by this renderer.

Parameters:
win - window object

getCapabilities

public GLCapabilities getCapabilities()
Returns the current OpenGL capabilities associated to this renderer.

Returns:
JOGL capabilities object

setSize

public void setSize(int iwidth,
                    int iheight)
Sets the size of the renderer's drawing surface.

Parameters:
iwidth - new width
iwidth - new height

dispose

public void dispose()
Frees all remaining OpenGL resources. Usually doesn't need to be called by the user.


beginGL

public GL beginGL()
Starts a block of direct OpenGL calls. Saves the projection and modelview matrices.


endGL

public void endGL()
Ends a block of direct OpenGL calls.


beginDraw

public void beginDraw()
Prepares the renderer for drawing a new frame.


endDraw

public void endDraw()
Cleans-up the drawing of last frame and renders the GLWindows attached to this renderer.


setDepthMask

public void setDepthMask(boolean value)
Enables/disables the use of the depth mask.

Parameters:
value - the desired state for the use of depth masking.

getVersion

public static java.lang.String getVersion()
Returns the version string of the library.

Returns:
version string

pushMatrix

public void pushMatrix()
Saves the current modelview matrix.


popMatrix

public void popMatrix()
Restores the modelview matrix saved with the last call to

See Also:
pushMatrix.

translate

public void translate(float tx,
                      float ty)

translate

public void translate(float tx,
                      float ty,
                      float tz)

rotate

public void rotate(float angle)

rotateX

public void rotateX(float angle)

rotateY

public void rotateY(float angle)

rotateZ

public void rotateZ(float angle)

rotate

public void rotate(float angle,
                   float vx,
                   float vy,
                   float vz)

scale

public void scale(float s)

scale

public void scale(float sx,
                  float sy)

scale

public void scale(float x,
                  float y,
                  float z)

lights

public void lights()

saveLights

public void saveLights()

restoreLights

public void restoreLights()

noLights

public void noLights()

ambientLight

public void ambientLight(float r,
                         float g,
                         float b)
Add an ambient light based on the current color mode.


ambientLight

public void ambientLight(float r,
                         float g,
                         float b,
                         float x,
                         float y,
                         float z)
Add an ambient light based on the current color mode. This version includes an (x, y, z) position for situations where the falloff distance is used.


directionalLight

public void directionalLight(float r,
                             float g,
                             float b,
                             float nx,
                             float ny,
                             float nz)

pointLight

public void pointLight(float r,
                       float g,
                       float b,
                       float x,
                       float y,
                       float z)

spotLight

public void spotLight(float r,
                      float g,
                      float b,
                      float x,
                      float y,
                      float z,
                      float nx,
                      float ny,
                      float nz,
                      float angle,
                      float concentration)

lightFalloff

public void lightFalloff(float constant,
                         float linear,
                         float quadratic)
Set the light falloff rates for the last light that was created. Default is lightFalloff(1, 0, 0).


lightSpecular

public void lightSpecular(float x,
                          float y,
                          float z)
Set the specular color of the last light created.


endCamera

public void endCamera()

camera

public void camera()

camera

public void camera(float eyeX,
                   float eyeY,
                   float eyeZ,
                   float centerX,
                   float centerY,
                   float centerZ,
                   float upX,
                   float upY,
                   float upZ)

ortho

public void ortho()

ortho

public void ortho(float left,
                  float right,
                  float bottom,
                  float top,
                  float near,
                  float far)

perspective

public void perspective()

perspective

public void perspective(float fov,
                        float aspect,
                        float near,
                        float far)

frustum

public void frustum(float left,
                    float right,
                    float bottom,
                    float top,
                    float near,
                    float far)

screenX

public float screenX(float x,
                     float y)

screenY

public float screenY(float x,
                     float y)

screenX

public float screenX(float x,
                     float y,
                     float z)

screenY

public float screenY(float x,
                     float y,
                     float z)

screenZ

public float screenZ(float x,
                     float y,
                     float z)

modelX

public float modelX(float x,
                    float y,
                    float z)

modelY

public float modelY(float x,
                    float y,
                    float z)

modelZ

public float modelZ(float x,
                    float y,
                    float z)

model

public void model(GLModel model)

model

public void model(GLModel model,
                  GLModelEffect effect)

model

public void model(GLModel model,
                  int first,
                  int last)

model

public void model(GLModel model,
                  int first,
                  int last,
                  GLModelEffect effect)

model

public void model(GLModel model,
                  float x,
                  float y,
                  float z,
                  int first,
                  int last,
                  GLModelEffect effect)

noBlend

public void noBlend()

setDefaultBlend

public void setDefaultBlend()

setBlendMode

public void setBlendMode(int MODE)


processing library GLGraphics by Andres Colubri. (c) 2008-2011