/[gr2lib]/trunk/gr2lib/core/coretypes/implementation/Texture.cs
ViewVC logotype

Diff of /trunk/gr2lib/core/coretypes/implementation/Texture.cs

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 141 by william, Mon Jul 19 06:23:28 2010 UTC revision 142 by william, Mon Jul 19 09:17:53 2010 UTC
# Line 12  using gr2lib.core.typedefs; Line 12  using gr2lib.core.typedefs;
12    
13  namespace gr2lib.core.coretypes.implementation  namespace gr2lib.core.coretypes.implementation
14  {  {
15      public class Texture : GrannyRigParentResource, ITexture      public class Texture : ITexture
16      {      {
17          private GrannyRigResource _rigResource;          private GrannyRigResource _rigResource;
18    
# Line 30  namespace gr2lib.core.coretypes.implemen Line 30  namespace gr2lib.core.coretypes.implemen
30          {          {
31              return this.FromFileName.Name;              return this.FromFileName.Name;
32          }          }
           
33    
34          public Texture() : base("Textures")          private string _ParentResourceName;
35            protected internal string ParentResourceName { get { return "Textures"; } }
36    
37            public Texture()// : base("Textures")
38          {          {
39              this.FromFileName = "";              this.FromFileName = "";
40              this.TextureType = 0;              this.TextureType = 0;
# Line 47  namespace gr2lib.core.coretypes.implemen Line 49  namespace gr2lib.core.coretypes.implemen
49              this._rigResource = new GrannyRigResource();              this._rigResource = new GrannyRigResource();
50          }          }
51          public Texture(int index)          public Texture(int index)
             : base("Textures")  
52          {          {
53              this.FromFileName = "";              this.FromFileName = "";
54              this.TextureType = 0;              this.TextureType = 0;
# Line 62  namespace gr2lib.core.coretypes.implemen Line 63  namespace gr2lib.core.coretypes.implemen
63              this._rigResource = new GrannyRigResource();              this._rigResource = new GrannyRigResource();
64              this.Index = index;              this.Index = index;
65          }          }
66    
67            internal static native.Texture AssignToStructure(Texture texture)
68            {
69                native.Texture _texture_struct = new gr2lib.core.coretypes.native.Texture();
70    
71                _texture_struct.Encoding = texture.Encoding;
72                _texture_struct.ExtendedData = texture.ExtendedData;
73                _texture_struct.FromFileName = texture.FromFileName.FullPath;
74                _texture_struct.Height = texture.Height;
75                //_texture_struct.Images = texture.Images;
76                _texture_struct.Layout = Layout.AssignToStructure(texture.Layout);
77                _texture_struct.SubFormat = texture.SubFormat;
78                _texture_struct.TextureType = texture.TextureType;
79                _texture_struct.Width = texture.Width;
80    
81                return _texture_struct;
82            }
83    
84          internal static Texture ReadFromMemory(IntPtr pointer)          internal static Texture ReadFromMemory(IntPtr pointer)
85          {          {
86              try              try
# Line 105  namespace gr2lib.core.coretypes.implemen Line 124  namespace gr2lib.core.coretypes.implemen
124                  }                  }
125                  for (int i = 0; i < length; i++)                  for (int i = 0; i < length; i++)
126                  {                  {
127                      managed.Images[i] = Image.ReadFromMemory(images[i]);                      managed.Images[i] = Image.ReadFromMemory(images[i]);  
128                    }
129    
130                    for (int i = 0; i < managed.Images.Count; i++)
131                    {
132                        for (int j = 0; j < managed.Images[i].MIPLevels.Count; j++)
133                        {
134                            for (int k = 0; k < managed.Images[i].MIPLevels[j].Pixels.Count; k++)
135                            {
136                                managed.Images[i].MIPLevels[j].Pixels[k].ReferenceTexture = managed;
137                            }
138                        }
139                  }                  }
140    
141    
142                  managed.ExtendedData = native.ExtendedData;                  managed.ExtendedData = native.ExtendedData;
143                  return managed;                  return managed;
144              }              }

Legend:
Removed from v.141  
changed lines
  Added in v.142

  ViewVC Help
Powered by ViewVC 1.1.22