Quantcast
Channel: Processing Forum
Viewing all articles
Browse latest Browse all 1768

Re : Pure OpenGL 2D texture binding in processing 2.0

$
0
0
Complete code:

  1. import javax.media.opengl.GL2;
  2. import processing.opengl.Texture;
  3. import java.nio.ByteBuffer;
  4. GL2 gl;
  5. PGraphicsOpenGL pgl;
  6. PImage resource;
  7. void setup() {
  8.   size( 1280, 768, OPENGL);
  9.   pgl = (PGraphicsOpenGL) g;  // g may change
  10.   gl = pgl.beginPGL().gl.getGL2();
  11.  
  12.   resource = loadImage( "/.../texture.png" );
  13.   resource.loadPixels();
  14. }
  15. void draw() {
  16.   background( 0 );
  17.    
  18.   loadMatrix();
  19.  
  20.   pgl.beginPGL();
  21.  
  22.   gl.glTranslatef(width/2, height/2, 0);
  23.  
  24.   gl.glColor4f( 1,1,1,1 );
  25.   gl.glEnable( gl.GL_TEXTURE_2D );
  26.   gl.glBindTexture( gl.GL_TEXTURE_2D, 1 );
  27.  
  28.   float r = frameCount * 0.001f;
  29.   if ( r > 0.5f )
  30.     r = 0.5f;
  31.  
  32.   gl.glBegin( gl.GL_QUADS );
  33.     gl.glColor4f( 1,1,1,1 );
  34.     gl.glTexCoord2f( r, r );
  35.     gl.glVertex3f(-100,-100,0);
  36.     gl.glTexCoord2f( r, r*2 );
  37.     gl.glVertex3f(100,-100,0);
  38.     gl.glColor4f( 1,0,0,1 );
  39.     gl.glTexCoord2f( r*2,r*2 );
  40.     gl.glVertex3f(100,100,0);
  41.     gl.glTexCoord2f( r*2,r );
  42.     gl.glVertex3f(-100,100,0);
  43.   gl.glEnd();
  44.  
  45.   gl.glDisable( gl.GL_TEXTURE_2D );
  46.  
  47.   pgl.endPGL();
  48. }

Viewing all articles
Browse latest Browse all 1768

Trending Articles