Java-Gaming.org
Play Revenge of the Titans! The situation is critical. We need fancy commanders to defend Earth, the moon, Mars!
Featured games (78)
games approved by the League of Dukes
Games in Showcase (404)
games submitted by our members
Games in WIP (289)
games currently in development
News: Read the Java Gaming Resources, or peek at the official Java tutorials
 
    Home     Help   Search   Login   Register   
Pages: [1]
  ignore  |  Print  
  Why doesn't this work?  (Read 631 times)
0 Members and 1 Guest are viewing this topic.
Offline sally

Junior Member





« Posted 2004-04-23 17:43:34 »

I have created a GLCanvas with various patterns of red and blue all over it.  Purely as an exercise I attempted to read a square of pixels from a position which I chose to be 0, 100.  And the width and height of the square are 100.  I then cleared the canvas to white (that part worked) and drew the saved square into a different location on the canvas (which I chose to be 0, 200).  The result was that I ended up with a white background (as expected) and the  black square (at the correct size of 100, 100) and at the correct location of 0, 200.  The square came out at the right position and size but it should not have been black - it should have contained whatever colours were at the original location before the screen clear. Any code that could make this method do what I want would be highly appreciated.  

Sorry about the poor indentation as it got messed up somewhere in translation from one machine to another.

Regards,

Sally.


1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
    // test method which should move a square of 100 * 100 pixels to a different location
   public void movedisplay(GLDrawable drawable)
    {
// the canvas contains various colours (no black in there)    
GL gl = drawable.getGL();
      byte[] pixels = new byte[30000];  // 100 * 100 * 3 bytes (using square of 100 by 100 pixels and assuming 24 bit colour (3 bytes))

      gl.glReadPixels(0,100, 100, 100, GL.GL_COLOR_INDEX, GL.GL_BYTE, pixels);

      // clear the canvas to white
     gl.glClearColor( 1.0f, 1.1f, 1.0f, 1.0f ); //white
     gl.glClear (GL.GL_COLOR_BUFFER_BIT);

      // set new raster pos in different location
     gl.glRasterPos2d(0,200);

      // draw the original 100 x 100 square in this new raster location
     gl.glDrawPixels(100,100, GL.GL_COLOR_INDEX, GL.GL_BYTE, pixels);
    }
Pages: [1]
  ignore  |  Print  
 
 
You cannot reply to this message, because it is very, very old.

Play Revenge of the Titans! The situation is critical. We need fancy commanders to defend Earth, the moon, Mars!
 
Play Revenge of the Titans! The situation is critical. We need fancy commanders to defend Earth, the moon, Mars and Titan!

Add your game by posting it in the WIP section,
or publish it in Showcase.

The first screenshot will be displayed as a thumbnail.

The invasion has landed! On Mars! And you're there to beat 'em!
cubemaster21 (34 views)
2013-05-17 21:29:12

alaslipknot (42 views)
2013-05-16 21:24:48

gouessej (72 views)
2013-05-16 00:53:38

gouessej (71 views)
2013-05-16 00:17:58

theagentd (79 views)
2013-05-15 15:01:13

theagentd (74 views)
2013-05-15 15:00:54

StreetDoggy (116 views)
2013-05-14 15:56:26

kutucuk (139 views)
2013-05-12 17:10:36

kutucuk (140 views)
2013-05-12 15:36:09

UnluckyDevil (148 views)
2013-05-12 05:09:57
Complex number cookbook
by Roquen
2013-04-24 12:47:31

2D Dynamic Lighting
by Oskuro
2013-04-17 16:46:12

2D Dynamic Lighting
by Oskuro
2013-04-17 16:45:57

2D Dynamic Lighting
by Oskuro
2013-04-17 16:23:20

Noise (bandpassed white)
by Roquen
2013-04-05 17:36:01

Noise (bandpassed white)
by Roquen
2013-04-03 16:17:38

Java Data structures
by Roquen
2013-03-29 13:21:12

Topic Request
by kutucuk
2013-03-22 21:42:01
Powered by MySQL Powered by PHP Powered by SMF 1.1.18 | SMF © 2013, Simple Machines | Managed by Enhanced Four Valid XHTML 1.0! Valid CSS!
Page created in 0.124 seconds with 21 queries.