0

我有一个均匀采样的距离网格:

D(x_i, y_j, z_k),其中

x_i = x0 + i*dx, 0 <= i < nx

y_j = y0 + j*dy, 0 <= j < ny

z_k = z0 + k*dz, 0 <= k < nz

我想将此网格中的每个单元格传递给几何着色器并输出 0 到 5 个三角形,如行进立方体算法中指定的那样。

我正在考虑使用统一值将 x0、dx、y0、dy、z0、dz 和轮廓值发送到着色器,并将单元格的索引编码为点的位置:

glBegin(GL_POINTS);
for(int i = 0; i < nx - 1; i++) {
    for(int j = 0; j < ny - 1; j++) {
        for(int k = 0; k < nz - 1; k++) {
            glVertex3f(i, j, k); 
        }
    }
}
glEnd();

然而,在几何着色器内部,我必须查找 (i,j,k) 单元格中 8 个角的距离值。如何将 3D 距离数组传递给几何着色器?

4

0 回答 0