void Create(StringBuilder name, int width, int height, TextureFormat format, bool renderTargetUse) { Engine.Log.AddInformation(TAG, new StringBuilder("Creating " + name)); this.Format = format; DXGIFORMAT dxFormat = (DXGIFORMAT)0; if (format == TextureFormat.RGBA) { dxFormat = DXGIFORMAT.DXGI_FORMAT_R8G8B8A8_UNORM; } Internal = new GraphicsEngineSpace._Texture2D(Engine.Device, name.ToString()); InternalTexture2D.Create(width, height, dxFormat, renderTargetUse); }
public unsafe void SetRGBData(Color32[] data) { int rowPitch; byte *p = InternalTexture2D.MapData(out rowPitch, true); int i = 0; for (int y = 0; y < Height; y++) { byte *row = p; for (int x = 0; x < Width; x++) { *row++ = data[i].R; *row++ = data[i].G; *row++ = data[i].B; *row++ = data[i].A; i++; } p += rowPitch; } InternalTexture2D.Unmap(true); }
public unsafe void GetRGBData(Color32[] data) { int rowPitch; byte *p = InternalTexture2D.MapData(out rowPitch, false); int i = 0; for (int y = 0; y < Height; y++) { byte *row = p; for (int x = 0; x < Width; x++) { byte r = *row++; byte g = *row++; byte b = *row++; byte a = *row++; data[i++] = new Color32(r, g, b, a); } p += rowPitch; } InternalTexture2D.Unmap(); }
public void Save(string fullPath) { InternalTexture2D.Save(fullPath); }
internal void LoadFromFile() { InternalTexture2D.LoadFromFile(FullPath.ToString()); }