private void Render(SceneNodeBase sceneElement, TransformEventArgs arg) { if (sceneElement != null) { mat4 parentCascadeModelMatrix = arg.ModelMatrixStack.Peek(); sceneElement.cascadeModelMatrix = sceneElement.GetModelMatrix(parentCascadeModelMatrix); arg.ModelMatrixStack.Push(sceneElement.cascadeModelMatrix); foreach (var item in sceneElement.Children) { this.Render(item, arg); } arg.ModelMatrixStack.Pop(); } }
/// <summary> /// /// </summary> /// <param name="param"></param> public override void Act(ActionParams param) { var arg = new TransformEventArgs(); this.Render(this.Scene.RootElement, arg); }
/// <summary> /// /// </summary> /// <param name="param"></param> public override void Act(ActionParams param) { var arg = new TransformEventArgs(); this.Render(this.rootNode, arg); }