繁体   English   中英

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

[英]What is the correct usage of sampler lod_options (MSL) in Metal shader?

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

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

lod_options包括bias、level、gradient2d 等。

我已经查看了所有内容,但找不到用于此的使用语法。 这些是命名参数吗? lod_options是结构吗? 例如,如果我想指定 LOD 级别,那么正确的做法是什么? 我知道这些选项也可以在采样器对象本身中指定,但是如果我想在这里这样做,那么这样做的正确语法是什么?

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

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

float4 color = myTexture.sample(mySampler, coords, level(1));

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM