Creating a Texture in OpenGL ES 1.0

I have recently been learning to use OpenGL ES on Android.  I know that many devices currently support OpenGL ES 2.0, but I wanted to start with 1.0 that is supported everywhere.  To that end I will be making a series of posts that contain various bits of code that I have learned along the way that might be useful to others.

So, this is how you can create a texture in OpenGL ES 1.0:

Bitmap bitmap = BitmapFactory.decodeResource(context.getResources(),
R.drawable.item);
int[] textureIds = new int[1];
gl.glGenTextures(1, textureIds, 0);
textureId = textureIds[0];

gl.glBindTexture(GL10.GL_TEXTURE_2D, textureId);

GLUtils.texImage2D(GL10.GL_TEXTURE_2D, 0, bitmap, 0);

gl.glTexParameterf(GL10.GL_TEXTURE_2D, GL10.GL_TEXTURE_MIN_FILTER,
GL10.GL_NEAREST);

gl.glTexParameterf(GL10.GL_TEXTURE_2D, GL10.GL_TEXTURE_MAG_FILTER,
GL10.GL_LINEAR);

gl.glTexParameterf(GL10.GL_TEXTURE_2D, GL10.GL_TEXTURE_WRAP_S,
GL10.GL_CLAMP_TO_EDGE);

gl.glTexParameterf(GL10.GL_TEXTURE_2D, GL10.GL_TEXTURE_WRAP_T,
GL10.GL_CLAMP_TO_EDGE);

gl.glBindTexture(GL10.GL_TEXTURE_2D, 0);

bitmap.recycle();

You can then use the textureId to bind the texture and draw it on the OpenGLSurfaceView.

Removing jar files from your Grails war

Recently I encountered a situation where a plugin was bringing in a version of a jar file that was causing my application to misbehave.  In order to fix this issue I had to remove the errant jar file from the final build.  This is the code that you can use to do that.  You have to place this code snippet in your BuildConfig.groovy.  Hope this helps someone else.

grails.war.resources = { stagingDir ->
  delete(file:"${stagingDir}/WEB-INF/lib/<name>.jar")
}

Using awk on the Command Line to Parse Files


I needed to format a file that contained a list of words with their accompanying definitions.  I didn't need the definitions and wanted to put an 'item' tag around each word.  awk to the rescue!

The Command:

awk '{print ""$1""}' < words.xml

I have this stored in the words.xml file:


BAD something bad
BAG to put into a bag
BAH intj. expressing disgust
BAL type of shoe (balmoral)
BAM to strike with a dull sound
BAN to prohibit/Rumanian coin

After running the command, I get:

<item>BAD</item>
<item>BAG</item>
<item>BAH</item>
<item>BAL</item>
<item>BAM</item>
<item>BAN</item>

Thanks awk!