SGL.java :  » Game » jumpnevolve » org » newdawn » slick » opengl » renderer » Java Open Source

Java Open Source » Game » jumpnevolve 
jumpnevolve » org » newdawn » slick » opengl » renderer » SGL.java
package org.newdawn.slick.opengl.renderer;

import java.nio.ByteBuffer;
import java.nio.DoubleBuffer;
import java.nio.FloatBuffer;
import java.nio.IntBuffer;

import org.lwjgl.opengl.GL11;

/**
 * The description of the OpenGL functions used Slick. Any other rendering method will
 * need to emulate these.
 * 
 * @author kevin
 */
public interface SGL {
  /** OpenGL Enum - @url http://www.opengl.org/documentation */
  public static final int GL_TEXTURE_2D = GL11.GL_TEXTURE_2D;

  /** OpenGL Enum - @url http://www.opengl.org/documentation */
  public static final int GL_RGBA = GL11.GL_RGBA;
  /** OpenGL Enum - @url http://www.opengl.org/documentation */
  public static final int GL_RGB = GL11.GL_RGB;
  /** OpenGL Enum - @url http://www.opengl.org/documentation */
  public static final int GL_UNSIGNED_BYTE = GL11.GL_UNSIGNED_BYTE;
  /** OpenGL Enum - @url http://www.opengl.org/documentation */
  public static final int GL_LINEAR = GL11.GL_LINEAR;
  /** OpenGL Enum - @url http://www.opengl.org/documentation */
  public static final int GL_NEAREST = GL11.GL_NEAREST;
  /** OpenGL Enum - @url http://www.opengl.org/documentation */
  public static final int GL_POINT_SMOOTH = GL11.GL_POINT_SMOOTH;
  /** OpenGL Enum - @url http://www.opengl.org/documentation */
  public static final int GL_POLYGON_SMOOTH = GL11.GL_POLYGON_SMOOTH;
  /** OpenGL Enum - @url http://www.opengl.org/documentation */
  public static final int GL_LINE_SMOOTH = GL11.GL_LINE_SMOOTH;
  /** OpenGL Enum - @url http://www.opengl.org/documentation */
  public static final int GL_SCISSOR_TEST = GL11.GL_SCISSOR_TEST;

  /** OpenGL Enum - @url http://www.opengl.org/documentation */
  public static final int GL_MODULATE = GL11.GL_MODULATE;
  /** OpenGL Enum - @url http://www.opengl.org/documentation */
  public static final int GL_TEXTURE_ENV = GL11.GL_TEXTURE_ENV;
  /** OpenGL Enum - @url http://www.opengl.org/documentation */
  public static final int GL_TEXTURE_ENV_MODE = GL11.GL_TEXTURE_ENV_MODE;

  /** OpenGL Enum - @url http://www.opengl.org/documentation */
  public static final int GL_QUADS = GL11.GL_QUADS;
  /** OpenGL Enum - @url http://www.opengl.org/documentation */
  public static final int GL_POINTS = GL11.GL_POINTS;
  /** OpenGL Enum - @url http://www.opengl.org/documentation */
  public static final int GL_LINES = GL11.GL_LINES;
  /** OpenGL Enum - @url http://www.opengl.org/documentation */
  public static final int GL_LINE_STRIP = GL11.GL_LINE_STRIP;
  /** OpenGL Enum - @url http://www.opengl.org/documentation */
  public static final int GL_TRIANGLES = GL11.GL_TRIANGLES;
  /** OpenGL Enum - @url http://www.opengl.org/documentation */
  public static final int GL_TRIANGLE_FAN = GL11.GL_TRIANGLE_FAN;

  /** OpenGL Enum - @url http://www.opengl.org/documentation */
  public static final int GL_SRC_ALPHA = GL11.GL_SRC_ALPHA;
  /** OpenGL Enum - @url http://www.opengl.org/documentation */
  public static final int GL_ONE = GL11.GL_ONE;
  /** OpenGL Enum - @url http://www.opengl.org/documentation */
  public static final int GL_ONE_MINUS_DST_ALPHA = GL11.GL_ONE_MINUS_DST_ALPHA;
  /** OpenGL Enum - @url http://www.opengl.org/documentation */
  public static final int GL_DST_ALPHA = GL11.GL_DST_ALPHA;
  /** OpenGL Enum - @url http://www.opengl.org/documentation */
  public static final int GL_ONE_MINUS_SRC_ALPHA = GL11.GL_ONE_MINUS_SRC_ALPHA;

