예제 #1
0
 /// <summary>
 /// Processes the scene nodes.
 /// </summary>
 /// <param name="root">The root.</param>
 /// <returns></returns>
 protected virtual ErrorCode ProcessSceneNodes(HxScene.SceneNode root)
 {
     if (root == null)
     {
         return(ErrorCode.Failed);
     }
     SceneNodes.Add(root);
     SceneNodes.AddRange(root.Items.PreorderDFT(n => { return(true); }));
     return(ErrorCode.Succeed);
 }
        public void Set(SceneNode referenceNode, IList <SceneNode> nodes, RenderContext context)
        {
            Reset();
            ReferenceNode = referenceNode;

            int numberOfNodes = nodes.Count;

            for (int i = 0; i < numberOfNodes; i++)
            {
                var node = nodes[i];
                if ((WboitFlags)node.UserFlags == WboitFlags.Transparent)
                {
                    TransparentNodes.Add(node);
                }
                else
                {
                    SceneNodes.Add(node);
                }
            }
        }