gpt4 book ai didi

ios - Swift 5 中的 Metal 顶点着色器警告

转载 作者:可可西里 更新时间:2023-11-01 01:44:34 24 4
gpt4 key购买 nike

我从 Apple 的示例代码中得到了这个直通顶点着色器:

vertex VertexIO vertexPassThrough(device packed_float4 *pPosition  [[ buffer(0) ]],
device packed_float2 *pTexCoords [[ buffer(1) ]],
uint vid [[ vertex_id ]])
{
VertexIO outVertex;

outVertex.position = pPosition[vid];
outVertex.textureCoord = pTexCoords[vid];

return outVertex;
}

这在 Swift 4/Xcode 10/iOS 12 中有效。现在我使用 Swift 5/Xcode 11/iOS 13,我收到这个警告:

writable resources in non-void vertex function

最佳答案

您需要确保着色器只能从这些缓冲区中读取,因此您需要将声明更改为const device:

vertex VertexIO vertexPassThrough(const device packed_float4 *pPosition  [[ buffer(0) ]],
const device packed_float2 *pTexCoords [[ buffer(1) ]],
uint vid [[ vertex_id ]])
{
...
}

关于ios - Swift 5 中的 Metal 顶点着色器警告,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57692571/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com