/// <summary>
/// Set up the rendering for a tree type. Should be called once per tree type(master trees).
/// </summary>
public int SetupRenderMaterial(Material mat, bool setPosition)
{
int index = 0;
if (meterRenderingOfTrees)
{
loadMaterialMeter.Enter();
}
// mvsm.SetTreeRenderPass() is a special version of SetPass() that just sets the stuff we need for tree rendering
Pass usedPass = ((Axiom.SceneManagers.Multiverse.SceneManager)TerrainManager.Instance.SceneManager).SetTreeRenderPass(mat.GetBestTechnique(0).GetPass(0), forest);
if ( setPosition && usedPass.HasVertexProgram )
{
index = usedPass.VertexProgramParameters.GetParamIndex("g_vTreePosition");
}
if (meterRenderingOfTrees)
{
loadMaterialMeter.Exit();
}
return index;
}