if (TexturesPtrMap.ContainsKey(item.TeFace.TextureID))
{
- item.Data.TextureInfo = TexturesPtrMap[item.TeFace.TextureID];
- GL.BindTexture(TextureTarget.Texture2D, item.Data.TextureInfo.TexturePointer);
+ item.Info = TexturesPtrMap[item.TeFace.TextureID];
+ GL.BindTexture(TextureTarget.Texture2D, item.Info.TexturePointer);
continue;
}
- if (LoadTexture(item.TeFace.TextureID, ref item.Data.TextureInfo.Texture, false))
+ if (LoadTexture(item.TeFace.TextureID, ref item.Info.Texture, false))
{
- GL.GenTextures(1, out item.Data.TextureInfo.TexturePointer);
- GL.BindTexture(TextureTarget.Texture2D, item.Data.TextureInfo.TexturePointer);
+ GL.GenTextures(1, out item.Info.TexturePointer);
+ GL.BindTexture(TextureTarget.Texture2D, item.Info.TexturePointer);
- Bitmap bitmap = (Bitmap)item.Data.TextureInfo.Texture;
+ Bitmap bitmap = (Bitmap)item.Info.Texture;
bool hasAlpha;
- if (item.Data.TextureInfo.Texture.PixelFormat == System.Drawing.Imaging.PixelFormat.Format32bppArgb)
+ if (item.Info.Texture.PixelFormat == System.Drawing.Imaging.PixelFormat.Format32bppArgb)
{
hasAlpha = true;
}
{
hasAlpha = false;
}
- item.Data.TextureInfo.HasAlpha = hasAlpha;
+ item.Info.HasAlpha = hasAlpha;
bitmap.RotateFlip(RotateFlipType.RotateNoneFlipY);
Rectangle rectangle = new Rectangle(0, 0, bitmap.Width, bitmap.Height);
GL.TexParameter(TextureTarget.Texture2D, TextureParameterName.TextureMinFilter, (int)TextureMinFilter.Linear);
}
- TexturesPtrMap[item.TeFace.TextureID] = item.Data.TextureInfo;
+ TexturesPtrMap[item.TeFace.TextureID] = item.Info;
bitmap.UnlockBits(bitmapData);
- bitmap.Dispose();
- item.Data.TextureInfo.Texture = null;
+ item.Info.Texture.Dispose();
+ item.Info.Texture = null;
GL.Flush();
SafeInvalidate();
var textureItem = new TextureLoadItem()
{
- Data = data,
+ Info = data.TextureInfo,
Prim = prim,
TeFace = teFace
};
\r
if (TexturesPtrMap.ContainsKey(item.TeFace.TextureID))\r
{\r
- item.Data.TextureInfo = TexturesPtrMap[item.TeFace.TextureID];\r
- GL.BindTexture(TextureTarget.Texture2D, item.Data.TextureInfo.TexturePointer);\r
+ item.Info = TexturesPtrMap[item.TeFace.TextureID];\r
+ GL.BindTexture(TextureTarget.Texture2D, item.Info.TexturePointer);\r
\r
continue;\r
}\r
\r
- if (LoadTexture(item.TeFace.TextureID, ref item.Data.TextureInfo.Texture, false))\r
+ if (LoadTexture(item.TeFace.TextureID, ref item.Info.Texture, false))\r
{\r
- Bitmap bitmap = (Bitmap)item.Data.TextureInfo.Texture;\r
+ Bitmap bitmap = (Bitmap)item.Info.Texture;\r
\r
bool hasAlpha;\r
- if (item.Data.TextureInfo.Texture.PixelFormat == System.Drawing.Imaging.PixelFormat.Format32bppArgb)\r
+ if (item.Info.Texture.PixelFormat == System.Drawing.Imaging.PixelFormat.Format32bppArgb)\r
{\r
hasAlpha = true;\r
}\r
hasAlpha = false;\r
}\r
\r
- item.Data.TextureInfo.HasAlpha = hasAlpha;\r
+ item.Info.HasAlpha = hasAlpha;\r
bitmap.RotateFlip(RotateFlipType.RotateNoneFlipY);\r
- item.Data.TextureInfo.TexturePointer = GLLoadImage(bitmap, hasAlpha);\r
- TexturesPtrMap[item.TeFace.TextureID] = item.Data.TextureInfo;\r
+ item.Info.TexturePointer = GLLoadImage(bitmap, hasAlpha);\r
+ TexturesPtrMap[item.TeFace.TextureID] = item.Info;\r
\r
- bitmap.Dispose();\r
- item.Data.TextureInfo.Texture = null;\r
+ item.Info.Texture.Dispose();\r
+ item.Info.Texture = null;\r
}\r
}\r
Logger.DebugLog("Texture thread exited");\r
}\r
else if (Avatars.TryGetValue(prim.ParentID, out parentav))\r
{\r
- //close enough for the moment, PrimPos is only used for culling so an arse-tachment should be close enough\r
- //return parentav.avatar.Position + prim.Position * Matrix4.CreateFromQuaternion(parentav.avatar.Rotation);\r
- return Vector3.Zero; // Attachments will be culled and not displayed\r
+ var avPos = PrimPos(parentav.avatar);\r
+ \r
+ return avPos + prim.Position * Matrix4.CreateFromQuaternion(parentav.avatar.Rotation);\r
}\r
else\r
{\r
- return Vector3.Zero;\r
+ return new Vector3(99999f, 99999f, 99999f);\r
}\r
}\r
}\r
data.TextureInfo.TextureID = TEF.TextureID;\r
var textureItem = new TextureLoadItem()\r
{\r
- Data = data,\r
+ Info = data.TextureInfo,\r
Prim = ra.avatar,\r
TeFace = ra.avatar.Textures.FaceTextures[fi]\r
};\r
\r
var textureItem = new TextureLoadItem()\r
{\r
- Data = data,\r
+ Info = data.TextureInfo,\r
Prim = prim,\r
TeFace = teFace\r
};\r