三维软件开发笔记---彩色多边形填充

来源:互联网 发布:淘宝开店认证怎么弄 编辑:程序博客网 时间:2024/05/01 08:53

Captaion Dialog 2009-08-24   

 当需要对三维物体进行填充显示的时候,遇上的问题是如何进行渐变的颜色填充?

以前自己想的办法是在各个数据点附近进行数据的填充,但是这样一来,绘图的效率实在是太低了。

另外,采用小立方体的弊端还有就是这个颜色的变化不好控制,因为颜色的变化时根据数据点处的

值来确定的,所以更是难以定夺。

    经过一段时间的分析,决定还是用绘制四边形的方法较好。而且还可以做到根据各个定点处的颜

色进行四边形的渐变填充。

    关于四边形的彩色填充需要有两步进行:

Step1:在OpenGL进行初始化的时候,必须指明颜色模式为渐变的,否则没有效果。
    glShadeModel(GL_SMOOTH);

Step2:进行填充,注意彩色的混合时通过设置各个定点处的颜色来实现的。

    glBegin(GL_QUADS);


    glColor3f(1.0f,0.0f,0.0f);
    glVertex3f(fData_X[iX], fData_Y[iY], fData_Z[testDataGrid->iNUm_Z - 1]);


    glColor3f(0.0f,1.0f,0.0f);
    glVertex3f(fData_X[iX+1], fData_Y[iY], fData_Z[testDataGrid->iNUm_Z - 1]);


    glColor3f(0.0f,0.0f,1.0f);
    glVertex3f(fData_X[iX+1], fData_Y[iY+1], fData_Z[testDataGrid->iNUm_Z - 1]);


    glColor3f(1.0f,1.0f,1.0f);
    glVertex3f(fData_X[iX], fData_Y[iY+1], fData_Z[testDataGrid->iNUm_Z - 1]);


    glEnd();

 

实现效果如下: