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

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

本文关键字:DirectCompute HLSL 编程 字符 texture2D 绘制      更新时间:2023-10-16

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

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

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

任何帮助表示赞赏。

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

我还编写了代码以旧方式将字符写入 texture2D:我得到了一个点阵字体(在互联网上有很多免费找到(,存储在 ByteAddressBuffer 中并将像素从该字体复制到 texture2D。我通过编写一些函数来"打印"纹理2D中给定坐标处的各种数据,使其易于使用。这对我需要的东西非常有效。