【问题标题】:What the equivalent of glStencilFunc in Metal?什么相当于 Metal 中的 glStencilFunc?
【发布时间】:2020-02-28 17:03:52
【问题描述】:

如何在金属中翻译这条 OpenGL 指令:

glStencilFunc(Func, Ref, Mask);

【问题讨论】:

    标签: objective-c xcode opengl metal metalkit


    【解决方案1】:

    MTLStencilDescriptor 定义深度和模板状态对象的正面或背面模板操作的对象。

    模板测试是在掩码参考值和 存储在模板附件中的屏蔽值。 (一个值被 使用 readMask 值对其执行逻辑与运算。) MTLStencilDescriptor 对象定义了如何更新 模板附件,基于模板测试的结果和 深度测试。

    stencilCompareFunction 属性定义了模板测试。这 stencilFailureOperation、depthFailureOperation 和 depthStencilPassOperation 属性指定对模板执行的操作 存储在模板附件中的值,用于三种不同的测试 结果:如果模板测试失败,如果模板测试通过并且 深度测试失败,或者如果模板和深度测试都成功, 分别。 writeMask 确定可以修改哪些模板位 作为模板操作的结果。


    我知道在哪里放置 Func 和 Mask 的值 MTLStencilDescriptor,但是 REF 的值去哪了?

    setStencilReferenceValue 为正面和背面模板比较测试设置模板参考值。

    【讨论】:

    • 感谢@0xBFE1A8,我看到了将 Func 和 Mask 的值与 MTLStencilDescriptor 放在哪里,但是 REF 的值在哪里?
    猜你喜欢
    • 2019-09-23
    • 1970-01-01
    • 2018-04-16
    • 1970-01-01
    • 2018-12-15
    • 2020-04-26
    • 2019-09-12
    • 2021-12-17
    • 1970-01-01
    相关资源
    最近更新 更多