  /** OpenGL Enum - @url http://www.opengl.org/documentation */
  public static final int GL_COMPILE = GL11.GL_COMPILE;
  /** OpenGL Enum - @url http://www.opengl.org/documentation */
  public static final int GL_MAX_TEXTURE_SIZE = GL11.GL_MAX_TEXTURE_SIZE;
  /** OpenGL Enum - @url http://www.opengl.org/documentation */
  public static final int GL_COLOR_BUFFER_BIT = GL11.GL_COLOR_BUFFER_BIT;
  /** OpenGL Enum - @url http://www.opengl.org/documentation */
  public static final int GL_DEPTH_BUFFER_BIT = GL11.GL_DEPTH_BUFFER_BIT;
  /** OpenGL Enum - @url http://www.opengl.org/documentation */
  public static final int GL_BLEND = GL11.GL_BLEND;
  /** OpenGL Enum - @url http://www.opengl.org/documentation */
  public static final int GL_COLOR_CLEAR_VALUE = GL11.GL_COLOR_CLEAR_VALUE;
  /** OpenGL Enum - @url http://www.opengl.org/documentation */
  public static final int GL_LINE_WIDTH = GL11.GL_LINE_WIDTH;
  /** OpenGL Enum - @url http://www.opengl.org/documentation */
  public static final int GL_CLIP_PLANE0 = GL11.GL_CLIP_PLANE0;
  /** OpenGL Enum - @url http://www.opengl.org/documentation */
  public static final int GL_CLIP_PLANE1 = GL11.GL_CLIP_PLANE1;
  /** OpenGL Enum - @url http://www.opengl.org/documentation */
  public static final int GL_CLIP_PLANE2 = GL11.GL_CLIP_PLANE2;
  /** OpenGL Enum - @url http://www.opengl.org/documentation */
  public static final int GL_CLIP_PLANE3 = GL11.GL_CLIP_PLANE3;
  
  /** OpenGL Enum - @url http://www.opengl.org/documentation */
  public static final int GL_COMPILE_AND_EXECUTE = GL11.GL_COMPILE_AND_EXECUTE;
  
  /**
   * Flush the current state of the renderer down to GL
   */
  public void flush();
  
  /**
   * Initialise the display
   * 
   * @param width The width of the display
   * @param height The height of the display
   */
  public void initDisplay(int width, int height);

  /**
   * Enter orthographic mode
   * 
   * @param xsize The size of the ortho display
   * @param ysize The size of the ortho display
   */
  public void enterOrtho(int xsize, int ysize);

  /**
   * OpenGL Method - @url http://www.opengl.org/documentation/
   * 
   * @param red
   * @param green
   * @param blue
   * @param alpha
   */
  public void glClearColor(float red, float green, float blue, float alpha);

  /**
   * OpenGL Method - @url http://www.opengl.org/documentation/
   * 
   * @param plane
   * @param buffer
   */
  public void glClipPlane(int plane, DoubleBuffer buffer);
  
  /**
   * OpenGL Method - @url http://www.opengl.org/documentation/
   * 
   * @param x
   * @param y
   * @param width
   * @param height
   */
  public void glScissor(int x, int y, int width, int height);
  
  /**
   * OpenGL Method - @url http://www.opengl.org/documentation/
   * 
   * @param width
   */
  public void glLineWidth(float width);
  
  /**
   * OpenGL Method - @url http://www.opengl.org/documentation/
   * 
   * @param value
   */
  public void glClear(int value);
  
  /**
   * OpenGL Method - @url http://www.opengl.org/documentation/
   * 
   * @param red
   * @param green
   * @param blue
   * @param alpha
   */
  public void glColorMask(boolean red, boolean green, boolean blue, boolean alpha);
  
  /**
   * OpenGL Method - @url http://www.opengl.org/documentation/
   */
  public void glLoadIdentity();
  
  /**
   * OpenGL Method - @url http://www.opengl.org/documentation/
   * 
   * @param id
   * @param ret
   */
  public void glGetInteger(int id, IntBuffer ret);
  
  /**
   * OpenGL Method - @url http://www.opengl.org/documentation/
   * 
   * @param id
   * @param ret
   */
  public void glGetFloat(int id, FloatBuffer ret);
  
  /**
   * OpenGL Method - @url http://www.opengl.org/documentation/
   * 
   * @param item
   */
  public void glEnable(int item);
  
  /**
   * OpenGL Method - @url http://www.opengl.org/documentation/
   * 
   * @param item
   */
  public void glDisable(int item);
  
  /**
   * OpenGL Method - @url http://www.opengl.org/documentation/
   * 
   * @param target
   * @param id
   */
  public void glBindTexture(int target, int id);
  
  /**
   * OpenGL Method - @url http://www.opengl.org/documentation/
   * 
   * @param target
   * @param level
   * @param format
   * @param type
   * @param pixels
   */
  public void glGetTexImage(int target, int level, int format, int type, ByteBuffer pixels);
  
  /**
   * OpenGL Method - @url http://www.opengl.org/documentation/
   * 
   * @param buffer
   */
  public void glDeleteTextures(IntBuffer buffer);

  /**
   * OpenGL Method - @url http://www.opengl.org/documentation/
   * 
   * @param r
   * @param g
   * @param b
   * @param a
   */
  public void glColor4f(float r, float g, float b, float a);
  
