8得票2回答
在DirectX中加载和保存PNG纹理时缺少一些颜色?

我使用标准的DirectX函数(例如CreateTexture2D,D3DX11SaveTextureToFile和D3DX11CreateShaderResourceViewFromFile)来加载PNG图像,将其渲染到新创建的纹理上,然后保存到文件。所有纹理都是2的幂大小。 但是,在此期...

8得票3回答
DirectX 11 帧缓存捕获(C++,无 Win32 或 D3DX)

我希望通过DirectX 11将我的前端或后端缓冲区的内容捕获到字节数组中,然后我可以将其用作纹理或用作创建文件的源。我已经设置了交换链并进行了大量渲染,目前有以下代码 - 我确保在调用Present之后调用它。请注意,html标签已被保留。 ID3D11Texture2D* pSurfac...

8得票3回答
D3D11:如何将GDI文本绘制到GXDI表面?(无需D2D)

我需要一些关于使用GDI和D3D11将文本绘制到纹理上的帮助。我尝试使用D2D/DirectWrite,但它只支持D3D10,而不是我需要的D3D11。到目前为止,我尝试的一切都失败了... 现在我想使用GDI方法来写入纹理。 因此我创建了一个具备以下参数的纹理: Usage = D3D11...

8得票1回答
DirectX11 2个窗口渲染

如何使用DirectX将我的对象渲染到2个分离的窗口中?

8得票1回答
DirectX 11 - 计算着色器:写入到输出资源

我刚开始使用DirectX 11中的计算着色器阶段,但在写入计算着色器的输出资源时遇到了一些不想要的行为。据我理解,我只得到了零作为输出,这意味着在计算着色器中执行了越界读取。(越界写入会导致无操作)。 创建计算着色器组件 输入资源 首先,我创建一个用于输入数据的ID3D11Buffer...

7得票3回答
D3D11:如何绘制一个简单的像素对齐线?

我尝试使用D3D11绘制两个顶点之间的线段。我在D3D9和D3D11上都有一些经验,但是在D3D11中绘制一条从一个像素开始到另一个像素结束的线段似乎是有问题的。 我所做的是: 我将每个顶点的像素坐标增加了0.5f,以适应纹理/像素坐标系统(我阅读了Microsoft页面,了解了D3D9...

7得票1回答
在一次渲染中将图像渲染到完整的三维渲染目标

使用DirectX 11,我创建了一个可以绑定为渲染目标的三维体素纹理: D3D11_TEXTURE3D_DESC texDesc3d; // ... texDesc3d.Usage = D3D11_USAGE_DEFAULT; texDesc3d.BindFlags = D3D11...

7得票2回答
使用DirectX11像素着色器将BGRA格式的绿色图像转换为YUV444格式。

  我是HLSL的新手。我正在尝试使用纹理作为渲染目标,将使用DXGI桌面复制API捕获的图像的颜色空间从BGRA转换为YUV444。   我已将我的像素着色器设置为执行所需的转换。并且使用渲染目标纹理中的4:2:0子采样YUV,并使用ffmpeg将其编码为H264,我可以看到图像。   问...

7得票1回答
使用多个视频适配器(GPU)的PC上的DirectX11

通常,DirectX11的初始化始于创建一个DirectX11设备: D3D_DRIVER_TYPE driverTypes[] = { D3D_DRIVER_TYPE_HARDWARE, D3D_DRIVER_TYPE_WARP, D3D_DRIVER_TYPE_R...

7得票2回答
缓冲区、结构化缓冲区和字节寻址缓冲区(以及它们的RW变体)之间是否存在性能差异?

我尝试在各个网站上查找这个问题的答案,包括关于DirectX 11计算着色器类型的MS Docs文档;但是我没有找到任何提及这些缓冲区类型性能差异的内容。 它们在性能方面完全相同吗? 如果不是,那么在各种情况下使用每种缓冲区的最佳方式是什么?