Change line 285 to:
d_material.MaterialType = irr::video::EMT_TRANSPARENT_ALPHA_CHANNEL;
This seems to work.
I also had:
Code: Select all
d_material.MaterialTypeParam = irr::video::pack_texureBlendFunc(
irr::video::EBF_SRC_ALPHA,
irr::video::EBF_ONE_MINUS_SRC_ALPHA,
irr::video::EMFN_MODULATE_1X,
irr::video::EAS_TEXTURE);
...but I don't think it's necessary.
Description for EMT_TRANSPARENT_ALPHA_CHANNEL:
//! Makes the material transparent based on the texture alpha channel.
/** The final color is blended together from the destination
color and the texture color, using the alpha channel value as
blend factor. Only first texture is used. If you are using
this material with small textures, it is a good idea to load
the texture in 32 bit mode
(video::IVideoDriver::setTextureCreationFlag()). Also, an alpha
ref is used, which can be manipulated using
SMaterial::MaterialTypeParam. This value controls how sharp the
edges become when going from a transparent to a solid spot on
the texture. */
EDIT: fix does not seem to work... must have been the heat.