Java-Gaming.org    
Featured games (79)
games approved by the League of Dukes
Games in Showcase (477)
Games in Android Showcase (109)
games submitted by our members
Games in WIP (536)
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  
  Alpha Channel in a Texture  (Read 1374 times)
0 Members and 1 Guest are viewing this topic.
Offline markphodgkin

Junior Newbie





« Posted 2006-06-30 21:54:32 »

Hi,
I have a Shape3D and inside this Shape3D I have another Shape.
What I want to do is to put a texture with an alpha in the first shape3d so that I can see the other shape – the one that is inside.
I’m trying to use TextureAttributes and TransparencyAttributes but I’m not having any success.

Does anybody know how to do it??
If you know how to change the alpha channel of the texture so that I will be able to see the other shape, please tell me!!!!!!

Thanks
 
Offline Breakfast

Senior Member




for great justice!


« Reply #1 - Posted 2006-07-03 13:15:24 »

I had an absolute nightmare with this!

Hold on...

Found some code that I think did that, but it is really horrible and almost certainly filled with stuff that I put in as an experiment and never got around to taking out. It references CloudBlack.gif, which is an image that literally contains just a white cloud on a black background- the black then get's alpha'd out, as I recall.
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  
28  
29  
30  
 
Appearance apster=new Appearance();
Material bob= new Material();
bob.setEmissiveColor(0.9f, 0.9f, 0.9f);
bob.setAmbientColor(0.9f, 0.9f, 0.9f);
apster.setMaterial(bob);
   
BufferedImage bi = new BufferedImage(128, 128, BufferedImage.TYPE_BYTE_GRAY);
Graphics2D g = bi.createGraphics();
Image inImage = new ImageIcon("C:\\java3dExperiment\\cloudBlack.gif").getImage();
g.drawImage(inImage, null, null);
g.dispose();
ImageComponent2D alpha2D = new ImageComponent2D(ImageComponent2D.FORMAT_CHANNEL8, bi, true, false);
Texture2D texter=new Texture2D(Texture2D.BASE_LEVEL, Texture.ALPHA, 128, 128);        
texter.setImage(0, alpha2D);
TextureAttributes texatt=new TextureAttributes();
texatt.setTextureMode(TextureAttributes.COMBINE);
texatt.setCombineRgbMode(TextureAttributes.COMBINE_REPLACE);
texatt.setCombineAlphaMode(TextureAttributes.COMBINE_REPLACE);
texatt.setCombineRgbSource(0, TextureAttributes.COMBINE_OBJECT_COLOR);
texatt.setCombineAlphaSource(0, TextureAttributes.COMBINE_TEXTURE_COLOR);
texatt.setCombineRgbFunction(0, TextureAttributes.COMBINE_SRC_COLOR);
texatt.setCombineAlphaFunction(0, TextureAttributes.COMBINE_SRC_ALPHA);

TransparencyAttributes transp = new TransparencyAttributes();
transp.setTransparencyMode(TransparencyAttributes.BLENDED);

apster.setTexture(texter);  
apster.setTextureAttributes(texatt);
apster.setTransparencyAttributes(transp);  

This is old code, I don't recall how well it worked but probably it wasn't great- I'm mostly posting it in the hope you can get some idea of a way to go...
Offline markphodgkin

Junior Newbie





« Reply #2 - Posted 2006-07-03 19:03:30 »

Thanx for the Help!!

The result that I got is that, it doesn’t matter if your image has an alpha on it, you will have a shape with an alpha texture, meaning that your are not going to see the shape.

I had the same result using this code:

      
1  
2  
      TransparencyAttributes transAttnew TransparencyAttributes(TextureAttributes.COMBINE_REPLAXE,0.6f,TransparencyAttributes.BLEND_SRC_ALPHA,TransparencyAttributes.BLEND_SRC_ALPHA);   
     


the alpha scale 0.6f doesn't matter.

But now I was wondering if I could see the other shape (the one that is inside) just by loading an image with an alpha on it.
Let me explain better:
In the texture of the front shape I would put an image with a draw and a part o this image just with an alpha. So then I would be able to see something of  the other shape because the loaded image had an alpha on it.
Games published by our own members! Check 'em out!
Legends of Yore - The Casual Retro Roguelike
Offline Breakfast

Senior Member




for great justice!


« Reply #3 - Posted 2006-07-04 12:07:20 »

Sorry, yes, the code I gave you was a bit confusing like that, perhaps- it uses black as the alpha channel, in fact I think it's using the image in that purely as an alpha-mask with white parts of it visible and black parts invisible. It should be possible to combine with a normal texture as well, but as I said before that is fairly old code and I haven't really done any more work with it in the last few years so I can't guarantee very much about it at all!

I'm sure there are better ways to work with alpha channels by now, and hopefully someone will chip in with one any minute...
Offline Mike Jacobs

Junior Member





« Reply #4 - Posted 2006-07-05 16:04:45 »

See if this discussion helps you: http://forums.java.net/jive/thread.jspa?forumID=70&threadID=16195.

Mike

Special Effects for Java 3D games: http://www.indietechnologies.com
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.

CogWheelz (18 views)
2014-07-30 21:08:39

Riven (26 views)
2014-07-29 18:09:19

Riven (15 views)
2014-07-29 18:08:52

Dwinin (13 views)
2014-07-29 10:59:34

E.R. Fleming (34 views)
2014-07-29 03:07:13

E.R. Fleming (12 views)
2014-07-29 03:06:25

pw (43 views)
2014-07-24 01:59:36

Riven (44 views)
2014-07-23 21:16:32

Riven (30 views)
2014-07-23 21:07:15

Riven (31 views)
2014-07-23 20:56:16
List of Learning Resources
by SilverTiger
2014-07-31 18:29:50

List of Learning Resources
by SilverTiger
2014-07-31 18:26:06

List of Learning Resources
by SilverTiger
2014-07-31 13:54:12

HotSpot Options
by dleskov
2014-07-08 03:59:08

Java and Game Development Tutorials
by SwordsMiner
2014-06-14 00:58:24

Java and Game Development Tutorials
by SwordsMiner
2014-06-14 00:47:22

How do I start Java Game Development?
by ra4king
2014-05-17 11:13:37

HotSpot Options
by Roquen
2014-05-15 09:59:54
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!