  /**
   * OpenGL Method - @url http://www.opengl.org/documentation/
   * 
   * @param u
   * @param v
   */
  public void glTexCoord2f(float u, float v);
  
  /**
   * OpenGL Method - @url http://www.opengl.org/documentation/
   * 
   * @param x
   * @param y
   * @param z
   */
  public void glVertex3f(float x, float y, float z);

  /**
   * OpenGL Method - @url http://www.opengl.org/documentation/
   * 
   * @param x
   * @param y
   */
  public void glVertex2f(float x, float y);
  
  /**
   * OpenGL Method - @url http://www.opengl.org/documentation/
   * 
   * @param angle
   * @param x
   * @param y
   * @param z
   */
  public void glRotatef(float angle, float x, float y, float z);
  
  /**
   * OpenGL Method - @url http://www.opengl.org/documentation/
   * 
   * @param x
   * @param y
   * @param z
   */
  public void glTranslatef(float x, float y, float z);
  
  /**
   * OpenGL Method - @url http://www.opengl.org/documentation/
   * 
   * @param geomType
   */
  public void glBegin(int geomType);
  
  /**
   * OpenGL Method - @url http://www.opengl.org/documentation/
   */
  public void glEnd();
  
  /**
   * OpenGL Method - @url http://www.opengl.org/documentation/
   * 
   * @param target
   * @param mode
   * @param value
   */
  public void glTexEnvi(int target, int mode, int value);
  
  /**
   * OpenGL Method - @url http://www.opengl.org/documentation/
   * 
   * @param size
   */
  public void glPointSize(float size);
  
  /**
   * OpenGL Method - @url http://www.opengl.org/documentation/
   * 
   * @param x
   * @param y
   * @param z
   */
  public void glScalef(float x, float y, float z);
  
  /**
   * OpenGL Method - @url http://www.opengl.org/documentation/
   */
  public void glPushMatrix();
  
  /**
   * OpenGL Method - @url http://www.opengl.org/documentation/
   */
  public void glPopMatrix();
  
  /**
   * OpenGL Method - @url http://www.opengl.org/documentation/
   * 
   * @param src
   * @param dest
   */
  public void glBlendFunc(int src, int dest);
  
  /**
   * OpenGL Method - @url http://www.opengl.org/documentation/
   * 
   * @param count
   * @return The index of the lists
   */
  public int glGenLists(int count);
  
  /**
   * OpenGL Method - @url http://www.opengl.org/documentation/
   * 
   * @param id
   * @param option
   */
  public void glNewList(int id, int option);
  
  /**
   * OpenGL Method - @url http://www.opengl.org/documentation/
   */
  public void glEndList();
  
  /**
   * OpenGL Method - @url http://www.opengl.org/documentation/
   * 
   * @param id
   */
  public void glCallList(int id);
  
  /**
   * OpenGL Method - @url http://www.opengl.org/documentation/
   * 
   * @param target
   * @param level
   * @param internalFormat
   * @param x
   * @param y
   * @param width
   * @param height
   * @param border
   */
  public void glCopyTexImage2D(int  target, int level, int internalFormat,
                     int x, int y, int width, int height, int border);
  
  /**
   * OpenGL Method - @url http://www.opengl.org/documentation/
   * 
   * @param x
   * @param y
   * @param width
   * @param height
   * @param format
   * @param type
   * @param pixels
   */
  public void glReadPixels(int x, int y, int width, int height, int format, int type,
                     ByteBuffer pixels);
  
  /**
   * OpenGL Method - @url http://www.opengl.org/documentation/
   * 
   * @param target
   * @param param
   * @param value
   */
  public void glTexParameteri(int target, int param, int value);
  
  /**
   * Get the current colour being rendered
   * 
   * @return The current colour being rendered
   */
  public float[] getCurrentColor();

  /**
   * OpenGL Method - @url http://www.opengl.org/documentation/
   * 
   * @param list
   * @param count
   */
  public void glDeleteLists(int list, int count);
  
  /**
   * OpenGL Method - @url http://www.opengl.org/documentation/
   * 
   * @param mask
   */
  public void glDepthMask(boolean mask);
  
  /**
   * OpenGL Method - @url http://www.opengl.org/documentation/
   * 
   * @param value
   */
  public void glClearDepth(float value);
  
  /**
   * OpenGL Method - @url http://www.opengl.org/documentation/
   * 
   * @param func
   */
  public void glDepthFunc(int func);
  
  /**
   * Set the scaling we'll apply to any colour binds in this renderer
   * 
   * @param alphaScale The scale to apply to any colour binds
   */
  public void setGlobalAlphaScale(float alphaScale);

  /**
   * OpenGL Method - @url http://www.opengl.org/documentation/
   * 
   * @param buffer
   */
  public void glLoadMatrix(FloatBuffer buffer);
}
java2s.com  | Contact Us | Privacy Policy
Copyright 2009 - 12 Demo Source and Support. All rights reserved.
All other trademarks are property of their respective owners.