Exemplo n.º 1
0
            public Light(Scene _Owner, FBX.Scene.Nodes.Node _Node) : base(_Owner, _Node)
            {
                FBX.Scene.Nodes.Light _Light = _Node as FBX.Scene.Nodes.Light;

                m_LightType = (LIGHT_TYPE)_Light.Type;
                m_Color.FromVector3(_Light.Color);
                m_Intensity = _Light.Intensity;
                m_HotSpot   = _Light.HotSpot;
                m_ConeAngle = _Light.ConeAngle;
            }
Exemplo n.º 2
0
            public Mesh(Scene _Owner, FBX.Scene.Nodes.Node _Node) : base(_Owner, _Node)
            {
                FBX.Scene.Nodes.Mesh _Mesh = _Node as FBX.Scene.Nodes.Mesh;
                m_Primitives = new Primitive[_Mesh.PrimitivesCount];
                int PrimitiveIndex = 0;

                foreach (FBX.Scene.Nodes.Mesh.Primitive SourcePrimitive in _Mesh.Primitives)
                {
                    m_Primitives[PrimitiveIndex++] = new Primitive(this, SourcePrimitive);
                }
            }
Exemplo n.º 3
0
            public Node(Scene _Owner, FBX.Scene.Nodes.Node _Node)
            {
                m_Owner = _Owner;
                m_Owner.m_Nodes.Add(this);

                if (_Node is FBX.Scene.Nodes.Mesh)
                {
                    m_Type = TYPE.MESH;
                }
                else if (_Node is FBX.Scene.Nodes.Camera)
                {
                    m_Type = TYPE.CAMERA;
                }
                else if (_Node is FBX.Scene.Nodes.Light)
                {
                    m_Type = TYPE.LIGHT;
                }
                else
                {
                    // Isolate locators as probes
                    if (_Node.Name.ToLower().IndexOf("locator") != -1)
                    {
                        m_Type = TYPE.PROBE;
                    }
                }

                m_Local2Parent.FromMatrix4(_Node.Local2Parent);

                // Build children
                FBX.Scene.Nodes.Node[] Children = _Node.Children;
                m_Children = new Node[Children.Length];
                for (int ChildIndex = 0; ChildIndex < Children.Length; ChildIndex++)
                {
                    FBX.Scene.Nodes.Node SourceChild = Children[ChildIndex];
                    Node Child = null;
                    switch (SourceChild.NodeType)
                    {
                    case FBX.Scene.Nodes.Node.NODE_TYPE.NODE:       Child = new Node(_Owner, SourceChild); break;

                    case FBX.Scene.Nodes.Node.NODE_TYPE.LIGHT:      Child = new Light(_Owner, SourceChild); break;

                    case FBX.Scene.Nodes.Node.NODE_TYPE.CAMERA:     Child = new Camera(_Owner, SourceChild); break;

                    case FBX.Scene.Nodes.Node.NODE_TYPE.MESH:       Child = new Mesh(_Owner, SourceChild); break;
                    }
                    m_Children[ChildIndex] = Child;
                }
            }
Exemplo n.º 4
0
 public Camera(Scene _Owner, FBX.Scene.Nodes.Node _Node) : base(_Owner, _Node)
 {
     FBX.Scene.Nodes.Camera _Camera = _Node as FBX.Scene.Nodes.Camera;
     m_FOV = _Camera.FOV;
 }