gpt4 book ai didi

c# - DirectX 实时纹理

转载 作者:太空宇宙 更新时间:2023-11-03 16:32:03 25 4
gpt4 key购买 nike

我正在使用 C# 和托管 Direct3D 创建一个正方形。这个正方形的纹理是我的桌面(屏幕截图)。我使用 Direct3D 截取屏幕截图(需要 70 毫秒),然后重新制作纹理以显示在正方形上(需要 1000 毫秒)。

如何在 Direct3D 中即时创建纹理以获得实时 View ?下面是我目前创建要使用的纹理的方式。

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);
}

最佳答案

您的代码没问题。你需要一个 mipmap 吗?如果您采用默认格式,Dx 将生成一个 mipmap,这将增加生成纹理的时间以及将其推送到 GPU 的时间,因为它会大得多。

出于好奇,screenData 的类型是什么?

关于c# - DirectX 实时纹理,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10493980/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com