Hi !
Featured games (90)
games approved by the League of Dukes
Games in Showcase (684)
Games in Android Showcase (196)
games submitted by our members
Games in WIP (751)
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 1747 times)
0 Members and 1 Guest are viewing this topic.
Offline markphodgkin

Junior Newbie

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

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!!!!!!

Offline Breakfast

Senior Devvie

for great justice!

« Reply #1 - Posted 2006-07-03 11: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.
Appearance apster=new Appearance();
Material bob= new Material();
bob.setEmissiveColor(0.9f, 0.9f, 0.9f);
bob.setAmbientColor(0.9f, 0.9f, 0.9f);
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);
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.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();


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 17: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:

      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 Devvie

for great justice!

« Reply #3 - Posted 2006-07-04 10: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 Devvie

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

See if this discussion helps you:


Special Effects for Java 3D games:
Pages: [1]
  ignore  |  Print  
You cannot reply to this message, because it is very, very old.

orrenravid (228 views)
2016-07-16 03:57:23

theagentd (298 views)
2016-07-11 14:28:54

Hydroque (383 views)
2016-07-06 05:56:57

Hydroque (536 views)
2016-07-03 08:52:54

GrandCastle (404 views)
2016-07-01 09:13:47

GrandCastle (399 views)
2016-07-01 09:09:45

CopyableCougar4 (451 views)
2016-06-25 16:56:52

Hydroque (422 views)
2016-06-22 02:17:53

SwampChicken (387 views)
2016-06-20 13:22:57

SwampChicken (306 views)
2016-06-20 13:22:49
Making a Dynamic Plugin System
by Hydroque
2016-06-25 00:13:25

Java Data structures
by BinaryMonkL
2016-06-13 21:22:09

Java Data structures
by BinaryMonkL
2016-06-13 21:20:42

FPS Camera Tutorial
by Hydroque
2016-05-22 05:40:58

Website offering 3D Models specifically for games for free
by vusman
2016-05-18 17:23:09

Website offering 3D Models specifically for games for free
by vusman
2016-05-09 08:50:56

Website offering 3D Models specifically for games for free
by vusman
2016-05-06 11:10:21

Website offering 3D Models specifically for games for free
by vusman
2016-04-29 12:56:17 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‑
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!