我正在使用 C# 和托管 Direct3D 来创建一个正方形。这个正方形的纹理是我的桌面(屏幕截图)。我使用 Direct3D 截取屏幕截图(需要 70 毫秒),然后我重新制作纹理以显示在正方形上(需要 1000 毫秒)。
如何在 Direct3D 中立即创建纹理以获得实时视图?Bellow 是我目前创建要使用的纹理的方式。
using (Bitmap bmp = new Bitmap(bounds.Width, bounds.Height, System.Drawing.Imaging.PixelFormat.Format32bppArgb))
{
bitmapData = bmp.LockBits(bounds, ImageLockMode.ReadWrite, PixelFormat.Format32bppArgb);
Marshal.Copy(screenData, 0, bitmapData.Scan0, screenData.Length);
bmp.UnlockBits(bitmapData);
texture = Texture.FromBitmap(d3dDevice, bmp, 0, Pool.SystemMemory);
}