0

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

例子:

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

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

任何想法?

4

1 回答 1

0

来自 MS 文档:

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

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

于 2019-08-22T13:08:19.643 回答