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

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();

 

实现效果如下:

 

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值