DirectX 计算着色器 (HLSL):如何访问字符串中的单个字符?



在DirectCompute着色器中,有一个采用字符串类型参数的函数,如何访问单个字符?

例:

uint TestFunc(string S, uint I)
{
return uint(S[I]);
}

编译器抱怨 S[I]:"错误 X3121:索引表达式中预期的数组、矩阵、向量或可索引对象类型"。

知道吗?

来自 MS 文档:

HLSL 还支持字符串类型,即 ASCII 字符串。没有接受字符串的操作或状态,但效果可以查询字符串参数和批注。

HLSL 中存在字符串,但你几乎无法对它们执行任何操作。根据您的需要,您可能希望将字符串作为数组而不是字符串或字节RWStructuredBuffer传递给着色器,然后执行与 ASCII 之间的转换。

相关内容

  • 没有找到相关文章

最新更新