|
|
@ -24,31 +24,31 @@ |
|
|
|
//
|
|
|
|
//
|
|
|
|
///**
|
|
|
|
///**
|
|
|
|
// * Render utilities
|
|
|
|
// * Render utilities
|
|
|
|
// *
|
|
|
|
// *
|
|
|
|
// * @author Ondřej Hruška (MightyPork)
|
|
|
|
// * @author Ondřej Hruška (MightyPork)
|
|
|
|
// */
|
|
|
|
// */
|
|
|
|
//@Deprecated
|
|
|
|
//@Deprecated
|
|
|
|
//public class Render {
|
|
|
|
//public class Render {
|
|
|
|
//
|
|
|
|
//
|
|
|
|
// public static final VectConst AXIS_X = Vect.make(1, 0, 0);
|
|
|
|
// public static final VectConst AXIS_X = Vect.make(1, 0, 0);
|
|
|
|
// public static final VectConst AXIS_Y = Vect.make(0, 1, 0);
|
|
|
|
// public static final VectConst AXIS_Y = Vect.make(0, 1, 0);
|
|
|
|
// public static final VectConst AXIS_Z = Vect.make(0, 0, 1);
|
|
|
|
// public static final VectConst AXIS_Z = Vect.make(0, 0, 1);
|
|
|
|
//
|
|
|
|
//
|
|
|
|
//
|
|
|
|
//
|
|
|
|
// /**
|
|
|
|
// /**
|
|
|
|
// * Bind GL color
|
|
|
|
// * Bind GL color
|
|
|
|
// *
|
|
|
|
// *
|
|
|
|
// * @param color Color color
|
|
|
|
// * @param color Color color
|
|
|
|
// */
|
|
|
|
// */
|
|
|
|
// public static void setColor(Color color)
|
|
|
|
// public static void setColor(Color color)
|
|
|
|
// {
|
|
|
|
// {
|
|
|
|
// if (color != null) glColor4d(color.r(), color.g(), color.b(), color.a());
|
|
|
|
// if (color != null) glColor4d(color.r(), color.g(), color.b(), color.a());
|
|
|
|
// }
|
|
|
|
// }
|
|
|
|
//
|
|
|
|
//
|
|
|
|
//
|
|
|
|
//
|
|
|
|
// /**
|
|
|
|
// /**
|
|
|
|
// * Bind GL color
|
|
|
|
// * Bind GL color
|
|
|
|
// *
|
|
|
|
// *
|
|
|
|
// * @param color Color color
|
|
|
|
// * @param color Color color
|
|
|
|
// * @param alpha alpha multiplier
|
|
|
|
// * @param alpha alpha multiplier
|
|
|
|
// */
|
|
|
|
// */
|
|
|
@ -56,11 +56,11 @@ |
|
|
|
// {
|
|
|
|
// {
|
|
|
|
// if (color != null) glColor4d(color.r(), color.g(), color.b(), color.a() * alpha);
|
|
|
|
// if (color != null) glColor4d(color.r(), color.g(), color.b(), color.a() * alpha);
|
|
|
|
// }
|
|
|
|
// }
|
|
|
|
//
|
|
|
|
//
|
|
|
|
//
|
|
|
|
//
|
|
|
|
// /**
|
|
|
|
// /**
|
|
|
|
// * Translate
|
|
|
|
// * Translate
|
|
|
|
// *
|
|
|
|
// *
|
|
|
|
// * @param x
|
|
|
|
// * @param x
|
|
|
|
// * @param y
|
|
|
|
// * @param y
|
|
|
|
// */
|
|
|
|
// */
|
|
|
@ -68,11 +68,11 @@ |
|
|
|
// {
|
|
|
|
// {
|
|
|
|
// glTranslated(x, y, 0);
|
|
|
|
// glTranslated(x, y, 0);
|
|
|
|
// }
|
|
|
|
// }
|
|
|
|
//
|
|
|
|
//
|
|
|
|
//
|
|
|
|
//
|
|
|
|
// /**
|
|
|
|
// /**
|
|
|
|
// * Translate
|
|
|
|
// * Translate
|
|
|
|
// *
|
|
|
|
// *
|
|
|
|
// * @param x
|
|
|
|
// * @param x
|
|
|
|
// * @param y
|
|
|
|
// * @param y
|
|
|
|
// * @param z
|
|
|
|
// * @param z
|
|
|
@ -81,33 +81,33 @@ |
|
|
|
// {
|
|
|
|
// {
|
|
|
|
// glTranslated(x, y, z);
|
|
|
|
// glTranslated(x, y, z);
|
|
|
|
// }
|
|
|
|
// }
|
|
|
|
//
|
|
|
|
//
|
|
|
|
//
|
|
|
|
//
|
|
|
|
// /**
|
|
|
|
// /**
|
|
|
|
// * Translate with coord
|
|
|
|
// * Translate with coord
|
|
|
|
// *
|
|
|
|
// *
|
|
|
|
// * @param coord coord
|
|
|
|
// * @param coord coord
|
|
|
|
// */
|
|
|
|
// */
|
|
|
|
// public static void translate(Vect coord)
|
|
|
|
// public static void translate(Vect coord)
|
|
|
|
// {
|
|
|
|
// {
|
|
|
|
// glTranslated(coord.x(), coord.y(), coord.z());
|
|
|
|
// glTranslated(coord.x(), coord.y(), coord.z());
|
|
|
|
// }
|
|
|
|
// }
|
|
|
|
//
|
|
|
|
//
|
|
|
|
//
|
|
|
|
//
|
|
|
|
// /**
|
|
|
|
// /**
|
|
|
|
// * Translate with coord, discard Z
|
|
|
|
// * Translate with coord, discard Z
|
|
|
|
// *
|
|
|
|
// *
|
|
|
|
// * @param coord coord
|
|
|
|
// * @param coord coord
|
|
|
|
// */
|
|
|
|
// */
|
|
|
|
// public static void translateXY(Vect coord)
|
|
|
|
// public static void translateXY(Vect coord)
|
|
|
|
// {
|
|
|
|
// {
|
|
|
|
// glTranslated(coord.x(), coord.y(), 0);
|
|
|
|
// glTranslated(coord.x(), coord.y(), 0);
|
|
|
|
// }
|
|
|
|
// }
|
|
|
|
//
|
|
|
|
//
|
|
|
|
//
|
|
|
|
//
|
|
|
|
// /**
|
|
|
|
// /**
|
|
|
|
// * Scale
|
|
|
|
// * Scale
|
|
|
|
// *
|
|
|
|
// *
|
|
|
|
// * @param x
|
|
|
|
// * @param x
|
|
|
|
// * @param y
|
|
|
|
// * @param y
|
|
|
|
// */
|
|
|
|
// */
|
|
|
@ -115,11 +115,11 @@ |
|
|
|
// {
|
|
|
|
// {
|
|
|
|
// glScaled(x, y, 0);
|
|
|
|
// glScaled(x, y, 0);
|
|
|
|
// }
|
|
|
|
// }
|
|
|
|
//
|
|
|
|
//
|
|
|
|
//
|
|
|
|
//
|
|
|
|
// /**
|
|
|
|
// /**
|
|
|
|
// * Scale
|
|
|
|
// * Scale
|
|
|
|
// *
|
|
|
|
// *
|
|
|
|
// * @param x
|
|
|
|
// * @param x
|
|
|
|
// * @param y
|
|
|
|
// * @param y
|
|
|
|
// * @param z
|
|
|
|
// * @param z
|
|
|
@ -128,99 +128,99 @@ |
|
|
|
// {
|
|
|
|
// {
|
|
|
|
// glScaled(x, y, z);
|
|
|
|
// glScaled(x, y, z);
|
|
|
|
// }
|
|
|
|
// }
|
|
|
|
//
|
|
|
|
//
|
|
|
|
//
|
|
|
|
//
|
|
|
|
// /**
|
|
|
|
// /**
|
|
|
|
// * Scale
|
|
|
|
// * Scale
|
|
|
|
// *
|
|
|
|
// *
|
|
|
|
// * @param factor vector of scaling factors
|
|
|
|
// * @param factor vector of scaling factors
|
|
|
|
// */
|
|
|
|
// */
|
|
|
|
// public static void scale(Vect factor)
|
|
|
|
// public static void scale(Vect factor)
|
|
|
|
// {
|
|
|
|
// {
|
|
|
|
// glScaled(factor.x(), factor.y(), factor.z());
|
|
|
|
// glScaled(factor.x(), factor.y(), factor.z());
|
|
|
|
// }
|
|
|
|
// }
|
|
|
|
//
|
|
|
|
//
|
|
|
|
//
|
|
|
|
//
|
|
|
|
// /**
|
|
|
|
// /**
|
|
|
|
// * Scale by X factor
|
|
|
|
// * Scale by X factor
|
|
|
|
// *
|
|
|
|
// *
|
|
|
|
// * @param factor scaling factor
|
|
|
|
// * @param factor scaling factor
|
|
|
|
// */
|
|
|
|
// */
|
|
|
|
// public static void scaleXY(double factor)
|
|
|
|
// public static void scaleXY(double factor)
|
|
|
|
// {
|
|
|
|
// {
|
|
|
|
// glScaled(factor, factor, 1);
|
|
|
|
// glScaled(factor, factor, 1);
|
|
|
|
// }
|
|
|
|
// }
|
|
|
|
//
|
|
|
|
//
|
|
|
|
//
|
|
|
|
//
|
|
|
|
// /**
|
|
|
|
// /**
|
|
|
|
// * Scale by X factor
|
|
|
|
// * Scale by X factor
|
|
|
|
// *
|
|
|
|
// *
|
|
|
|
// * @param factor scaling factor
|
|
|
|
// * @param factor scaling factor
|
|
|
|
// */
|
|
|
|
// */
|
|
|
|
// public static void scaleX(double factor)
|
|
|
|
// public static void scaleX(double factor)
|
|
|
|
// {
|
|
|
|
// {
|
|
|
|
// glScaled(factor, 1, 1);
|
|
|
|
// glScaled(factor, 1, 1);
|
|
|
|
// }
|
|
|
|
// }
|
|
|
|
//
|
|
|
|
//
|
|
|
|
//
|
|
|
|
//
|
|
|
|
// /**
|
|
|
|
// /**
|
|
|
|
// * Scale by Y factor
|
|
|
|
// * Scale by Y factor
|
|
|
|
// *
|
|
|
|
// *
|
|
|
|
// * @param factor scaling factor
|
|
|
|
// * @param factor scaling factor
|
|
|
|
// */
|
|
|
|
// */
|
|
|
|
// public static void scaleY(double factor)
|
|
|
|
// public static void scaleY(double factor)
|
|
|
|
// {
|
|
|
|
// {
|
|
|
|
// glScaled(1, factor, 1);
|
|
|
|
// glScaled(1, factor, 1);
|
|
|
|
// }
|
|
|
|
// }
|
|
|
|
//
|
|
|
|
//
|
|
|
|
//
|
|
|
|
//
|
|
|
|
// /**
|
|
|
|
// /**
|
|
|
|
// * Scale by Z factor
|
|
|
|
// * Scale by Z factor
|
|
|
|
// *
|
|
|
|
// *
|
|
|
|
// * @param factor scaling factor
|
|
|
|
// * @param factor scaling factor
|
|
|
|
// */
|
|
|
|
// */
|
|
|
|
// public static void scaleZ(double factor)
|
|
|
|
// public static void scaleZ(double factor)
|
|
|
|
// {
|
|
|
|
// {
|
|
|
|
// glScaled(1, 1, factor);
|
|
|
|
// glScaled(1, 1, factor);
|
|
|
|
// }
|
|
|
|
// }
|
|
|
|
//
|
|
|
|
//
|
|
|
|
//
|
|
|
|
//
|
|
|
|
// /**
|
|
|
|
// /**
|
|
|
|
// * Rotate around X axis
|
|
|
|
// * Rotate around X axis
|
|
|
|
// *
|
|
|
|
// *
|
|
|
|
// * @param angle deg
|
|
|
|
// * @param angle deg
|
|
|
|
// */
|
|
|
|
// */
|
|
|
|
// public static void rotateX(double angle)
|
|
|
|
// public static void rotateX(double angle)
|
|
|
|
// {
|
|
|
|
// {
|
|
|
|
// rotate(angle, AXIS_X);
|
|
|
|
// rotate(angle, AXIS_X);
|
|
|
|
// }
|
|
|
|
// }
|
|
|
|
//
|
|
|
|
//
|
|
|
|
//
|
|
|
|
//
|
|
|
|
// /**
|
|
|
|
// /**
|
|
|
|
// * Rotate around Y axis
|
|
|
|
// * Rotate around Y axis
|
|
|
|
// *
|
|
|
|
// *
|
|
|
|
// * @param angle deg
|
|
|
|
// * @param angle deg
|
|
|
|
// */
|
|
|
|
// */
|
|
|
|
// public static void rotateY(double angle)
|
|
|
|
// public static void rotateY(double angle)
|
|
|
|
// {
|
|
|
|
// {
|
|
|
|
// rotate(angle, AXIS_Y);
|
|
|
|
// rotate(angle, AXIS_Y);
|
|
|
|
// }
|
|
|
|
// }
|
|
|
|
//
|
|
|
|
//
|
|
|
|
//
|
|
|
|
//
|
|
|
|
// /**
|
|
|
|
// /**
|
|
|
|
// * Rotate around Z axis
|
|
|
|
// * Rotate around Z axis
|
|
|
|
// *
|
|
|
|
// *
|
|
|
|
// * @param angle deg
|
|
|
|
// * @param angle deg
|
|
|
|
// */
|
|
|
|
// */
|
|
|
|
// public static void rotateZ(double angle)
|
|
|
|
// public static void rotateZ(double angle)
|
|
|
|
// {
|
|
|
|
// {
|
|
|
|
// rotate(angle, AXIS_Z);
|
|
|
|
// rotate(angle, AXIS_Z);
|
|
|
|
// }
|
|
|
|
// }
|
|
|
|
//
|
|
|
|
//
|
|
|
|
//
|
|
|
|
//
|
|
|
|
// /**
|
|
|
|
// /**
|
|
|
|
// * Rotate
|
|
|
|
// * Rotate
|
|
|
|
// *
|
|
|
|
// *
|
|
|
|
// * @param angle rotate angle
|
|
|
|
// * @param angle rotate angle
|
|
|
|
// * @param axis rotation axis
|
|
|
|
// * @param axis rotation axis
|
|
|
|
// */
|
|
|
|
// */
|
|
|
@ -229,23 +229,23 @@ |
|
|
|
// final Vect vec = axis.norm(1);
|
|
|
|
// final Vect vec = axis.norm(1);
|
|
|
|
// glRotated(angle, vec.x(), vec.y(), vec.z());
|
|
|
|
// glRotated(angle, vec.x(), vec.y(), vec.z());
|
|
|
|
// }
|
|
|
|
// }
|
|
|
|
//
|
|
|
|
//
|
|
|
|
// private static int pushed = 0;
|
|
|
|
// private static int pushed = 0;
|
|
|
|
// /** Can be used to avoid texture binding and glBegin/glEnd in textured quads */
|
|
|
|
// /** Can be used to avoid texture binding and glBegin/glEnd in textured quads */
|
|
|
|
// public static boolean batchTexturedQuadMode;
|
|
|
|
// public static boolean batchTexturedQuadMode;
|
|
|
|
//
|
|
|
|
//
|
|
|
|
//
|
|
|
|
//
|
|
|
|
// /**
|
|
|
|
// /**
|
|
|
|
// * Store GL state
|
|
|
|
// * Store GL state
|
|
|
|
// */
|
|
|
|
// */
|
|
|
|
// public static void pushState()
|
|
|
|
// public static void pushState()
|
|
|
|
// {
|
|
|
|
// {
|
|
|
|
// pushed++;
|
|
|
|
// pushed++;
|
|
|
|
//
|
|
|
|
//
|
|
|
|
// if (pushed >= 100) {
|
|
|
|
// if (pushed >= 100) {
|
|
|
|
// Log.w("Suspicious number of state pushes: " + pushed);
|
|
|
|
// Log.w("Suspicious number of state pushes: " + pushed);
|
|
|
|
// }
|
|
|
|
// }
|
|
|
|
//
|
|
|
|
//
|
|
|
|
// GL11.glPushAttrib(GL11.GL_ALL_ATTRIB_BITS);
|
|
|
|
// GL11.glPushAttrib(GL11.GL_ALL_ATTRIB_BITS);
|
|
|
|
// GL11.glPushClientAttrib(GL11.GL_ALL_CLIENT_ATTRIB_BITS);
|
|
|
|
// GL11.glPushClientAttrib(GL11.GL_ALL_CLIENT_ATTRIB_BITS);
|
|
|
|
// GL11.glMatrixMode(GL11.GL_MODELVIEW);
|
|
|
|
// GL11.glMatrixMode(GL11.GL_MODELVIEW);
|
|
|
@ -254,8 +254,8 @@ |
|
|
|
// GL11.glPushMatrix();
|
|
|
|
// GL11.glPushMatrix();
|
|
|
|
// GL11.glMatrixMode(GL11.GL_MODELVIEW);
|
|
|
|
// GL11.glMatrixMode(GL11.GL_MODELVIEW);
|
|
|
|
// }
|
|
|
|
// }
|
|
|
|
//
|
|
|
|
//
|
|
|
|
//
|
|
|
|
//
|
|
|
|
// /**
|
|
|
|
// /**
|
|
|
|
// * Restore Gl state
|
|
|
|
// * Restore Gl state
|
|
|
|
// */
|
|
|
|
// */
|
|
|
@ -264,9 +264,9 @@ |
|
|
|
// if (pushed == 0) {
|
|
|
|
// if (pushed == 0) {
|
|
|
|
// Log.w("Pop without push.");
|
|
|
|
// Log.w("Pop without push.");
|
|
|
|
// }
|
|
|
|
// }
|
|
|
|
//
|
|
|
|
//
|
|
|
|
// pushed--;
|
|
|
|
// pushed--;
|
|
|
|
//
|
|
|
|
//
|
|
|
|
// GL11.glMatrixMode(GL11.GL_PROJECTION);
|
|
|
|
// GL11.glMatrixMode(GL11.GL_PROJECTION);
|
|
|
|
// GL11.glPopMatrix();
|
|
|
|
// GL11.glPopMatrix();
|
|
|
|
// GL11.glMatrixMode(GL11.GL_MODELVIEW);
|
|
|
|
// GL11.glMatrixMode(GL11.GL_MODELVIEW);
|
|
|
@ -274,8 +274,8 @@ |
|
|
|
// GL11.glPopClientAttrib();
|
|
|
|
// GL11.glPopClientAttrib();
|
|
|
|
// GL11.glPopAttrib();
|
|
|
|
// GL11.glPopAttrib();
|
|
|
|
// }
|
|
|
|
// }
|
|
|
|
//
|
|
|
|
//
|
|
|
|
//
|
|
|
|
//
|
|
|
|
// /**
|
|
|
|
// /**
|
|
|
|
// * Store matrix
|
|
|
|
// * Store matrix
|
|
|
|
// */
|
|
|
|
// */
|
|
|
@ -283,8 +283,8 @@ |
|
|
|
// {
|
|
|
|
// {
|
|
|
|
// GL11.glPushMatrix();
|
|
|
|
// GL11.glPushMatrix();
|
|
|
|
// }
|
|
|
|
// }
|
|
|
|
//
|
|
|
|
//
|
|
|
|
//
|
|
|
|
//
|
|
|
|
// /**
|
|
|
|
// /**
|
|
|
|
// * Restore Gl state
|
|
|
|
// * Restore Gl state
|
|
|
|
// */
|
|
|
|
// */
|
|
|
@ -292,41 +292,41 @@ |
|
|
|
// {
|
|
|
|
// {
|
|
|
|
// GL11.glPopMatrix();
|
|
|
|
// GL11.glPopMatrix();
|
|
|
|
// }
|
|
|
|
// }
|
|
|
|
//
|
|
|
|
//
|
|
|
|
//
|
|
|
|
//
|
|
|
|
// /**
|
|
|
|
// /**
|
|
|
|
// * Load texture
|
|
|
|
// * Load texture
|
|
|
|
// *
|
|
|
|
// *
|
|
|
|
// * @param resourcePath
|
|
|
|
// * @param resourcePath
|
|
|
|
// * @param filtering filtering mode to use while loading.
|
|
|
|
// * @param filtering filtering mode to use while loading.
|
|
|
|
// * @return the loaded texture
|
|
|
|
// * @return the loaded texture
|
|
|
|
// */
|
|
|
|
// */
|
|
|
|
// public synchronized static Texture loadSlickTexture(String resourcePath, FilterMode filtering)
|
|
|
|
// public synchronized static Texture loadSlickTexture(String resourcePath, FilterMode filtering)
|
|
|
|
// {
|
|
|
|
// {
|
|
|
|
//
|
|
|
|
//
|
|
|
|
// try {
|
|
|
|
// try {
|
|
|
|
//
|
|
|
|
//
|
|
|
|
// final String ext = FileUtils.getExtension(resourcePath).toUpperCase();
|
|
|
|
// final String ext = FileUtils.getExtension(resourcePath).toUpperCase();
|
|
|
|
//
|
|
|
|
//
|
|
|
|
// final Texture texture = TextureLoader.getTexture(ext, FileUtils.getResource(resourcePath), false, filtering.num);
|
|
|
|
// final Texture texture = TextureLoader.getTexture(ext, FileUtils.getResource(resourcePath), false, filtering.num);
|
|
|
|
//
|
|
|
|
//
|
|
|
|
// if (texture == null) {
|
|
|
|
// if (texture == null) {
|
|
|
|
// Log.w("Texture " + resourcePath + " could not be loaded.");
|
|
|
|
// Log.w("Texture " + resourcePath + " could not be loaded.");
|
|
|
|
// }
|
|
|
|
// }
|
|
|
|
//
|
|
|
|
//
|
|
|
|
// return texture;
|
|
|
|
// return texture;
|
|
|
|
//
|
|
|
|
//
|
|
|
|
// } catch (final IOException e) {
|
|
|
|
// } catch (final IOException e) {
|
|
|
|
// Log.e("Loading of texture " + resourcePath + " failed.", e);
|
|
|
|
// Log.e("Loading of texture " + resourcePath + " failed.", e);
|
|
|
|
// throw new RuntimeException("Could not load texture " + resourcePath + ".", e);
|
|
|
|
// throw new RuntimeException("Could not load texture " + resourcePath + ".", e);
|
|
|
|
// }
|
|
|
|
// }
|
|
|
|
//
|
|
|
|
//
|
|
|
|
// }
|
|
|
|
// }
|
|
|
|
//
|
|
|
|
//
|
|
|
|
//
|
|
|
|
//
|
|
|
|
// /**
|
|
|
|
// /**
|
|
|
|
// * Render quad 2D
|
|
|
|
// * Render quad 2D
|
|
|
|
// *
|
|
|
|
// *
|
|
|
|
// * @param rect rectangle
|
|
|
|
// * @param rect rectangle
|
|
|
|
// * @param color draw color
|
|
|
|
// * @param color draw color
|
|
|
|
// */
|
|
|
|
// */
|
|
|
@ -335,21 +335,21 @@ |
|
|
|
// setColor(color);
|
|
|
|
// setColor(color);
|
|
|
|
// quad(rect);
|
|
|
|
// quad(rect);
|
|
|
|
// }
|
|
|
|
// }
|
|
|
|
//
|
|
|
|
//
|
|
|
|
//
|
|
|
|
//
|
|
|
|
// /**
|
|
|
|
// /**
|
|
|
|
// * Render quad
|
|
|
|
// * Render quad
|
|
|
|
// *
|
|
|
|
// *
|
|
|
|
// * @param quad the quad to draw (px)
|
|
|
|
// * @param quad the quad to draw (px)
|
|
|
|
// */
|
|
|
|
// */
|
|
|
|
// public static void quad(Rect quad)
|
|
|
|
// public static void quad(Rect quad)
|
|
|
|
// {
|
|
|
|
// {
|
|
|
|
// final RectDigest q = quad.digest();
|
|
|
|
// final RectDigest q = quad.digest();
|
|
|
|
//
|
|
|
|
//
|
|
|
|
// // draw with color
|
|
|
|
// // draw with color
|
|
|
|
//
|
|
|
|
//
|
|
|
|
// glDisable(GL_TEXTURE_2D);
|
|
|
|
// glDisable(GL_TEXTURE_2D);
|
|
|
|
//
|
|
|
|
//
|
|
|
|
// // quad
|
|
|
|
// // quad
|
|
|
|
// glBegin(GL_QUADS);
|
|
|
|
// glBegin(GL_QUADS);
|
|
|
|
// glVertex2d(q.left, q.bottom);
|
|
|
|
// glVertex2d(q.left, q.bottom);
|
|
|
@ -358,11 +358,11 @@ |
|
|
|
// glVertex2d(q.left, q.top);
|
|
|
|
// glVertex2d(q.left, q.top);
|
|
|
|
// glEnd();
|
|
|
|
// glEnd();
|
|
|
|
// }
|
|
|
|
// }
|
|
|
|
//
|
|
|
|
//
|
|
|
|
//
|
|
|
|
//
|
|
|
|
// /**
|
|
|
|
// /**
|
|
|
|
// * Draw quad with horizontal gradient
|
|
|
|
// * Draw quad with horizontal gradient
|
|
|
|
// *
|
|
|
|
// *
|
|
|
|
// * @param quad drawn quad bounds
|
|
|
|
// * @param quad drawn quad bounds
|
|
|
|
// * @param color1 left color
|
|
|
|
// * @param color1 left color
|
|
|
|
// * @param color2 right color
|
|
|
|
// * @param color2 right color
|
|
|
@ -371,17 +371,17 @@ |
|
|
|
// {
|
|
|
|
// {
|
|
|
|
// quadColor(quad, color1, color2, color2, color1);
|
|
|
|
// quadColor(quad, color1, color2, color2, color1);
|
|
|
|
// }
|
|
|
|
// }
|
|
|
|
//
|
|
|
|
//
|
|
|
|
//
|
|
|
|
//
|
|
|
|
// public static void quadColor(Rect quad, Color color)
|
|
|
|
// public static void quadColor(Rect quad, Color color)
|
|
|
|
// {
|
|
|
|
// {
|
|
|
|
// quadColor(quad, color, color, color, color);
|
|
|
|
// quadColor(quad, color, color, color, color);
|
|
|
|
// }
|
|
|
|
// }
|
|
|
|
//
|
|
|
|
//
|
|
|
|
//
|
|
|
|
//
|
|
|
|
// /**
|
|
|
|
// /**
|
|
|
|
// * Draw quad with coloured vertices.
|
|
|
|
// * Draw quad with coloured vertices.
|
|
|
|
// *
|
|
|
|
// *
|
|
|
|
// * @param quad drawn quad bounds
|
|
|
|
// * @param quad drawn quad bounds
|
|
|
|
// * @param colorHMinVMin
|
|
|
|
// * @param colorHMinVMin
|
|
|
|
// * @param colorHMaxVMin
|
|
|
|
// * @param colorHMaxVMin
|
|
|
@ -391,30 +391,30 @@ |
|
|
|
// public static void quadColor(Rect quad, Color colorHMinVMin, Color colorHMaxVMin, Color colorHMaxVMax, Color colorHMinVMax)
|
|
|
|
// public static void quadColor(Rect quad, Color colorHMinVMin, Color colorHMaxVMin, Color colorHMaxVMax, Color colorHMinVMax)
|
|
|
|
// {
|
|
|
|
// {
|
|
|
|
// final RectDigest r = quad.digest();
|
|
|
|
// final RectDigest r = quad.digest();
|
|
|
|
//
|
|
|
|
//
|
|
|
|
// // draw with color
|
|
|
|
// // draw with color
|
|
|
|
//
|
|
|
|
//
|
|
|
|
// glDisable(GL_TEXTURE_2D);
|
|
|
|
// glDisable(GL_TEXTURE_2D);
|
|
|
|
//
|
|
|
|
//
|
|
|
|
// glBegin(GL_QUADS);
|
|
|
|
// glBegin(GL_QUADS);
|
|
|
|
// setColor(colorHMinVMax);
|
|
|
|
// setColor(colorHMinVMax);
|
|
|
|
// glVertex2d(r.left, r.bottom);
|
|
|
|
// glVertex2d(r.left, r.bottom);
|
|
|
|
//
|
|
|
|
//
|
|
|
|
// setColor(colorHMaxVMax);
|
|
|
|
// setColor(colorHMaxVMax);
|
|
|
|
// glVertex2d(r.right, r.bottom);
|
|
|
|
// glVertex2d(r.right, r.bottom);
|
|
|
|
//
|
|
|
|
//
|
|
|
|
// setColor(colorHMaxVMin);
|
|
|
|
// setColor(colorHMaxVMin);
|
|
|
|
// glVertex2d(r.right, r.top);
|
|
|
|
// glVertex2d(r.right, r.top);
|
|
|
|
//
|
|
|
|
//
|
|
|
|
// setColor(colorHMinVMin);
|
|
|
|
// setColor(colorHMinVMin);
|
|
|
|
// glVertex2d(r.left, r.top);
|
|
|
|
// glVertex2d(r.left, r.top);
|
|
|
|
// glEnd();
|
|
|
|
// glEnd();
|
|
|
|
// }
|
|
|
|
// }
|
|
|
|
//
|
|
|
|
//
|
|
|
|
//
|
|
|
|
//
|
|
|
|
// /**
|
|
|
|
// /**
|
|
|
|
// * Draw quad with vertical gradient
|
|
|
|
// * Draw quad with vertical gradient
|
|
|
|
// *
|
|
|
|
// *
|
|
|
|
// * @param quad drawn quad bounds
|
|
|
|
// * @param quad drawn quad bounds
|
|
|
|
// * @param color1 top color
|
|
|
|
// * @param color1 top color
|
|
|
|
// * @param color2 bottom color
|
|
|
|
// * @param color2 bottom color
|
|
|
@ -423,11 +423,11 @@ |
|
|
|
// {
|
|
|
|
// {
|
|
|
|
// quadColor(quad, color1, color1, color2, color2);
|
|
|
|
// quadColor(quad, color1, color1, color2, color2);
|
|
|
|
// }
|
|
|
|
// }
|
|
|
|
//
|
|
|
|
//
|
|
|
|
//
|
|
|
|
//
|
|
|
|
// /**
|
|
|
|
// /**
|
|
|
|
// * Render textured rect
|
|
|
|
// * Render textured rect
|
|
|
|
// *
|
|
|
|
// *
|
|
|
|
// * @param quad rectangle (px)
|
|
|
|
// * @param quad rectangle (px)
|
|
|
|
// * @param txquad texture quad
|
|
|
|
// * @param txquad texture quad
|
|
|
|
// */
|
|
|
|
// */
|
|
|
@ -435,11 +435,11 @@ |
|
|
|
// {
|
|
|
|
// {
|
|
|
|
// quadTextured(quad, txquad, RGB.WHITE);
|
|
|
|
// quadTextured(quad, txquad, RGB.WHITE);
|
|
|
|
// }
|
|
|
|
// }
|
|
|
|
//
|
|
|
|
//
|
|
|
|
//
|
|
|
|
//
|
|
|
|
// /**
|
|
|
|
// /**
|
|
|
|
// * Render textured rect
|
|
|
|
// * Render textured rect
|
|
|
|
// *
|
|
|
|
// *
|
|
|
|
// * @param quad rectangle (px)
|
|
|
|
// * @param quad rectangle (px)
|
|
|
|
// * @param txquad texture instance
|
|
|
|
// * @param txquad texture instance
|
|
|
|
// * @param tint color tint
|
|
|
|
// * @param tint color tint
|
|
|
@ -452,50 +452,50 @@ |
|
|
|
// glBegin(GL_QUADS);
|
|
|
|
// glBegin(GL_QUADS);
|
|
|
|
// setColor(tint);
|
|
|
|
// setColor(tint);
|
|
|
|
// }
|
|
|
|
// }
|
|
|
|
//
|
|
|
|
//
|
|
|
|
// final RectDigest q = quad.digest();
|
|
|
|
// final RectDigest q = quad.digest();
|
|
|
|
// final RectDigest u = txquad.uvs.digest();
|
|
|
|
// final RectDigest u = txquad.uvs.digest();
|
|
|
|
//
|
|
|
|
//
|
|
|
|
// final double offs = 0.0001;// hack to avoid white stitching
|
|
|
|
// final double offs = 0.0001;// hack to avoid white stitching
|
|
|
|
//
|
|
|
|
//
|
|
|
|
// double tL = u.left + offs, tR = u.right - offs, tT = u.top + offs, tB = u.bottom - offs;
|
|
|
|
// double tL = u.left + offs, tR = u.right - offs, tT = u.top + offs, tB = u.bottom - offs;
|
|
|
|
//
|
|
|
|
//
|
|
|
|
// // handle flip
|
|
|
|
// // handle flip
|
|
|
|
// if (txquad.isFlippedY()) {
|
|
|
|
// if (txquad.isFlippedY()) {
|
|
|
|
// final double swap = tT;
|
|
|
|
// final double swap = tT;
|
|
|
|
// tT = tB;
|
|
|
|
// tT = tB;
|
|
|
|
// tB = swap;
|
|
|
|
// tB = swap;
|
|
|
|
// }
|
|
|
|
// }
|
|
|
|
//
|
|
|
|
//
|
|
|
|
// if (txquad.isFlippedX()) {
|
|
|
|
// if (txquad.isFlippedX()) {
|
|
|
|
// final double swap = tL;
|
|
|
|
// final double swap = tL;
|
|
|
|
// tL = tR;
|
|
|
|
// tL = tR;
|
|
|
|
// tR = swap;
|
|
|
|
// tR = swap;
|
|
|
|
// }
|
|
|
|
// }
|
|
|
|
//
|
|
|
|
//
|
|
|
|
// final double w = txquad.tx.getWidth01();
|
|
|
|
// final double w = txquad.tx.getWidth01();
|
|
|
|
// final double h = txquad.tx.getHeight01();
|
|
|
|
// final double h = txquad.tx.getHeight01();
|
|
|
|
//
|
|
|
|
//
|
|
|
|
// // quad with texture
|
|
|
|
// // quad with texture
|
|
|
|
// glTexCoord2d(tL * w, tB * h);
|
|
|
|
// glTexCoord2d(tL * w, tB * h);
|
|
|
|
// glVertex2d(q.left, q.bottom);
|
|
|
|
// glVertex2d(q.left, q.bottom);
|
|
|
|
//
|
|
|
|
//
|
|
|
|
// glTexCoord2d(tR * w, tB * h);
|
|
|
|
// glTexCoord2d(tR * w, tB * h);
|
|
|
|
// glVertex2d(q.right, q.bottom);
|
|
|
|
// glVertex2d(q.right, q.bottom);
|
|
|
|
//
|
|
|
|
//
|
|
|
|
// glTexCoord2d(tR * w, tT * h);
|
|
|
|
// glTexCoord2d(tR * w, tT * h);
|
|
|
|
// glVertex2d(q.right, q.top);
|
|
|
|
// glVertex2d(q.right, q.top);
|
|
|
|
//
|
|
|
|
//
|
|
|
|
// glTexCoord2d(tL * w, tT * h);
|
|
|
|
// glTexCoord2d(tL * w, tT * h);
|
|
|
|
// glVertex2d(q.left, q.top);
|
|
|
|
// glVertex2d(q.left, q.top);
|
|
|
|
//
|
|
|
|
//
|
|
|
|
// if (!batchTexturedQuadMode) glEnd();
|
|
|
|
// if (!batchTexturedQuadMode) glEnd();
|
|
|
|
// }
|
|
|
|
// }
|
|
|
|
//
|
|
|
|
//
|
|
|
|
//
|
|
|
|
//
|
|
|
|
// /**
|
|
|
|
// /**
|
|
|
|
// * Setup Ortho projection for 2D graphics
|
|
|
|
// * Setup Ortho projection for 2D graphics
|
|
|
|
// *
|
|
|
|
// *
|
|
|
|
// * @param size viewport size (screen size)
|
|
|
|
// * @param size viewport size (screen size)
|
|
|
|
// */
|
|
|
|
// */
|
|
|
|
// public static void setupOrtho(Vect size)
|
|
|
|
// public static void setupOrtho(Vect size)
|
|
|
@ -505,35 +505,35 @@ |
|
|
|
// glLoadIdentity();
|
|
|
|
// glLoadIdentity();
|
|
|
|
// glViewport(0, 0, size.xi(), size.yi());
|
|
|
|
// glViewport(0, 0, size.xi(), size.yi());
|
|
|
|
// glOrtho(0, size.xi(), size.yi(), 0, -1000, 1000);
|
|
|
|
// glOrtho(0, size.xi(), size.yi(), 0, -1000, 1000);
|
|
|
|
//
|
|
|
|
//
|
|
|
|
// // back to modelview
|
|
|
|
// // back to modelview
|
|
|
|
// glMatrixMode(GL_MODELVIEW);
|
|
|
|
// glMatrixMode(GL_MODELVIEW);
|
|
|
|
//
|
|
|
|
//
|
|
|
|
// glLoadIdentity();
|
|
|
|
// glLoadIdentity();
|
|
|
|
//
|
|
|
|
//
|
|
|
|
// glDisable(GL_LIGHTING);
|
|
|
|
// glDisable(GL_LIGHTING);
|
|
|
|
//
|
|
|
|
//
|
|
|
|
// glClearDepth(1f);
|
|
|
|
// glClearDepth(1f);
|
|
|
|
// glEnable(GL_DEPTH_TEST);
|
|
|
|
// glEnable(GL_DEPTH_TEST);
|
|
|
|
// glDepthFunc(GL_LEQUAL);
|
|
|
|
// glDepthFunc(GL_LEQUAL);
|
|
|
|
//
|
|
|
|
//
|
|
|
|
// glEnable(GL_NORMALIZE);
|
|
|
|
// glEnable(GL_NORMALIZE);
|
|
|
|
//
|
|
|
|
//
|
|
|
|
// glShadeModel(GL_SMOOTH);
|
|
|
|
// glShadeModel(GL_SMOOTH);
|
|
|
|
//
|
|
|
|
//
|
|
|
|
// glEnable(GL_BLEND);
|
|
|
|
// glEnable(GL_BLEND);
|
|
|
|
// glBlendFunc(GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA);
|
|
|
|
// glBlendFunc(GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA);
|
|
|
|
// }
|
|
|
|
// }
|
|
|
|
//
|
|
|
|
//
|
|
|
|
//
|
|
|
|
//
|
|
|
|
// public static void enterBatchTexturedQuadMode(ITexture texture)
|
|
|
|
// public static void enterBatchTexturedQuadMode(ITexture texture)
|
|
|
|
// {
|
|
|
|
// {
|
|
|
|
// texture.bind();
|
|
|
|
// texture.bind();
|
|
|
|
// glBegin(GL11.GL_QUADS);
|
|
|
|
// glBegin(GL11.GL_QUADS);
|
|
|
|
// batchTexturedQuadMode = true;
|
|
|
|
// batchTexturedQuadMode = true;
|
|
|
|
// }
|
|
|
|
// }
|
|
|
|
//
|
|
|
|
//
|
|
|
|
//
|
|
|
|
//
|
|
|
|
// public static void leaveBatchTexturedQuadMode()
|
|
|
|
// public static void leaveBatchTexturedQuadMode()
|
|
|
|
// {
|
|
|
|
// {
|
|
|
|
// glEnd();
|
|
|
|
// glEnd();
|
|
|
|