金属着色器中采样器lod_options(MSL)的正确用法是什么?

问题描述 投票:0回答:1

我正在尝试通过Metal Shading Language Specification学习MSL,并看到您可以通过在sample函数中指定选项来采样纹理时设置LOD选项。这是规范中给出的示例之一:

Tv sample(sampler s, float2 coord, lod_options options, int2 offset = int2(0)) const

[lod_options包括偏差,水平,gradient2d等。

我看遍了所有内容,但找不到此用法的语法。这些是命名参数吗? lod_options是结构吗?例如,如果我要指定LOD级别,正确​​的方法是什么?我知道也可以在sampler对象本身中指定这些选项,但是如果我想在此处执行操作,那么正确的语法是什么?

ios metal metalkit
1个回答
0
投票

没有这样的lod_options类型;您可以将其视为biaslevelgradient2d等类型之一的占位符。这些类型中的每一个都是不同的结构,从而允许Metal标准库为每个此类选项提供sample函数的重载变体。

例如,要指定要采样的mipmap级别,请提供level类型的参数:

float4 color = myTexture.sample(mySampler, coords, level(1));
© www.soinside.com 2019 - 2024. All rights reserved.