我正在尝试在 Direct3D 中将 2D 图像绘制到屏幕上,我假设必须通过将纹理映射到投影以填充屏幕的矩形广告牌多边形来完成。(我不感兴趣或不能使用 Direct2D。)我在 SDK 中找到的所有纹理信息都描述了从文件加载位图并分配纹理以使用该位图,但我还没有找到一种操作方法逐像素位图的纹理。
我真正想要的是一个功能,例如
void TextureBitmap::SetBitmapPixel(int x, int y, DWORD color);
如果我不能直接在纹理对象中设置像素,我是否需要保留一个作为位图的 DWORD 数组,然后将纹理分配给每一帧?
最后,虽然我最初假设我将在 CPU 上执行此操作,但每个像素的颜色计算也可能在 GPU 上完成。是设置纹理中单个像素颜色的 HLSL 代码,还是像素着色器仅对修改显示像素有用?
谢谢。