The numerous techniques included with urho3D has really saved me a lot of stress and brain overloads . But there seems to be a problem with the Alpha Enabled techniques, like the DiffAlpha DiffNormalAlpha, DiffNormalSpecAlpha and most likely other techniques that have alpha included. The issue is when a material that has any of these technique is applied to an object, the alpha effect affects parts of the object that are not meant to be transparent according to the texture used. This usually happens when the object has surfaces that occlude each other. I made a model to explain this.
The model on the left is a continues mesh model, the head and the veil covering the face are joined together, the material has a technique of DiffAlpha so as to give an alpha effect to the veil while the head remains with its diffuse appearance. Looking at this model one will see the transparency defect at the side of the head due to the occluded sides showing through to the front. The model at the right is an object with two sub entities each having its own material. The material of the head has a plain Diff technique while that of the veil has DiffAlpha. Doing it this way the problem doesn’t show up, but I’m a bit concerned that this method would involve unnecessary sub entities if I were to have transparency in some of my models since I would have to separate each transparent part into its own material.
I know this issue can be corrected by writing one or two shaders , but I will like to know if there is already a work-around for it