在 texture2D 中绘制线条和字符(DirectCompute HLSL 编程)

Drawing lines and characters in a texture2D (DirectCompute HLSL programming)

我搜索了很多但没有找到如何让计算着色器在 texture2D 中绘制线条和字符。

我的应用程序必须进行大量处理并在 texture2D 中生成位图,然后将其呈现在屏幕上并下载回 CPU 最后保存在文件中。生成位图后,我必须绘制线条(和其他简单的几何形状)以及字符串来注释位图。我卡在这个阶段了。

顺便说一句:我正在使用 MSVC2015,DirectX/DirectCompute11,NVidia K4200 GPU。

感谢任何帮助。

我终于通过实现经典算法在光栅化图像上画线解决了我的问题。我从这个 code 开始,它是 C 代码,但很容易转换为 HLSL。此实现生成任意粗细的线条。

我还编写代码以旧方式将字符写入 texture2D:我得到了一个点阵字体(可以在 Internet 上免费找到),存储在 ByteAddressBuffer 中并将像素从该字体复制到纹理二维。我通过向 texture2D 中给定坐标处的 "print" 各种数据编写一些函数来使其易于使用。这非常适合我的需要。