OpenSubdiv是由Pixar Animation Studios开发的开源细分曲面库,其版本号为OPENSUBDIV_VERSION。Osd.MTLComputeEvaluator是其中的一个模块,用于在Metal Compute Shaders中计算细分曲面的评估器。
在Metal Compute Shaders中计算细分曲面的评估器。
首先,您需要将Osd.MTLComputeEvaluator模块添加到您的OpenSubdiv项目中。
通过以下代码引用Osd.MTLComputeEvaluator模块:
#include <opensubdiv/osd/mtlComputeEvaluator.h>
创建Osd.MTLComputeEvaluator对象:
Osd::MtlComputeEvaluator evaluator(numVertexElements, numVaryingElements, numVertexTextureElements, numVaryingTextureElements, true, true);
参数解释:
调用Osd.MtlComputeEvaluator的Evaluate()函数计算细分曲面:
evaluator.Evaluate(vertexBuffer, varyingBuffer, vertexTextureBuffer, varyingTextureBuffer, indexBuffer, vertexValenceBuffer, subdivisionScheme, kernelBatches);
参数解释:
当评估完成后,计算的结果将存储在vertexBuffer和varyingBuffer中,您可以将其用于渲染。