jPCT-AE - a 3d engine for Android > Support
Rendered in black with multiple texture files (jpg + png)
yjoo9317:
Hi,
my model mtl file is pointing to 2 texture files for body (.jpg) and shadow (.png) respectively.
I noticed the model is rendered in almost black. (with a little red-ish area)
If I exclude png file then it renders the model fine but obviously shadow area is also rendered with body texture.
Am I missing something here?
note: when adding png texture, I also turned on "useAlpha" parameter as well.
Also loading the model from serial file to speed up.
EgonOlsen:
How are you assigning the textures?
yjoo9317:
<mtl>
newmtl Body_White
Ka 1.000000 1.000000 1.000000
illum 1
map_Ka body.jpg
newmtl FLOOR
Kd 0.800000 0.800000 0.800000
illum 1
map_Kd floor.png
map_d floor.png
//Add texture to TextureManager
TextureManager.getInstance().addTexture(name1, new Texture(tfis1)); // for body tfis1 is FileInputStream to .jpg file
TextureManager.getInstance().addTexture(name2, new Texture(tfis2, true)); // for floor tfis2 is FileInputStream to .png file. tried both with or without alpha. neither work.
//and then Set Texture
model.setTexture(name1); // for body.jpg
model.setTexture(name2); // for floor.png
If I exclude name2 texture, then at least it can render the body fine.
EgonOlsen:
It doesn't work that way. For assigning multiple textures to one mesh, you have to rely on the auto-assignment. setTexture(...) sets the texture for the whole mesh at once. What you actually want to do, is to remove the setTexture()-calls and make sure that name1 and name2 in the addTexture()-calls match the names from the mtl-file. In case of doubt, have a look at the log output when loading the model for the exact names.
yjoo9317:
Thanks for the reply.
I removed setTexture calls and leave it doing auto-set.
I noticed that each texture was applied to the area where it was supposed to be.
But still floor texture (png file) is rendered in black..
10% of the png texture is shadow and the rest area is transparent.
That 10% (shadow) was rendered in red and the transparent area is rendered in black.
Any clue on that?
png file with transparency would cause the problem?
The reason why I am saying this,
If I switch png to jpg file instead, then it renders it at least.
But to draw the proper alpha channel, it needs to use a png file still.
Thanks.
Navigation
[0] Message Index
[#] Next page
Go to full version