首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >GL_QUAD_STRIPS平滑色

GL_QUAD_STRIPS平滑色
EN

Stack Overflow用户
提问于 2016-03-10 05:40:05
回答 1查看 294关注 0票数 0

我试着用OpenGL绘制这张彩色地图

地图

当使用QUADS时,结果看起来很好:

代码语言:javascript
复制
int colorArr[] = { 255, 224, 192, 160, 128, 96, 64, 32 };
gluOrtho2D(-2, 2, -2, 2);
glPolygonMode(GL_FRONT, GL_FILL);

glDisable(GL_COLOR_LOGIC_OP);
glClear(GL_COLOR_BUFFER_BIT);
glBegin(GL_QUADS);
for (int i = 0; i < 8; i++) {
    glColor3ub(colorArr[7 - i], 0, 0);
    glVertex2f(-4, i - 4);
    glVertex2f(4, i - 4);
    glVertex2f(4, i - 4 + 1);
    glVertex2f(-4, i - 4 + 1);
}
glEnd();

glEnable(GL_COLOR_LOGIC_OP);
glLogicOp(GL_OR);

glBegin(GL_QUADS);
for (int i = 0; i < 8; i++) {
    glColor3ub(0, colorArr[i], 0);
    glVertex2f(i - 4, 4);
    glVertex2f(i - 4, -4);
    glVertex2f(i - 4 + 1, -4);
    glVertex2f(i - 4 + 1, 4);
}
glEnd();

glFlush();

但是,如果我使用QUAD_STRIPS绘制多边形,颜色就会在线条之间变得平滑:

代码语言:javascript
复制
int colorArr[] = { 255, 224, 192, 160, 128, 96, 64, 32 };
gluOrtho2D(-2, 2, -2, 2);
glPolygonMode(GL_FRONT, GL_FILL);

glDisable(GL_COLOR_LOGIC_OP);
glClear(GL_COLOR_BUFFER_BIT);

glBegin(GL_QUAD_STRIP);
for (int i = 0; i < 8; i++) {
    glColor3ub(colorArr[7 - i], 0, 0);
    glVertex2f(-4, i - 4);
    glVertex2f(4, i - 4);
}
glVertex2f(-4, 4);
glVertex2f(4, 4);
glEnd();

glEnable(GL_COLOR_LOGIC_OP);
glLogicOp(GL_OR);

glBegin(GL_QUAD_STRIP);
for (int i = 0; i < 8; i++) {
    glColor3ub(0, colorArr[i], 0);
    glVertex2f(i - 4, 4);
    glVertex2f(i - 4, -4);
}
glVertex2f(4, 4);
glVertex2f(4, -4);
glEnd();
glFlush();

你知道为什么吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-03-10 06:06:02

您正在绘制的四层条形图与此相当:

代码语言:javascript
复制
glBegin(GL_QUADS);
for (int i = 0; i < 7; i++) {
    glColor3ub(colorArr[7 - i], 0, 0);
    glVertex2f(-4, i - 4);
    glVertex2f(4, i - 4);
    glColor3ub(colorArr[7 - i+1], 0, 0);
    glVertex2f(4, i - 4 + 1);
    glVertex2f(-4, i - 4 + 1);
}

您将每两个顶点更改一次颜色,并将该颜色作为下一个/先前点的属性进行内插。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/35908471

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档