public void Add(Scene.SceneGraph graph) { AddMediaFromNode(graph.Root); var ge = new VirtualEntry(); ge.Path = "VirtualFile"; ge.Name = graph.Root.Name; var ms = new MemoryStream(1024 * 1024); BinaryWriter w = new BinaryWriter(ms); graph.WriteGraph(w); var wd = new byte[ms.Position]; ms.Seek(0, SeekOrigin.Begin); ms.Read(wd, 0, wd.Length); Console.WriteLine("GraphSize:" + wd.Length + " bytes."); ge.RawData = wd; ge.Size = wd.Length; ms.Flush(); w.Flush(); ms.Dispose(); ge.Loaded = true; ge.Compressed = false; Enteries.Add(ge); }
public Scene.SceneGraph GetGraph(string name) { Console.WriteLine("Searching for graph:" + name); foreach (var e in Enteries) { Console.WriteLine("E:" + e.Name + " Start:" + e.Start + " Size:" + e.Size + " P:" + e.Path); if (e.Name == name) { Console.WriteLine("Found Graph:" + name); var ng = new Scene.SceneGraph(); Load(e); var ms = new MemoryStream(e.RawData); BinaryReader r = new BinaryReader(ms); // Console.WriteLine("Reading Graph."); ng.ReadGraph(r); // Console.WriteLine("Read."); ms.Close(); r = null; ms = null; LinkGraphImg(ng.Root); return(ng); } } return(null); }
public override void Render() { Scene.SceneGraph g = VFX.VisualFX.Graph; int sw = Vivid.App.VividApp.W; int sh = Vivid.App.VividApp.H; float[] ox = new float[4]; float[] oy = new float[4]; ox[0] = (-W / 2); // * Graph.Z * Z; ox[1] = (W / 2); // * Graph.Z * Z; ox[2] = (W / 2); // * Graph.Z* Z ; ox[3] = (-W / 2); // *Graph.Z*Z; oy[0] = (-H / 2); // * Graph.Z*Z; oy[1] = (-H / 2); // *Graph.Z*Z; oy[2] = (H / 2); // * Graph.Z * Z; oy[3] = (H / 2); // * Graph.Z * Z; Vector2[] p = Maths.RotateOC(ox, oy, Rot, Z, 0, 0); p = Maths.Push(p, X - g.X, Y - g.Y); p = Maths.RotateOC(p, g.Rot, g.Z, 0, 0); p = Maths.Push(p, sw / 2, sh / 2); Draw.Render.SetBlend(Draw.BlendMode.SoftLight); Draw.Render.Col = new Vector4(1, 1, 1, Alpha); Draw.Render.Image(p, Img); /* * p = Maths.Rotate(p, Rot, 1.0f); * * p = Maths.Push(p, X, Y); * * Draw.Render.SetBlend(Draw.BlendMode.SoftLight); * * Draw.Render.Col = new Vector4(1, 1, 1, Alpha); * * Draw.Render.Image(p, Img); */ //Console.WriteLine("X:" + X + " Y:" + Y + " Z:" + Z); // Console.WriteLine("W" + W + " H:" + H); }