public override Model10 Construct(TextGraphic metaResource, ContentPool content)
            {
                var fi = content.Acquire <FontImplementation>(metaResource.Font);

                var glyphs = BuildGlyphs(fi, metaResource.Anchor, metaResource.Size, metaResource.Text, out metaResource.TextHeight);

                if (glyphs == null)
                {
                    return(new Model10());
                }
                Model10 m = content.Acquire <Model10>(new GlyphsGraphic
                {
                    Glyphs = new GlyphString {
                        Glyphs = glyphs
                    },
                    Offset   = metaResource.Offset,
                    Overflow = metaResource.Overflow,
                    Position = metaResource.Position,
                    Size     = metaResource.Size,
                    Texture  = new TextureConcretizer {
                        Texture = fi
                    }
                });

                return(m);
            }
            public override Model9 Construct(MetaT metaResource, ContentPool content)
            {
                var    glyphs = metaResource.BuildGlyphs();
                Model9 m      = new Model9
                {
                    Texture = content.Acquire <SlimDX.Direct3D9.Texture>(metaResource.Texture),
                    Mesh    = content.Acquire <Mesh9>(new MeshConcretize {
                        MetaMesh = glyphs, Layout = Software.Vertex.PositionTexcoord.Instance
                    })
                };

                return(m);
            }
            public override Model9 Construct(BorderGraphic metaResource, ContentPool content)
            {
                var texture = content.Acquire <SlimDX.Direct3D9.Texture>(metaResource.Texture);
                var ld      = texture.GetLevelDescription(0);

                metaResource.Layout.TextureSize = new Vector2(ld.Width, ld.Height);
                Model9 m = new Model9();

                m.Mesh = content.Acquire <Mesh9>(new MeshConcretize {
                    MetaMesh = metaResource.Layout,
                    Layout   = Software.Vertex.PositionTexcoord.Instance
                });
                m.Texture = texture;
                return(m);
            }
            public override Model10 Construct(StretchingImageGraphic metaResource, ContentPool content)
            {
                Model10 m = new Model10();

                metaResource.square.Glyphs[0].Size = metaResource.Size;
                m.Mesh = content.Acquire <Mesh10>(new MeshConcretize {
                    MetaMesh = metaResource.square, Layout = Software.Vertex.PositionTexcoord.Instance
                });
                m.TextureShaderView = content.Acquire <SlimDX.Direct3D10.ShaderResourceView>(new TextureShaderView
                {
                    Texture =
                        content.Acquire <SlimDX.Direct3D10.Texture2D>(metaResource.Texture)
                });
                m.World = Matrix.Translation(metaResource.Position);
                return(m);
            }
            public override Model9 Construct(StretchingImageGraphic metaResource, ContentPool content)
            {
                Model9 m = new Model9();

                m.Texture = content.Acquire <SlimDX.Direct3D9.Texture>(metaResource.Texture);
                Software.Meshes.IndexedPlane plane = new Graphics.Software.Meshes.IndexedPlane();
                plane.Size     = metaResource.Size - metaResource.BorderSize * 2;
                plane.Position = Common.Math.ToVector3(metaResource.BorderSize);
                plane.UVMin    = metaResource.TextureUVMin;
                plane.UVMax    = metaResource.TextureUVMax;
                m.Mesh         = content.Acquire <Mesh9>(new MeshConcretize
                {
                    MeshDescription = plane,
                    Layout          = Software.Vertex.PositionTexcoord.Instance
                });
                return(m);
            }
            public override Model10 Construct(MetaT metaResource, ContentPool content)
            {
                var     glyphs = metaResource.BuildGlyphs();
                Model10 m      = new Model10
                {
                    TextureShaderView = content.Acquire <SlimDX.Direct3D10.ShaderResourceView>(new TextureShaderView
                    {
                        Texture =
                            content.Acquire <SlimDX.Direct3D10.Texture2D>(metaResource.Texture)
                    }),
                    Mesh = content.Acquire <Mesh10>(new MeshConcretize {
                        MetaMesh = glyphs, Layout = Software.Vertex.PositionTexcoord.Instance
                    }),
                    World = Matrix.Translation(metaResource.Position)
                };

                return(m);
            }
            public override Model9 Construct(ImageGraphic metaResource, ContentPool content)
            {
                Model9 m = new Model9();

                var tex = content.Acquire <SlimDX.Direct3D9.Texture>(metaResource.Texture);
                var sd  = tex.GetLevelDescription(0);

                var textureSize = new Vector2(sd.Width, sd.Height);
                var plane       = metaResource.GetPlane(textureSize);

                m.Texture = tex;
                m.Mesh    = content.Acquire <Mesh9>(new MeshConcretize
                {
                    MeshDescription = plane,
                    Layout          = Software.Vertex.PositionTexcoord.Instance
                });
                return(m);
            }
            public override Model10 Construct(BorderGraphic metaResource, ContentPool content)
            {
                var texture = content.Acquire <SlimDX.Direct3D10.Texture2D>(metaResource.Texture);
                var ld      = texture.Description;

                metaResource.Layout.TextureSize = new Vector2(ld.Width, ld.Height);
                Model10 m = new Model10();

                m.Mesh = content.Acquire <Mesh10>(new MeshConcretize {
                    MetaMesh = metaResource.Layout,
                    Layout   = Software.Vertex.PositionTexcoord.Instance
                });
                m.TextureShaderView = content.Acquire <SlimDX.Direct3D10.ShaderResourceView>(new TextureShaderView {
                    Texture = texture
                });
                m.World = Matrix.Translation(metaResource.Position);
                return(m);
            }
 public override T Construct(MetaT metaResource, ContentPool content)
 {
     throw new NotImplementedException("splatting not added");
     return(new T
     {
         XMesh = content.Acquire <SlimDX.Direct3D10.Mesh>(metaResource.XMesh),
         TextureShaderView =
             content.Acquire <SlimDX.Direct3D10.ShaderResourceView>(new TextureShaderView
         {
             Texture = content.Acquire <SlimDX.Direct3D10.Texture2D>(metaResource.Texture)
         }),
         World = metaResource.World,
         Visible = metaResource.Visible,
         IsBillboard = metaResource.IsBillboard,
         SkinnedMesh = content.Acquire <SkinnedMesh>(metaResource.SkinnedMesh),
         HasAlpha = metaResource.HasAlpha,
         AlphaRef = metaResource.AlphaRef,
     });
 }
            public override T Construct(MetaT metaResource, ContentPool content)
            {
                T t;

                t = new T
                {
                    XMesh       = content.Acquire <SlimDX.Direct3D9.Mesh>(metaResource.XMesh),
                    Texture     = content.Acquire <SlimDX.Direct3D9.Texture>(metaResource.Texture),
                    SkinnedMesh = content.Acquire <SkinnedMesh>(metaResource.SkinnedMesh),
                };
                if (metaResource.MaterialTexture != null)
                {
                    t.MaterialTexture = new SlimDX.Direct3D9.Texture[metaResource.MaterialTexture.Length];
                }
                if (metaResource.MaterialTexture != null)
                {
                    for (int i = 0; i < metaResource.MaterialTexture.Length; i++)
                    {
                        t.MaterialTexture[i] = content.Acquire <SlimDX.Direct3D9.Texture>(metaResource.MaterialTexture[i]);
                    }
                }

                if (metaResource.SplatTexutre != null)
                {
                    t.SplatTexture = new SlimDX.Direct3D9.Texture[metaResource.SplatTexutre.Length];
                }

                if (metaResource.SplatTexutre != null)
                {
                    for (int i = 0; i < metaResource.SplatTexutre.Length; i++)
                    {
                        t.SplatTexture[i] = content.Acquire <SlimDX.Direct3D9.Texture>(metaResource.SplatTexutre[i]);
                    }
                }

                if (metaResource.BaseTexture != null)
                {
                    t.BaseTexture = content.Acquire <SlimDX.Direct3D9.Texture>(metaResource.BaseTexture);
                }

                if (metaResource.SpecularTexture != null)
                {
                    t.SpecularTexture = content.Acquire <SlimDX.Direct3D9.Texture>(metaResource.SpecularTexture);
                }

                return(t);
            }
Esempio n. 11
0
 public void Init(Content.ContentPool content)
 {
     XMesh = content.Acquire <SlimDX.Direct3D9.Mesh>(Mesh);
 }