Java-Gaming.org    
Featured games (78)
games approved by the League of Dukes
Games in Showcase (428)
Games in Android Showcase (89)
games submitted by our members
Games in WIP (466)
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  
  drawing 2D image  (Read 1055 times)
0 Members and 1 Guest are viewing this topic.
Offline divxdede

Junior Member





« Posted 2012-05-17 09:33:48 »

So, i have a question.

I want be able to draw an image with alpha on the screen.
I want the color fusion to be done with the current color on the buffer.

For this i fo it:
  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
    // enable SRC_OVER
   glBlendFunc(GL.GL_SRC_ALPHA, GL.GL_ONE_MINUS_SRC_ALPHA);

    // bind a translucent color for our quad
   glColor4f(0f,0f,0f,0f);

    // draw our quad with the alpha image
   glEnable(GL.GL_TEXTURE_2D );
    glBindTexture(GL.GL_TEXTURE_2D, ctx.getTexture().getTextureId() );
    glBegin(GL.GL_QUADS);
     
    glTexCoord2f( textureBounds[0].getX() , textureBounds[0].getY() );
    glVertex2f ( x , y );
     
    glTexCoord2f( textureBounds[1].getX() , textureBounds[1].getY() );
    glVertex2f( x + img.getWidth() , y );
     
    glTexCoord2f( textureBounds[2].getX() , textureBounds[2].getY() );
    glVertex2f( x + img.getWidth() , y + img.getHeight() );
     
    glTexCoord2f( textureBounds[3].getX() , textureBounds[3].getY() );
    glVertex2f(x, y + img.getHeight() );
     
   glEnd();
   glBindTexture( GL.GL_TEXTURE_2D , 0 );

   // restore previous color


With this sequence, it draw nothing. It le me thinks that the translucent color disable the quad to be visible ?

PS: with an opaque image, it's the same....  i don't undestand what it do....
Offline pitbuller
« Reply #1 - Posted 2012-05-17 11:48:24 »

Do you enable blending?
Offline divxdede

Junior Member





« Reply #2 - Posted 2012-05-17 12:19:53 »

yes using glEnable( GL.GL_BLEND );
Games published by our own members! Check 'em out!
Legends of Yore - The Casual Retro Roguelike
Offline divxdede

Junior Member





« Reply #3 - Posted 2012-05-17 12:51:32 »

If i change my translucent color by WHITE glColor4f(1f,1f,1f,1f); it works.
But i don't understant why... ? have you an idea ? it has somethings that trick me.
Offline davedes
« Reply #4 - Posted 2012-05-17 16:03:33 »

If the vertex colors are transparent black (r=0f, g=0f, b=0f, a=0f), then your image will not show. Setting the alpha component to zero would be the equivalent of rendering an image with 0% opacity (i.e. invisible). Setting it to 1.0 would be the equivalent of 100% opacity (i.e. fully visible).

Also, the red, green and blue components should be white (1.0f) unless you want to tint your image a different colour.

By this logic, if you wanted to render your image with 50% opacity:
1  
2  
glColor4f(1f, 1f, 1f, 0.5f);
//now place vertices...

Pages: [1]
  ignore  |  Print  
 
 
You cannot reply to this message, because it is very, very old.

 

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

The first screenshot will be displayed as a thumbnail.

xsi3rr4x (79 views)
2014-04-15 18:08:23

BurntPizza (70 views)
2014-04-15 03:46:01

UprightPath (82 views)
2014-04-14 17:39:50

UprightPath (66 views)
2014-04-14 17:35:47

Porlus (82 views)
2014-04-14 15:48:38

tom_mai78101 (106 views)
2014-04-10 04:04:31

BurntPizza (166 views)
2014-04-08 23:06:04

tom_mai78101 (262 views)
2014-04-05 13:34:39

trollwarrior1 (212 views)
2014-04-04 12:06:45

CJLetsGame (221 views)
2014-04-01 02:16:10
List of Learning Resources
by SHC
2014-04-18 03:17:39

List of Learning Resources
by Longarmx
2014-04-08 03:14:44

Good Examples
by matheus23
2014-04-05 13:51:37

Good Examples
by Grunnt
2014-04-03 15:48:46

Good Examples
by Grunnt
2014-04-03 15:48:37

Good Examples
by matheus23
2014-04-01 18:40:51

Good Examples
by matheus23
2014-04-01 18:40:34

Anonymous/Local/Inner class gotchas
by Roquen
2014-03-11 15:22:30
java-gaming.org is not responsible for the content posted by its members, including references to external websites, and other references that may or may not have a relation with our primarily gaming and game production oriented community. inquiries and complaints can be sent via email to the info‑account of the company managing the website of java‑gaming.org
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!