OpenSubdiv.OPENSUBDIV_VERSION.Osd.GLComputeEvaluator是一个用于计算OpenGL计算着色器的类。它是OpenSubdiv几何细分库的一部分,提供高效的计算着色器实现,以便在GPU上进行细分。
Osd.GLComputeEvaluator类的实例通常使用Osd.GLVertexBuffer对象作为输入。它为每个顶点计算一个新的位置,并返回一个新的Osd.GLVertexBuffer对象。
import OpenSubdiv as osd
# 创建Osd.GLComputeEvaluator对象
evaluator = osd.Osd.GLComputeEvaluator()
# 使用Osd.GLVertexBuffer对象进行计算
input_vertices = osd.Osd.GLVertexBuffer()
output_vertices = evaluator.evaluate(input_vertices)
evaluate(input_vertices: Osd.GLVertexBuffer) -> Osd.GLVertexBuffer
计算输入缓冲区中的每个顶点的新位置,并返回一个新的Osd.GLVertexBuffer对象,其中包含新的顶点位置。
input_vertices
:Osd.GLVertexBuffer对象,包含输入顶点数据。Osd.GLVertexBuffer
:包含新的顶点位置数据的Osd.GLVertexBuffer对象。Osd.GLComputeEvaluator类的顶点属性可以通过以下绑定点访问:
kVertexBuffer
:用于顶点位置属性的绑定点。kVertexValenceBuffer
:用于顶点度数(相邻顶点数量)属性的绑定点。kQuadOffsetBuffer
:用于记录每个子细分曲面的偏移量的绑定点。kPatchLevelBuffer
:用于记录每个子细分曲面的细分级别的绑定点。在使用Osd.GLComputeEvaluator类之前,必须确保OpenGL和GLSL 4.0+在系统上可用并正确安装。此外,还需要支持OpenGL Compute Shader扩展。