I use grass and fern minimeshes which are heavily based on transparent parts in their textures, and they alpha fade just fine. This is on an old laptop with the lowest spec graphics processor imaginable.
Hi Nicolas
It's very good indeed. Do you use shaders or you obtained this result just with built in SetFading function? Can you please share with us your code which works?
By the Way this is my code part which creates Minimeshes.
Thanx
Public Sub CreateFoliage()
mObjGrass = Scene.CreateMeshBuilder("mini_" + MyBase.Name)
mObjGrass.LoadTVM(MyBase.Model)
mObjGrass.SetScale(MyBase.Scale.X, MyBase.Scale.Y, MyBase.Scale.Z)
'Force BlendMode as special Case otherwise fading not can done
If _IsFading Then
mObjGrass.SetAlphaTest(False)
mObjGrass.SetBlendingMode(CONST_TV_BLENDINGMODE.TV_BLEND_ALPHA)
Else
mObjGrass.SetBlendingMode(MyBase.BlendMode)
mObjGrass.SetAlphaTest(MyBase.AlphaTest, MyBase.AlphaReference, True)
End If
mObjGrass.SetLightingMode(MyBase.LightMode)
'Use the grass mesh to create a minimesh system.
mObjGMini = Scene.CreateMiniMesh(10000, "Minnie")
mObjGMini.CreateFromMesh(mObjGrass, True)
'mObjGMini.SetBlendingMode(MyBase.BlendMode)
mObjGMini.SetCullMode(MyBase.CullMode)
mObjGMini.SetClamping(_IsClamping)
mObjGMini.EnableFrustumCulling(False, False, True)
'This is For disabling 000 object - which used as base - placing
mObjGrass.Enable(False)
'We must analyze this later
If _IsFading Then
MsgBox("FADING disables Alphatest/AlphaSort/ColorMode and forces blending mode into Alpha" + vbCrLf + "Thus you must use basic non transparent textured geometry if u want both good looking and fading meshs.", MsgBoxStyle.Critical)
'In case of Fading we must not use alphatesting i.e:
'we must use physical strong geometrized models instead of basic 2 cross with alphaing
mObjGMini.SetAlphaTest(False)
mObjGMini.SetAlphaSort(False)
mObjGMini.SetBlendingMode(CONST_TV_BLENDINGMODE.TV_BLEND_ALPHA) 'Just for sureness
mObjGMini.SetFadeOptions(True, _FarDistance, _StartDistance, _MaxAlphaFade)
mObjGMini.SetColorMode(False)
Else
mObjGMini.SetAlphaTest(MyBase.AlphaTest, MyBase.AlphaReference, True)
mObjGMini.SetAlphaSort(True)
mObjGMini.SetColorMode(_IsColorModeActive)
mObjGMini.SetColor(MyBase.ObjectColor.ToArgb)
End If
End Sub