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();
实现效果如下: