Renamed texture members to more appropriate ones

This commit is contained in:
Flamefire committed 2013-05-13 18:56:13 +02:00
1 parent 292f6119fd
commit cdad90a93d
4 files changed
+71 -71

No files matched your search

+22 -22
View File
@@ -678,8 +678,8 @@ namespace Vocaluxe.Lib.Draw
backbufferSurface.Dispose(); backbufferSurface.Dispose();
lock (_MutexTexture) lock (_MutexTexture)
{ {
texture.Index = _IDs.Dequeue(); texture.ID = _IDs.Dequeue();
_D3DTextures.Add(texture.Index, tex); _D3DTextures.Add(texture.ID, tex);
return texture; return texture;
} }
@@ -700,7 +700,7 @@ namespace Vocaluxe.Lib.Draw
else else
{ {
Surface backbufferSurface = _Device.GetBackBuffer(0, 0); Surface backbufferSurface = _Device.GetBackBuffer(0, 0);
Surface textureSurface = _D3DTextures[texture.Index].GetSurfaceLevel(0); Surface textureSurface = _D3DTextures[texture.ID].GetSurfaceLevel(0);
Surface.FromSurface(textureSurface, backbufferSurface, Filter.Default, 0); Surface.FromSurface(textureSurface, backbufferSurface, Filter.Default, 0);
} }
} }
@@ -894,8 +894,8 @@ namespace Vocaluxe.Lib.Draw
lock (_MutexTexture) lock (_MutexTexture)
{ {
texture.Index = _IDs.Dequeue(); texture.ID = _IDs.Dequeue();
_D3DTextures.Add(texture.Index, t); _D3DTextures.Add(texture.ID, t);
} }
return texture; return texture;
} }
@@ -935,9 +935,9 @@ namespace Vocaluxe.Lib.Draw
lock (_MutexTexture) lock (_MutexTexture)
{ {
texture.Index = _IDs.Dequeue(); texture.ID = _IDs.Dequeue();
_D3DTextures.Add(texture.Index, null); _D3DTextures.Add(texture.ID, null);
STextureQueue queue = new STextureQueue(texture.Index, texture.W2, texture.H2, w, h, data); STextureQueue queue = new STextureQueue(texture.ID, texture.W2, texture.H2, w, h, data);
_Queue.Add(queue); _Queue.Add(queue);
} }
return texture; return texture;
@@ -965,7 +965,7 @@ namespace Vocaluxe.Lib.Draw
return false; return false;
lock (_MutexTexture) lock (_MutexTexture)
{ {
_WriteDataToTexture(_D3DTextures[texture.Index], w, data); _WriteDataToTexture(_D3DTextures[texture.ID], w, data);
} }
return true; return true;
} }
@@ -990,7 +990,7 @@ namespace Vocaluxe.Lib.Draw
{ {
lock (_MutexTexture) lock (_MutexTexture)
{ {
return texture != null && _D3DTextures.ContainsKey(texture.Index); return texture != null && _D3DTextures.ContainsKey(texture.ID);
} }
} }
@@ -1004,9 +1004,9 @@ namespace Vocaluxe.Lib.Draw
{ {
lock (_MutexTexture) lock (_MutexTexture)
{ {
_D3DTextures[texture.Index].Dispose(); _D3DTextures[texture.ID].Dispose();
_D3DTextures.Remove(texture.Index); _D3DTextures.Remove(texture.ID);
_IDs.Enqueue(texture.Index); _IDs.Enqueue(texture.ID);
} }
} }
texture = null; texture = null;
@@ -1060,7 +1060,7 @@ namespace Vocaluxe.Lib.Draw
{ {
if (!_TextureExists(texture)) if (!_TextureExists(texture))
return; return;
if (_D3DTextures[texture.Index] == null) if (_D3DTextures[texture.ID] == null)
return; return;
//Calculate the position //Calculate the position
@@ -1125,7 +1125,7 @@ namespace Vocaluxe.Lib.Draw
vert[1] = new STexturedColoredVertex(new Vector3(rx1, -ry2, rect.Z + CGraphics.ZOffset), new Vector2(x1, y2), c.ToArgb()); vert[1] = new STexturedColoredVertex(new Vector3(rx1, -ry2, rect.Z + CGraphics.ZOffset), new Vector2(x1, y2), c.ToArgb());
vert[2] = new STexturedColoredVertex(new Vector3(rx2, -ry2, rect.Z + CGraphics.ZOffset), new Vector2(x2, y2), c.ToArgb()); vert[2] = new STexturedColoredVertex(new Vector3(rx2, -ry2, rect.Z + CGraphics.ZOffset), new Vector2(x2, y2), c.ToArgb());
vert[3] = new STexturedColoredVertex(new Vector3(rx2, -ry1, rect.Z + CGraphics.ZOffset), new Vector2(x2, y1), c.ToArgb()); vert[3] = new STexturedColoredVertex(new Vector3(rx2, -ry1, rect.Z + CGraphics.ZOffset), new Vector2(x2, y1), c.ToArgb());
_AddToVertexBuffer(vert, _D3DTextures[texture.Index], _CalculateRotationMatrix(rect.Rotation, rx1, rx2, ry1, ry2)); _AddToVertexBuffer(vert, _D3DTextures[texture.ID], _CalculateRotationMatrix(rect.Rotation, rx1, rx2, ry1, ry2));
} }
else else
{ {
@@ -1134,7 +1134,7 @@ namespace Vocaluxe.Lib.Draw
vert[1] = new STexturedColoredVertex(new Vector3(rx1, -ry2, rect.Z + CGraphics.ZOffset), new Vector2(x1, -y2), c.ToArgb()); vert[1] = new STexturedColoredVertex(new Vector3(rx1, -ry2, rect.Z + CGraphics.ZOffset), new Vector2(x1, -y2), c.ToArgb());
vert[2] = new STexturedColoredVertex(new Vector3(rx2, -ry2, rect.Z + CGraphics.ZOffset), new Vector2(x2, -y2), c.ToArgb()); vert[2] = new STexturedColoredVertex(new Vector3(rx2, -ry2, rect.Z + CGraphics.ZOffset), new Vector2(x2, -y2), c.ToArgb());
vert[3] = new STexturedColoredVertex(new Vector3(rx2, -ry1, rect.Z + CGraphics.ZOffset), new Vector2(x2, -y1), c.ToArgb()); vert[3] = new STexturedColoredVertex(new Vector3(rx2, -ry1, rect.Z + CGraphics.ZOffset), new Vector2(x2, -y1), c.ToArgb());
_AddToVertexBuffer(vert, _D3DTextures[texture.Index], _CalculateRotationMatrix(rect.Rotation, rx1, rx2, ry1, ry2)); _AddToVertexBuffer(vert, _D3DTextures[texture.ID], _CalculateRotationMatrix(rect.Rotation, rx1, rx2, ry1, ry2));
} }
} }
@@ -1150,7 +1150,7 @@ namespace Vocaluxe.Lib.Draw
{ {
if (!_TextureExists(texture)) if (!_TextureExists(texture))
return; return;
if (_D3DTextures[texture.Index] == null) if (_D3DTextures[texture.ID] == null)
return; return;
float x1 = 0f + begin * texture.WidthRatio; float x1 = 0f + begin * texture.WidthRatio;
@@ -1178,7 +1178,7 @@ namespace Vocaluxe.Lib.Draw
vert[1] = new STexturedColoredVertex(new Vector3(rx1, -ry2, rect.Z + CGraphics.ZOffset), new Vector2(x1, y2), c.ToArgb()); vert[1] = new STexturedColoredVertex(new Vector3(rx1, -ry2, rect.Z + CGraphics.ZOffset), new Vector2(x1, y2), c.ToArgb());
vert[2] = new STexturedColoredVertex(new Vector3(rx2, -ry2, rect.Z + CGraphics.ZOffset), new Vector2(x2, y2), c.ToArgb()); vert[2] = new STexturedColoredVertex(new Vector3(rx2, -ry2, rect.Z + CGraphics.ZOffset), new Vector2(x2, y2), c.ToArgb());
vert[3] = new STexturedColoredVertex(new Vector3(rx2, -ry1, rect.Z + CGraphics.ZOffset), new Vector2(x2, y1), c.ToArgb()); vert[3] = new STexturedColoredVertex(new Vector3(rx2, -ry1, rect.Z + CGraphics.ZOffset), new Vector2(x2, y1), c.ToArgb());
_AddToVertexBuffer(vert, _D3DTextures[texture.Index], _CalculateRotationMatrix(rect.Rotation, rx1, rx2, ry1, ry2)); _AddToVertexBuffer(vert, _D3DTextures[texture.ID], _CalculateRotationMatrix(rect.Rotation, rx1, rx2, ry1, ry2));
} }
/// <summary> /// <summary>
@@ -1194,7 +1194,7 @@ namespace Vocaluxe.Lib.Draw
{ {
if (!_TextureExists(texture)) if (!_TextureExists(texture))
return; return;
if (_D3DTextures[texture.Index] == null) if (_D3DTextures[texture.ID] == null)
return; return;
if (Math.Abs(rect.W) < float.Epsilon || Math.Abs(rect.H) < float.Epsilon || Math.Abs(bounds.H) < float.Epsilon || Math.Abs(bounds.W) < float.Epsilon || if (Math.Abs(rect.W) < float.Epsilon || Math.Abs(rect.H) < float.Epsilon || Math.Abs(bounds.H) < float.Epsilon || Math.Abs(bounds.W) < float.Epsilon ||
@@ -1261,7 +1261,7 @@ namespace Vocaluxe.Lib.Draw
vert[1] = new STexturedColoredVertex(new Vector3(rx1, -ry2, rect.Z + CGraphics.ZOffset), new Vector2(x1, y1), transparent.ToArgb()); vert[1] = new STexturedColoredVertex(new Vector3(rx1, -ry2, rect.Z + CGraphics.ZOffset), new Vector2(x1, y1), transparent.ToArgb());
vert[2] = new STexturedColoredVertex(new Vector3(rx2, -ry2, rect.Z + CGraphics.ZOffset), new Vector2(x2, y1), transparent.ToArgb()); vert[2] = new STexturedColoredVertex(new Vector3(rx2, -ry2, rect.Z + CGraphics.ZOffset), new Vector2(x2, y1), transparent.ToArgb());
vert[3] = new STexturedColoredVertex(new Vector3(rx2, -ry1, rect.Z + CGraphics.ZOffset), new Vector2(x2, y2), c.ToArgb()); vert[3] = new STexturedColoredVertex(new Vector3(rx2, -ry1, rect.Z + CGraphics.ZOffset), new Vector2(x2, y2), c.ToArgb());
_AddToVertexBuffer(vert, _D3DTextures[texture.Index], _CalculateRotationMatrix(rect.Rotation, rx1, rx2, ry1, ry2)); _AddToVertexBuffer(vert, _D3DTextures[texture.ID], _CalculateRotationMatrix(rect.Rotation, rx1, rx2, ry1, ry2));
} }
#endregion drawing #endregion drawing
@@ -1274,11 +1274,11 @@ namespace Vocaluxe.Lib.Draw
STextureQueue q = _Queue[0]; STextureQueue q = _Queue[0];
_Queue.RemoveAt(0); _Queue.RemoveAt(0);
Texture t; Texture t;
if (_D3DTextures.TryGetValue(q.Index, out t) && t != null) if (_D3DTextures.TryGetValue(q.ID, out t) && t != null)
continue; continue;
t = _CreateTexture(q.TextureWidth, q.TextureHeight, q.DataWidth, q.Data); t = _CreateTexture(q.TextureWidth, q.TextureHeight, q.DataWidth, q.Data);
_D3DTextures[q.Index] = t; _D3DTextures[q.ID] = t;
} }
} }
} }
+11 -11
View File
@@ -294,7 +294,7 @@ namespace Vocaluxe.Lib.Draw
CTexture texture = _GetNewTexture(bmp.Width, bmp.Height); CTexture texture = _GetNewTexture(bmp.Width, bmp.Height);
// Add to Texture List // Add to Texture List
_Textures[texture.Index] = texture; _Textures[texture.ID] = texture;
return texture; return texture;
} }
@@ -307,7 +307,7 @@ namespace Vocaluxe.Lib.Draw
texture = CopyScreen(); texture = CopyScreen();
} }
else else
_Bitmaps[texture.Index] = new Bitmap(_Backbuffer); _Bitmaps[texture.ID] = new Bitmap(_Backbuffer);
} }
public void MakeScreenShot() public void MakeScreenShot()
@@ -338,14 +338,14 @@ namespace Vocaluxe.Lib.Draw
CTexture texture = _GetNewTexture(bmp.Width, bmp.Height); CTexture texture = _GetNewTexture(bmp.Width, bmp.Height);
// Add to Texture List // Add to Texture List
_Textures[texture.Index] = texture; _Textures[texture.ID] = texture;
return texture; return texture;
} }
private CTexture _GetNewTexture(int w, int h) private CTexture _GetNewTexture(int w, int h)
{ {
return new CTexture(w, h) {Index = _Bitmaps.Count - 1}; return new CTexture(w, h) {ID = _Bitmaps.Count - 1};
} }
public CTexture AddTexture(string texturePath) public CTexture AddTexture(string texturePath)
@@ -369,15 +369,15 @@ namespace Vocaluxe.Lib.Draw
private bool _TextureExists(CTexture texture) private bool _TextureExists(CTexture texture)
{ {
return texture != null && _Textures.ContainsKey(texture.Index); return texture != null && _Textures.ContainsKey(texture.ID);
} }
public void RemoveTexture(ref CTexture texture) public void RemoveTexture(ref CTexture texture)
{ {
if (_TextureExists(texture)) if (_TextureExists(texture))
{ {
_Bitmaps[texture.Index].Dispose(); _Bitmaps[texture.ID].Dispose();
_Textures.Remove(texture.Index); _Textures.Remove(texture.ID);
} }
texture = null; texture = null;
} }
@@ -402,10 +402,10 @@ namespace Vocaluxe.Lib.Draw
{ {
if (_TextureExists(texture)) if (_TextureExists(texture))
{ {
BitmapData bmpData = _Bitmaps[texture.Index].LockBits(new Rectangle(0, 0, _Bitmaps[texture.Index].Width, _Bitmaps[texture.Index].Height), BitmapData bmpData = _Bitmaps[texture.ID].LockBits(new Rectangle(0, 0, _Bitmaps[texture.ID].Width, _Bitmaps[texture.ID].Height),
ImageLockMode.ReadWrite, PixelFormat.Format32bppArgb); ImageLockMode.ReadWrite, PixelFormat.Format32bppArgb);
Marshal.Copy(data, 0, bmpData.Scan0, data.Length); Marshal.Copy(data, 0, bmpData.Scan0, data.Length);
_Bitmaps[texture.Index].UnlockBits(bmpData); _Bitmaps[texture.ID].UnlockBits(bmpData);
return true; return true;
} }
return false; return false;
@@ -443,7 +443,7 @@ namespace Vocaluxe.Lib.Draw
{ {
if (!_TextureExists(texture)) if (!_TextureExists(texture))
return; return;
Bitmap coloredBitmap = _ColorizeBitmap(_Bitmaps[texture.Index], color); Bitmap coloredBitmap = _ColorizeBitmap(_Bitmaps[texture.ID], color);
_G.DrawImage(coloredBitmap, new RectangleF(rect.X, rect.Y, rect.W, rect.H)); _G.DrawImage(coloredBitmap, new RectangleF(rect.X, rect.Y, rect.W, rect.H));
coloredBitmap.Dispose(); coloredBitmap.Dispose();
} }
+35 -36
View File
@@ -65,16 +65,16 @@ namespace Vocaluxe.Lib.Draw
struct STextureQueue struct STextureQueue
{ {
public int Index; public readonly int ID;
public int TextureWidth; public readonly int TextureWidth;
public int TextureHeight; public readonly int TextureHeight;
public int DataWidth; public readonly int DataWidth;
public int DataHeight; public readonly int DataHeight;
public byte[] Data; public readonly byte[] Data;
public STextureQueue(int index, int textureWidth, int textureHeight, int dataWidth, int dataHeight, byte[] data) public STextureQueue(int id, int textureWidth, int textureHeight, int dataWidth, int dataHeight, byte[] data)
{ {
Index = index; ID = id;
TextureWidth = textureWidth; TextureWidth = textureWidth;
TextureHeight = textureHeight; TextureHeight = textureHeight;
DataWidth = dataWidth; DataWidth = dataWidth;
@@ -502,8 +502,8 @@ namespace Vocaluxe.Lib.Draw
{ {
CTexture texture = _GetNewTexture(_W, _H); CTexture texture = _GetNewTexture(_W, _H);
texture.ID = GL.GenTexture(); texture.Name = GL.GenTexture();
GL.BindTexture(TextureTarget.Texture2D, texture.ID); GL.BindTexture(TextureTarget.Texture2D, texture.Name);
GL.TexImage2D(TextureTarget.Texture2D, 0, PixelInternalFormat.Rgba, texture.W2, texture.H2, 0, PixelFormat.Bgra, PixelType.UnsignedByte, IntPtr.Zero); GL.TexImage2D(TextureTarget.Texture2D, 0, PixelInternalFormat.Rgba, texture.W2, texture.H2, 0, PixelFormat.Bgra, PixelType.UnsignedByte, IntPtr.Zero);
GL.CopyTexSubImage2D(TextureTarget.Texture2D, 0, 0, 0, _X, _Y, _W, _H); GL.CopyTexSubImage2D(TextureTarget.Texture2D, 0, 0, 0, _X, _Y, _W, _H);
@@ -517,8 +517,8 @@ namespace Vocaluxe.Lib.Draw
lock (_MutexTexture) lock (_MutexTexture)
{ {
texture.Index = _IDs.Dequeue(); texture.ID = _IDs.Dequeue();
_Textures[texture.Index] = texture; _Textures[texture.ID] = texture;
} }
return texture; return texture;
@@ -534,7 +534,7 @@ namespace Vocaluxe.Lib.Draw
} }
else else
{ {
GL.BindTexture(TextureTarget.Texture2D, texture.ID); GL.BindTexture(TextureTarget.Texture2D, texture.Name);
GL.CopyTexSubImage2D(TextureTarget.Texture2D, 0, 0, 0, 0, 0, GetScreenWidth(), GetScreenHeight()); GL.CopyTexSubImage2D(TextureTarget.Texture2D, 0, 0, 0, 0, 0, GetScreenWidth(), GetScreenHeight());
@@ -709,10 +709,9 @@ namespace Vocaluxe.Lib.Draw
w = MathHelper.NextPowerOfTwo(w); w = MathHelper.NextPowerOfTwo(w);
h = MathHelper.NextPowerOfTwo(h); h = MathHelper.NextPowerOfTwo(h);
CTexture texture = new CTexture(bmp.Width, bmp.Height, w, h, true); CTexture texture = new CTexture(bmp.Width, bmp.Height, w, h, true) {Name = GL.GenTexture()};
texture.ID = GL.GenTexture(); GL.BindTexture(TextureTarget.Texture2D, texture.Name);
GL.BindTexture(TextureTarget.Texture2D, texture.ID);
Bitmap bmp2 = null; Bitmap bmp2 = null;
try try
{ {
@@ -754,8 +753,8 @@ namespace Vocaluxe.Lib.Draw
lock (_MutexTexture) lock (_MutexTexture)
{ {
texture.Index = _IDs.Dequeue(); texture.ID = _IDs.Dequeue();
_Textures[texture.Index] = texture; _Textures[texture.ID] = texture;
} }
return texture; return texture;
@@ -769,8 +768,8 @@ namespace Vocaluxe.Lib.Draw
lock (_MutexTexture) lock (_MutexTexture)
{ {
texture.Index = _IDs.Dequeue(); texture.ID = _IDs.Dequeue();
_Textures[texture.Index] = texture; _Textures[texture.ID] = texture;
} }
return texture; return texture;
@@ -794,8 +793,8 @@ namespace Vocaluxe.Lib.Draw
} }
} }
texture.ID = GL.GenTexture(); texture.Name = GL.GenTexture();
GL.BindTexture(TextureTarget.Texture2D, texture.ID); GL.BindTexture(TextureTarget.Texture2D, texture.Name);
GL.TexImage2D(TextureTarget.Texture2D, 0, PixelInternalFormat.Rgba, texture.W2, texture.H2, 0, PixelFormat.Bgra, PixelType.UnsignedByte, IntPtr.Zero); GL.TexImage2D(TextureTarget.Texture2D, 0, PixelInternalFormat.Rgba, texture.W2, texture.H2, 0, PixelFormat.Bgra, PixelType.UnsignedByte, IntPtr.Zero);
GL.TexSubImage2D(TextureTarget.Texture2D, 0, 0, 0, w, h, PixelFormat.Bgra, PixelType.UnsignedByte, data); GL.TexSubImage2D(TextureTarget.Texture2D, 0, 0, 0, w, h, PixelFormat.Bgra, PixelType.UnsignedByte, data);
@@ -815,10 +814,10 @@ namespace Vocaluxe.Lib.Draw
lock (_MutexTexture) lock (_MutexTexture)
{ {
texture.Index = _IDs.Dequeue(); texture.ID = _IDs.Dequeue();
STextureQueue queue = new STextureQueue(texture.Index, texture.W2, texture.H2, w, h, data); STextureQueue queue = new STextureQueue(texture.ID, texture.W2, texture.H2, w, h, data);
_Queue.Add(queue); _Queue.Add(queue);
_Textures[texture.Index] = texture; _Textures[texture.ID] = texture;
} }
return texture; return texture;
@@ -845,7 +844,7 @@ namespace Vocaluxe.Lib.Draw
GL.UnmapBuffer(BufferTarget.PixelUnpackBuffer); GL.UnmapBuffer(BufferTarget.PixelUnpackBuffer);
GL.BindTexture(TextureTarget.Texture2D, texture.ID); GL.BindTexture(TextureTarget.Texture2D, texture.Name);
GL.TexSubImage2D(TextureTarget.Texture2D, 0, 0, 0, w, h, PixelFormat.Bgra, PixelType.UnsignedByte, IntPtr.Zero); GL.TexSubImage2D(TextureTarget.Texture2D, 0, 0, 0, w, h, PixelFormat.Bgra, PixelType.UnsignedByte, IntPtr.Zero);
@@ -857,7 +856,7 @@ namespace Vocaluxe.Lib.Draw
return true; return true;
} }
GL.BindTexture(TextureTarget.Texture2D, texture.ID); GL.BindTexture(TextureTarget.Texture2D, texture.Name);
GL.TexSubImage2D(TextureTarget.Texture2D, 0, 0, 0, w, h, PixelFormat.Bgra, PixelType.UnsignedByte, data); GL.TexSubImage2D(TextureTarget.Texture2D, 0, 0, 0, w, h, PixelFormat.Bgra, PixelType.UnsignedByte, data);
@@ -885,11 +884,11 @@ namespace Vocaluxe.Lib.Draw
{ {
lock (_MutexTexture) lock (_MutexTexture)
{ {
_IDs.Enqueue(texture.Index); _IDs.Enqueue(texture.ID);
GL.DeleteTexture(texture.ID); GL.DeleteTexture(texture.Name);
if (texture.PBO > 0) if (texture.PBO > 0)
GL.DeleteBuffers(1, ref texture.PBO); GL.DeleteBuffers(1, ref texture.PBO);
_Textures.Remove(texture.Index); _Textures.Remove(texture.ID);
} }
} }
texture = null; texture = null;
@@ -899,9 +898,9 @@ namespace Vocaluxe.Lib.Draw
{ {
lock (_MutexTexture) lock (_MutexTexture)
{ {
if (texture != null && _Textures.ContainsKey(texture.Index)) if (texture != null && _Textures.ContainsKey(texture.ID))
{ {
if (!checkIfLoaded || _Textures[texture.Index].ID > 0) if (!checkIfLoaded || _Textures[texture.ID].Name > 0)
return true; return true;
} }
} }
@@ -943,7 +942,7 @@ namespace Vocaluxe.Lib.Draw
if (bounds.Y > rect.Y + rect.H || bounds.Y + bounds.H < rect.Y) if (bounds.Y > rect.Y + rect.H || bounds.Y + bounds.H < rect.Y)
return; return;
GL.BindTexture(TextureTarget.Texture2D, texture.ID); GL.BindTexture(TextureTarget.Texture2D, texture.Name);
float x1 = (bounds.X - rect.X) / rect.W * texture.WidthRatio; float x1 = (bounds.X - rect.X) / rect.W * texture.WidthRatio;
float x2 = (bounds.X + bounds.W - rect.X) / rect.W * texture.WidthRatio; float x2 = (bounds.X + bounds.W - rect.X) / rect.W * texture.WidthRatio;
@@ -1040,7 +1039,7 @@ namespace Vocaluxe.Lib.Draw
{ {
if (!_TextureExists(texture)) if (!_TextureExists(texture))
return; return;
GL.BindTexture(TextureTarget.Texture2D, texture.ID); GL.BindTexture(TextureTarget.Texture2D, texture.Name);
GL.Enable(EnableCap.Blend); GL.Enable(EnableCap.Blend);
GL.Color4(color.R, color.G, color.B, color.A * CGraphics.GlobalAlpha); GL.Color4(color.R, color.G, color.B, color.A * CGraphics.GlobalAlpha);
@@ -1085,7 +1084,7 @@ namespace Vocaluxe.Lib.Draw
if (height > bounds.H) if (height > bounds.H)
height = bounds.H; height = bounds.H;
GL.BindTexture(TextureTarget.Texture2D, texture.ID); GL.BindTexture(TextureTarget.Texture2D, texture.Name);
float x1 = (bounds.X - rect.X) / rect.W * texture.WidthRatio; float x1 = (bounds.X - rect.X) / rect.W * texture.WidthRatio;
float x2 = (bounds.X + bounds.W - rect.X) / rect.W * texture.WidthRatio; float x2 = (bounds.X + bounds.W - rect.X) / rect.W * texture.WidthRatio;
@@ -1177,7 +1176,7 @@ namespace Vocaluxe.Lib.Draw
STextureQueue q = _Queue[0]; STextureQueue q = _Queue[0];
_Queue.RemoveAt(0); _Queue.RemoveAt(0);
CTexture texture; CTexture texture;
if (!_Textures.TryGetValue(q.Index, out texture)) if (!_Textures.TryGetValue(q.ID, out texture))
continue; continue;
_CreateTexture(texture, q.DataWidth, q.DataHeight, q.Data); _CreateTexture(texture, q.DataWidth, q.DataHeight, q.Data);
+3 -2
View File
@@ -5,9 +5,10 @@ namespace VocaluxeLib.Draw
{ {
public class CTexture public class CTexture
{ {
public int Index = -1;
public int PBO;
public int ID = -1; public int ID = -1;
public int PBO;
//Only used by OpenGL (the texture "name" according to the specs)
public int Name = -1;
public string TexturePath = ""; public string TexturePath = "";