OpenGL - 在曲面上映射点

时间:2012-04-24 02:40:58

标签: c++ opengl 3d

我正在寻找OpenGL中的一种技术,我可以使用它来映射表面上的颜色点。 每个点定义一个显示颜色和三个坐标(X,Y,Z)。 用于映射这些数据的表面是从主要用途(复杂形状)中的所有点坐标构建的,但是可以通常从标准形状(例如锥形或球形)构建。 由于点之间存在空隙(例如沿X轴的两点之间的一毫米步长),因此还需要在表面上插入点数据。 我正在考虑从点构建位图,然后在我的表面上应用这些位图,但我想知道OpenGL是否有一个允许以“智能方式”执行此操作的功能。

1 个答案:

答案 0 :(得分:0)

在我看来,你要求的是基本的OpenGl行为。

如果画一个三角形:

glBegin(GL_TRIANGLES);     
    glColor3f(1.0f,0.0f,0.0f);     // Red
    glVertex3f( 0.0f, 1.0f, 0.0f); // Top vertex
    glColor3f(0.0f,1.0f,0.0f);     // Green
    glVertex3f(-1.0f,-1.0f, 0.0f); // Bottom left vertex
    glColor3f(0.0f,0.0f,1.0f);     // Blue
    glVertex3f( 1.0f,-1.0f, 0.0f); // Bottom right vertex
glEnd();  

结果是一个平滑(如果装饰)彩色实心三角形。

所以你的问题是构造一系列覆盖你的表面并将点设置为顶点的多边形(可能只是三角形)。

有关OpenGl的精彩介绍,请参阅NeHe's tutorials,包括上面的示例。